====== SFSLinux ====== 121114 [[sfslinux@gmail.com]] *Серия любительских дистрибутивов [[http://ru.wikipedia.org/wiki/LiveCD|LiveCD]] Linux на базе [[wpru>Debian]] и [[wpru>Ubuntu]] c использованием идей и скриптов www.puppyrus.org. *В название не закладывалось никакого смысла , кроме [[wpru>squashfs]] (не Ф.И.О) *Новости, обсуждение http://uco.puppyrus.org/forum/thread176.html =====Сокращения в тексте===== *ПК- [[wpru>персональный компьютер]] *ОС- [[wpru>операционная система]] *ПО- [[wpru>программное обеспечение]] *.sfs -подключаемый модуль */live - директория дистрибутива, в которой находятся ядро, initrd, базовый.sfs *.squashfs - live-boot метод подключения модулей при загрузке ОС ====== Основные характеристики ====== *[[http://docs.puppyrus.org/setups/full-vs-frugal|frugal]] : установка системы сводится к копированию нескольких файлов. При сохраненке.s*fs - "неубиваемый" дистрибутив (после перезагрузки - все в исходном состоянии). *Полноценный debian(ubuntu). Возможность установки софта через apt *Скорость загрузки больше чем у Woof Puppy *Работа не из под root. sudo *Файл сохранения создается скриптом: //sudo live-make// .Несколько вариантов: *раздел HDD, файл *.squashfs *.cpio.gz *[[http://live.debian.net/manual/en/html/installation.html|live-boot]] *Размер основного модуля менее 200Mb. Минимум включенного ПО *ПО в виде подключаемых модулей [[wpru>squashfs]]. Автоподгрузка Вашего списка модулей при загрузке системы с заменой или без файлов базового модуля. Возможность загрузки готовых модулей через интернет. *Возможна работа с CD, USB flash, HDD. "Карманный Linux" *Возможна загрузка всей системы и программ в память ([[wpru>RAM]]). Дает скорость, экономию батареи, шумопонижение *Multi[[wpru>WM]] *MultiKernel, [[wpru>PAE]]. Возможность менять ядра. *Только русская локализация. Остальные вырезаны. Можно доустановить *[[http://ru.wikipedia.org/wiki/Apt|apt]] и полная совместимость с .deb репозиториями ====== Скачать ====== *[[http://www.mediafire.com/?unmoyqshaou0k|SFSL-DS]] (Debian 6. JWM, OpenBox, pcmanfm-mod. Минималистический) *[[http://www.mediafire.com/?wu0li88s5d18z|SFSL-UP]] (Ubuntu 12.04. Gnome3FallBack, NetworkManager, python) *[[http://www.mediafire.com/?u7bvp54qc5v2g|SFSL-UQG]] (Ubuntu 12.10. JWM,Gnome3FallBack, NetworkManager, python) ====== Идеология ====== ===== История: ===== Зарождение идеи произошло при ознакомлении с live-boot (Dеbian) и load_sfs (www.PuppuRus.org). 2011 год [[http://forum.puppyrus.org/index.php/topic,4651.msg54134.html#msg54134|Первая]] [[http://forum.puppyrus.org/index.php/topic,12651.0.html|публикация]] ===== 3 источника и 3 составные части ===== - Puppy: frugal, модули.sfs - Debian: live-boot, apt-get - Свои скрипты и идеи: [[http://forum.puppyrus.org/index.php/topic,11021.0.html|sfs-get]], [[http://forum.puppyrus.org/index.php/topic,9675.0.html|sfrugal]], [[http://forum.puppyrus.org/index.php/topic,11683.0.html|sfs-conky]], [[http://forum.puppyrus.org/index.php/topic,11768.0.html|notify-send]] ===== Варианты применения ===== - Переносной desktop. Ваша ОС всегда с Вами на usbflash. Возможна загрузка нескольких live-rw-... , настроенных под разные задачи и пользователей. Экономия батарей ноутбука при загрузке всех модулей в память - Ремонтно-восстановительные работы, поиск в интернет драйвера сетевой карты для свежеустановленной другой ОС. - Самые смелые эксперименты с ОС , ПО без вреда для установленной ОС - Простое (за счет apt-*) создание sfs, pet для Puppy linux =====Направление развития SFSL===== -Усовершенствование sfs* скриптов (например, заимствование из puppy gtkdialog3 скриптов) -Уменьшение размера базового комплекта *чистка *вынос ПО в sfs *подбор легковесного ПО, оптимизация -Графическое оформление -Поиск "золотой середины" между функциональностью скоростью и ресурсоемкостью -Выработка методики, позволяющей минимально подготовленным пользователям создавать live - [[http://docs.puppyrus.org/setups/full-vs-frugal|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) *[[http://live.debian.net/manual/en/html/live-manual.html|Подробности:]] //man live-boot// *[[http://forum.puppyrus.org/index.php/topic,9675.0.html|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 (должен располагаться в корне [[wpru>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// *Выбираем или создаем раздел. Файловая система желательна [[wpru>ext4]] *Присваиваем ему метку live-rw ( с live-home аналогично) ====Live mode==== *Загрузка всех /live/*.squashfs модулей. *Ваши настройки, изменения хранятся в памяти. После перезагрузки пропадают */live/image доступен только на чтение *Удобно для ознакомления с CD ====Live toram mode==== *Загрузка только указанного (основного) .squashfs модуля. *Ваши настройки, изменения хранятся в памяти. После перезагрузки пропадают *Все разделы доступны на запись *Удобно для небольших экспериментов с ручным сохранением результатов. Например, для создания своего .sfs модуля. Особенно при использовании совместно с persistent в качестве чистового варианта ======Модули .s*fs====== В качестве [[wpru>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// =====Подключение к сети===== Варианты: -Подключение к проводной [[wpru>ethernet]] сети c [[wpru>DHCP]] произойдет автоматически. Или : //sudo dhclient ethX && sudo rm /etc/resolv.conf && sudo echo "nameserver 8.8.8.8" >/etc/resolv.conf// -pns-tools - консольный скрипт ethernet+wifi -xpns-tool ([[wpru>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// =====Горячие клавиши===== Вызвать их список : h. - это клавиша windows, слева между Ctrl и Alt =====Conky. Мониторинг===== *[[wpru>conky]]. *Вкл\выкл : c *http://forum.puppyrus.org/index.php/topic,11683.0.html =====Смена обоев в JWM===== *Средствами файлового менеджера *xsri ======Самостоятельная сборка SFSL на базе любого .deb дистрибутива====== См. выше "Модификация" apt-get install live-boot apt-get purge все лишнее *копируем нужное из / в /tmp *чистим *mksquashfs /tmp Ваш.squashfs *в isomaster заменяем vmlinuz , initrd , Ваш.squashfs