SFSLinux
Сокращения в тексте
-
-
-
.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). Дает скорость, экономию батареи, шумопонижение
-
MultiKernel,
PAE. Возможность менять ядра.
Только русская локализация. Остальные вырезаны. Можно доустановить
apt и полная совместимость с .deb репозиториями
Скачать
SFSL-DS (Debian 6. JWM, OpenBox, pcmanfm-mod. Минималистический)
SFSL-UP (Ubuntu 12.04. Gnome3FallBack, NetworkManager, python)
SFSL-UQG (Ubuntu 12.10. JWM,Gnome3FallBack, NetworkManager, python)
Идеология
История:
3 источника и 3 составные части
Puppy: frugal, модули.sfs
Debian: live-boot, apt-get
-
Варианты применения
Переносной desktop. Ваша ОС всегда с Вами на usbflash. Возможна загрузка нескольких live-rw-… , настроенных под разные задачи и пользователей. Экономия батарей ноутбука при загрузке всех модулей в память
Ремонтно-восстановительные работы, поиск в интернет драйвера сетевой карты для свежеустановленной другой ОС.
Самые смелые эксперименты с ОС , ПО без вреда для установленной ОС
Простое (за счет apt-*) создание sfs, pet для Puppy linux
Направление развития SFSL
Усовершенствование sfs* скриптов (например, заимствование из puppy gtkdialog3 скриптов)
Уменьшение размера базового комплекта
Графическое оформление
Поиск «золотой середины» между функциональностью скоростью и ресурсоемкостью
Выработка методики, позволяющей минимально подготовленным пользователям создавать 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 загрузчик)
Переписать все файлы в корень любого раздела
Если не уверены в себе - устанавливайте загрузчик на 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)
-
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
Модули .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
Подключение к сети
Варианты:
Подключение к проводной
ethernet сети c
DHCP произойдет автоматически. Или :
sudo dhclient ethX && sudo rm /etc/resolv.conf && sudo echo «nameserver 8.8.8.8» >/etc/resolv.conf
pns-tools - консольный скрипт ethernet+wifi
-
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
copy - paste в консоле
Переключение клавиатуры us\ru
Горячие клавиши
Вызвать их список : <Super>h. <Super> - это клавиша windows, слева между Ctrl и Alt
Conky. Мониторинг
Смена обоев в JWM
Самостоятельная сборка SFSL на базе любого .deb дистрибутива
См. выше «Модификация»
apt-get install live-boot
apt-get purge все лишнее
копируем нужное из / в /tmp
чистим
mksquashfs /tmp Ваш.squashfs
в isomaster заменяем vmlinuz , initrd , Ваш.squashfs