Содержание
SFSLinux
121114 sfslinux@gmail.com
- Серия любительских дистрибутивов LiveCD Linux на базе Debian и Ubuntu c использованием идей и скриптов www.puppyrus.org.
- В название не закладывалось никакого смысла , кроме squashfs (не Ф.И.О)
- Новости, обсуждение http://uco.puppyrus.org/forum/thread176.html
Сокращения в тексте
- .sfs -подключаемый модуль
- /live - директория дистрибутива, в которой находятся ядро, initrd, базовый.sfs
- .squashfs - live-boot метод подключения модулей при загрузке ОС
Основные характеристики
- frugal : установка системы сводится к копированию нескольких файлов. При сохраненке.s*fs - «неубиваемый» дистрибутив (после перезагрузки - все в исходном состоянии).
- Полноценный debian(ubuntu). Возможность установки софта через apt
- Скорость загрузки больше чем у Woof Puppy
- Работа не из под root. sudo
- Файл сохранения создается скриптом: sudo live-make .Несколько вариантов:
- раздел HDD, файл
- .squashfs
- .cpio.gz
- Размер основного модуля менее 200Mb. Минимум включенного ПО
- ПО в виде подключаемых модулей squashfs. Автоподгрузка Вашего списка модулей при загрузке системы с заменой или без файлов базового модуля. Возможность загрузки готовых модулей через интернет.
- Возможна работа с CD, USB flash, HDD. «Карманный Linux»
- Возможна загрузка всей системы и программ в память (RAM). Дает скорость, экономию батареи, шумопонижение
- MultiWM
- MultiKernel, PAE. Возможность менять ядра.
- Только русская локализация. Остальные вырезаны. Можно доустановить
- apt и полная совместимость с .deb репозиториями
Скачать
Идеология
История:
Зарождение идеи произошло при ознакомлении с live-boot (Dеbian) и load_sfs (www.PuppuRus.org). 2011 год
3 источника и 3 составные части
- Puppy: frugal, модули.sfs
- Debian: live-boot, apt-get
Варианты применения
- Переносной desktop. Ваша ОС всегда с Вами на usbflash. Возможна загрузка нескольких live-rw-… , настроенных под разные задачи и пользователей. Экономия батарей ноутбука при загрузке всех модулей в память
- Ремонтно-восстановительные работы, поиск в интернет драйвера сетевой карты для свежеустановленной другой ОС.
- Самые смелые эксперименты с ОС , ПО без вреда для установленной ОС
- Простое (за счет apt-*) создание sfs, pet для Puppy linux
Направление развития SFSL
- Усовершенствование sfs* скриптов (например, заимствование из puppy gtkdialog3 скриптов)
- Уменьшение размера базового комплекта
- чистка
- вынос ПО в sfs
- подбор легковесного ПО, оптимизация
- Графическое оформление
- Поиск «золотой середины» между функциональностью скоростью и ресурсоемкостью
- Выработка методики, позволяющей минимально подготовленным пользователям создавать live - frugal дистрибутив и .sfs под свои нужды на базе любого другого дистрибутива
(…или хотя бы улучшение подготовленности пользователя в процессе создания и популяризация linux )
Ищу единомышленников!
Похожие дистрибутивы
puppy | |
---|---|
deb | grml, knoppix, pureos |
arch | ctkarch |
slack | porteus |
mandriva | magos |
Установка, загрузка
Запуск в VirtualBox
Обязательно в свойствах: Система-Процессор- Включить PAE/NX
Установка на hdd, usbflash
- Установить (или модифицировать имеющийся) загрузчик
- grub4dos включен в SFSL: cat /BOOT/grub4dos/install/install.txt. Или установите штатными средствами любого puppy. Подробности в документации в корне CD
- Подойдет grub, grub2 (любой linux загрузчик)
- Переписать все файлы в корень любого раздела
- Будьте внимательны с путями или регистром в menu.lst
- Проверить: в командном режиме grub4dos : ls /_sfsl
Если не уверены в себе - устанавливайте загрузчик на usbflash. Файлы при этом могут располагаться на любом другом носители. SFSL в этом случае никак не повлияет на другие установленные у Вас на hdd ОС
Неквалифицированно установленный на hdd загрузчик может привести к тому, что другие ОС перестанут загружаться. И это не является проблемой SFSL
Как из SFSl сделать FULL
Теряется весь смысл задумки. Лучше поставить с обычный Debian. Но если вы 1 пользователь на стационарном пк и не склонны к экспериментам:
- Разметить диск. Нужен как минимум 1 раздел ext* под / и раздел swap
- Установить линукс-загрузчик или использовать имеющийся. Утилиты установки grub4dos в .iso /boot/grub4dos/install
- Загрузить sfsl со всеми нужными Вам модулями и сохраненками
- Переписать все на подготовленный раздел. Не забыль про ядро и initrd
- Поправить загрузчик на стандартные (не live-boot параметры ядра). Например: /boot/vmlinuz1 root=UUID=4db63c04-36a5-4da3-862e-c3aa82c48fd3 ro quiet splash
Варианты загрузки (mode в параметрах ядра)
Задается при загрузке в параметрах ядра (см. /menu.lst)
- Подробности: man live-boot
- sfrugal. Документация доступна из grub4dos (help.txt.gz в корне CD)
Persistent mode
- Ваши настройки, изменения хранятся в файле /live-rw (или разделе с меткой live-rw).
- «Жирные» директории (например download) можно сим.линками вынести в удобное место
- Пример: перенос дирректории ~/download на /media/sda2
- т.е. из файла live-rw на hdd
- То же, более интерактивно, в mc : F6; Ctrl-x-s
mv ~/download /media/sda2/ ln -s /media/sda2/download ~/
- Удобно для повседневной работы и крупных экспериментов с сохранением результатов
- При наличии /live-home (не обязательно, достаточно одного /live-rw) - /home/q располагается в /live-home
- /live/image (раздел с файлами дистрибутива) доступен root-у на запись
- Создание live-rw (должен располагаться в корне ext раздела):
sh /mk-live.rw.sh
Использование раздела диска в качестве live-rw ( с live-home аналогично)
- Устанавливаем (sudo apt-get update;sudo apt-get install gparted) или подключаем (sudo sfs-get gparted)
- sudo -s; export DISPLAY=:0.0 && gparted
- Выбираем или создаем раздел. Файловая система желательна ext4
- Присваиваем ему метку live-rw ( с live-home аналогично)
Live mode
- Загрузка всех /live/*.squashfs модулей.
- Ваши настройки, изменения хранятся в памяти. После перезагрузки пропадают
- /live/image доступен только на чтение
- Удобно для ознакомления с CD
Live toram mode
- Загрузка только указанного (основного) .squashfs модуля.
- Ваши настройки, изменения хранятся в памяти. После перезагрузки пропадают
- Все разделы доступны на запись
- Удобно для небольших экспериментов с ручным сохранением результатов. Например, для создания своего .sfs модуля. Особенно при использовании совместно с persistent в качестве чистового варианта
Модули .s*fs
В качестве GUI для работы с .sfs можно использовать sfs-get или mnt_sfs вместе с любым файловым менеджером
Подключение и отключение
mount_sfs модуль.sfs (GUI)
или sfsmnt [-u] [-r] модуль.sfs. Подробности: sfsmnt –help Отключение : sfsumnt [-u] [-r] модуль.sfs.
Изготовление
Самый простой рецепт создания своего модуля:
sudo apt-get update; sudo apt-get install то,что_Вам_нужно; sudo live-snapshot -t squashfs
Вообще такой модуль хорошо бы
- unsquashfs
- почистить /var ; /usr/share doc, locale и т.п.
- mksquashfs … (можно через mc F2 меню)
Рецепт 1 (сложный)
Ниже есть 2 попроще, но модуль даст большего размера
- В /live/cow система хранит все сделанные Вами после загрузки изменения
- Загрузиться без сохраненок
- sudo apt-get update;sudo apt-get –no-install-recommends install ваша_программа
- Убедиться в работоспособности
- Проанализировать /live/cow и /var/cache/apt (здесь хранятся исходные .deb)
- Скопировать /live/cow на ext* раздел в папку sfs-tmp (название любое)
- Загрузиться без сохраненок
- Скопировать из sfs-tmp в систему запускаемый_файл_вашей_программы
- ldd `which запускаемый_файл_вашей_программы` |grep no
- Добавить недостающие библиотеки из sfs-tmp в систему
- Убедиться в работоспособности
- Все скопированное из sfs-tmp в систему, сохраняя структуру папок переписать на ext* раздел в папку sfs-tmp2 (название любое). Подправить ярлык (/usr/share/applications), убедиться что прога и ее иконка появились в нужном месте меню
- mksquashfs sfs-tmp2 имя_версия_программы.sfs -comp xz -Xbcj x86. Выделенное жирным добавлять только для ядер >2.6.38. Даст большее сжатие модуля , но увеличит время mksquashfs
Рецепт 2. Для тех кому рецепт 1 сложен.
- sudo apt-get update;sudo apt-get -d –no-install-recommends install ваша_программа
- mkdir sfs-tmp2. Распаковать в mc все скачанные /var/cache/apt/archives/*.deb в sfs-tmp2, соблюдая структуру папок
- Необязательный пункт. Осмыслить содержание sfs-tmp2. Удалить лишнее (чужие локали, ненужные доки, …)
- mksquashfs sfs-tmp2 имя_версия_программы.sfs -comp xz -Xbcj x86
- Аналогично можно найти любой софт из любого дистрибутива на http://pkgs.org и настрогать из него модулей. Если софт доступен для установки apt - лучше этого не делать.
- Наиболее оптимально скомпилить программу в дистрибутиве, где она будет использоваться. Это для опытных. Потребуется установка gcc и прочих *dev пакетов
Модули .squashfs
- Подключение .sfs модуля при загрузке ОС: переименовать .sfs→.squashfs, положить в папку live
- Рекомендуется только для компонентов ОС. ПО загружайте через sfrugal и\или sfs-get
- При размещении в директорию live дистрибутива, загрузится автоматически (в режимах кроме toram ) в порядке алфавита
- Основное отличие от .sfs (горячее подключение) - файлы внутри .squashfs с одинаковыми именами заменяют файлы основного модуля
Обновление, модификация SFSL, patch (исправления)
Скрипт remaster сырой. Не рекомендуется для использования новичками.
Обновление
sudo -s ;apt-get update && apt-get dist-upgrade && remaster = бесконечная жизнь
Модификация
sudo -s ;apt-get update ; apt-get install что_угодно ;apt-get purge что_угодно; remaster = свой дистр
patch
Исправления, обновления системы можно собрать в модуль.s*sf и загрузить поверх базы методом :
- .squashfs
- Делаем обычный .sfs
- Копируем в /live под именем zzz-Ваш.squashfs
- Название (zzz*) критично. Модули загружаются в алфавитном порядке; patch должен быть последним
- Файлы patch наложатся поверх остальных /live/*.squashfs
- sfrugal
Особенности использования
Пользователи, пароли,права
- Пользователь по умолчанию: q
- Пароль: 111111 При использовании sshd, ftpd и т.п. - лучше сразу поменять: passwd q
- root права на все через sudo
- Урезать: man sudoers; sudo visudo
Подключение к сети
Варианты:
- pns-tools - консольный скрипт ethernet+wifi
- xpns-tool (GUI)
- sfs-sky - консольный скрипт для модема www.skylink.ru. Альтернатива - apt-get install gnome-ppp
- NetworkManager. Есть не во всех SFSl. По умолчанию отключен. Включить через меню
Сохранение сессии
live-make. Есть встроенная справка
Не увлекайтесь большими сохраненками. В идеале - вообще их не использовать. Весь софт - модулями.sfs . Свои настройки - модулем.sfs или home-rw
- При наличие параметра ядра persistent - загружаются «live-sn.cpio.gz» «live-rw» «home-rw» (если они есть). Должны лежать в корне ext раздела носителя. Комбинировать cpio.gz c rw не пробовал.
- При дополнительном параметре ядра «persistent-subtext=sfsc», в качестве файлов (разделов) сохранения используются: «live-sn-sfsc.cpio.gz» «live-rw-sfssc» «home-rw-sfssc». Вместо sfsc можно писать что хочется. Таким образом можно иметь разные сохраненки.
- Если сохраненка cpio.gz - она пересоздается при выключении. Если выключение аварийное - вероятно получите предыдущее состояние. Поэтому cpio.gz - хуже и тормознее
- При rw сохраненке монтируется файл и в него сразу пишутся изменения
- Подключенные модули.sfs в сохраненку не попадают. Их надо подключать по новой или сделать автозагрузку перез параметр ядра sfsdir*=.
- Содержимое сохраненки .cpio.gz можно увидеть в mc.
- Содержимое сохраненки -rw* : mkdir /mnt/tmp1;mount /путь_к/live-rw /mnt/tmp1 -o loop
- При любых проблемах - отключайте сохраненку и проверяйте без нее
Увеличение объема сохраненки *-rw:
- Сoздать файл live-rw-2 (вместо -2 - что угодно)
- sudo mkdir /mnt/rw1;sudo mkdir /mnt/rw2; sudo mount путь/live-rw /mnt/rw1 -o loop;sudo mount путь/live-rw-2 /mnt/rw2 -o loop
- Переписать из live-rw в live-rw-2.
- mv live-rw2 live-rw или подправить конфиг grub4dos
apt
Работу с apt-* начать с : apt-get update
man
- Выделены в отдельный doc*.sfs.
- Подгружать по желанию в виде .sfs или .squashfs …
copy - paste в консоле
В терминале urxvt :(выделить мышью или ctrl-ins)-paste(средний клик или shift-ins). Или http://forum.puppyrus.org/index.php/topic,10732.0.html
Переключение клавиатуры us\ru
http://forum.puppyrus.org/index.php/topic,12261.0.html или /etc/default/keyboard
Горячие клавиши
Вызвать их список : <Super>h. <Super> - это клавиша windows, слева между Ctrl и Alt
Conky. Мониторинг
- Вкл\выкл : <Super>c
Смена обоев в JWM
- Средствами файлового менеджера
- xsri
Самостоятельная сборка SFSL на базе любого .deb дистрибутива
См. выше «Модификация»
apt-get install live-boot apt-get purge все лишнее
- копируем нужное из / в /tmp
- чистим
- mksquashfs /tmp Ваш.squashfs
- в isomaster заменяем vmlinuz , initrd , Ваш.squashfs