Содержание

SFSLinux

121114 sfslinux@gmail.com

Сокращения в тексте

Основные характеристики

Скачать

Идеология

История:

Зарождение идеи произошло при ознакомлении с live-boot (Dеbian) и load_sfs (www.PuppuRus.org). 2011 год

Первая публикация

3 источника и 3 составные части

  1. Puppy: frugal, модули.sfs
  2. Debian: live-boot, apt-get
  3. Свои скрипты и идеи: sfs-get, sfrugal, sfs-conky, notify-send

Варианты применения

  1. Переносной desktop. Ваша ОС всегда с Вами на usbflash. Возможна загрузка нескольких live-rw-… , настроенных под разные задачи и пользователей. Экономия батарей ноутбука при загрузке всех модулей в память
  2. Ремонтно-восстановительные работы, поиск в интернет драйвера сетевой карты для свежеустановленной другой ОС.
  3. Самые смелые эксперименты с ОС , ПО без вреда для установленной ОС
  4. Простое (за счет apt-*) создание sfs, pet для Puppy linux

Направление развития SFSL

  1. Усовершенствование sfs* скриптов (например, заимствование из puppy gtkdialog3 скриптов)
  2. Уменьшение размера базового комплекта
    • чистка
    • вынос ПО в sfs
    • подбор легковесного ПО, оптимизация
  3. Графическое оформление
  4. Поиск «золотой середины» между функциональностью скоростью и ресурсоемкостью
  5. Выработка методики, позволяющей минимально подготовленным пользователям создавать live - frugal дистрибутив и .sfs под свои нужды на базе любого другого дистрибутива

(…или хотя бы улучшение подготовленности пользователя в процессе создания и популяризация linux :-))

Ищу единомышленников!

Похожие дистрибутивы

puppy
deb grml, knoppix, pureos
arch ctkarch
slack porteus
mandriva magos

Установка, загрузка

Запуск в VirtualBox

Обязательно в свойствах: Система-Процессор- Включить PAE/NX

Установка на hdd, usbflash

  1. Установить (или модифицировать имеющийся) загрузчик
    • grub4dos включен в SFSL: cat /BOOT/grub4dos/install/install.txt. Или установите штатными средствами любого puppy. Подробности в документации в корне CD
    • Подойдет grub, grub2 (любой linux загрузчик)
  2. Переписать все файлы в корень любого раздела
    • Будьте внимательны с путями или регистром в menu.lst
    • Проверить: в командном режиме grub4dos : ls /_sfsl

Если не уверены в себе - устанавливайте загрузчик на usbflash. Файлы при этом могут располагаться на любом другом носители. SFSL в этом случае никак не повлияет на другие установленные у Вас на hdd ОС

Неквалифицированно установленный на hdd загрузчик может привести к тому, что другие ОС перестанут загружаться. И это не является проблемой SFSL

Как из SFSl сделать FULL

Теряется весь смысл задумки. Лучше поставить с обычный Debian. Но если вы 1 пользователь на стационарном пк и не склонны к экспериментам:

  1. Разметить диск. Нужен как минимум 1 раздел ext* под / и раздел swap
  2. Установить линукс-загрузчик или использовать имеющийся. Утилиты установки grub4dos в .iso /boot/grub4dos/install
  3. Загрузить sfsl со всеми нужными Вам модулями и сохраненками
  4. Переписать все на подготовленный раздел. Не забыль про ядро и initrd
  5. Поправить загрузчик на стандартные (не live-boot параметры ядра). Например: /boot/vmlinuz1 root=UUID=4db63c04-36a5-4da3-862e-c3aa82c48fd3 ro quiet splash

Варианты загрузки (mode в параметрах ядра)

Задается при загрузке в параметрах ядра (см. /menu.lst)

Persistent mode

mv ~/download /media/sda2/
ln -s /media/sda2/download ~/
sh /mk-live.rw.sh

Использование раздела диска в качестве live-rw ( с live-home аналогично)

Live mode

Live toram mode

Модули .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

Вообще такой модуль хорошо бы

  1. unsquashfs
  2. почистить /var ; /usr/share doc, locale и т.п.
  3. mksquashfs … (можно через mc F2 меню)

Рецепт 1 (сложный)

Ниже есть 2 попроще, но модуль даст большего размера

  1. В /live/cow система хранит все сделанные Вами после загрузки изменения
  2. Загрузиться без сохраненок
  3. sudo apt-get update;sudo apt-get –no-install-recommends install ваша_программа
  4. Убедиться в работоспособности
  5. Проанализировать /live/cow и /var/cache/apt (здесь хранятся исходные .deb)
  6. Скопировать /live/cow на ext* раздел в папку sfs-tmp (название любое)
  7. Загрузиться без сохраненок
  8. Скопировать из sfs-tmp в систему запускаемый_файл_вашей_программы
  9. ldd `which запускаемый_файл_вашей_программы` |grep no
  10. Добавить недостающие библиотеки из sfs-tmp в систему
  11. Убедиться в работоспособности
  12. Все скопированное из sfs-tmp в систему, сохраняя структуру папок переписать на ext* раздел в папку sfs-tmp2 (название любое). Подправить ярлык (/usr/share/applications), убедиться что прога и ее иконка появились в нужном месте меню
  13. mksquashfs sfs-tmp2 имя_версия_программы.sfs -comp xz -Xbcj x86. Выделенное жирным добавлять только для ядер >2.6.38. Даст большее сжатие модуля , но увеличит время mksquashfs

Рецепт 2. Для тех кому рецепт 1 сложен.

  1. sudo apt-get update;sudo apt-get -d –no-install-recommends install ваша_программа
  2. mkdir sfs-tmp2. Распаковать в mc все скачанные /var/cache/apt/archives/*.deb в sfs-tmp2, соблюдая структуру папок
  3. Необязательный пункт. Осмыслить содержание sfs-tmp2. Удалить лишнее (чужие локали, ненужные доки, …)
  4. mksquashfs sfs-tmp2 имя_версия_программы.sfs -comp xz -Xbcj x86

Модули .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 и загрузить поверх базы методом :

  1. .squashfs
    • Делаем обычный .sfs
    • Копируем в /live под именем zzz-Ваш.squashfs
    • Название (zzz*) критично. Модули загружаются в алфавитном порядке; patch должен быть последним
    • Файлы patch наложатся поверх остальных /live/*.squashfs
  2. sfrugal

Особенности использования

Пользователи, пароли,права

Подключение к сети

Варианты:

  1. Подключение к проводной ethernet сети c DHCP произойдет автоматически. Или : sudo dhclient ethX && sudo rm /etc/resolv.conf && sudo echo «nameserver 8.8.8.8» >/etc/resolv.conf
  2. pns-tools - консольный скрипт ethernet+wifi
  3. xpns-tool (GUI)
  4. sfs-sky - консольный скрипт для модема www.skylink.ru. Альтернатива - apt-get install gnome-ppp
  5. NetworkManager. Есть не во всех SFSl. По умолчанию отключен. Включить через меню

Сохранение сессии

live-make. Есть встроенная справка

Не увлекайтесь большими сохраненками. В идеале - вообще их не использовать. Весь софт - модулями.sfs . Свои настройки - модулем.sfs или home-rw

Увеличение объема сохраненки *-rw:

  1. Сoздать файл live-rw-2 (вместо -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
  3. Переписать из live-rw в live-rw-2.
  4. mv live-rw2 live-rw или подправить конфиг grub4dos

apt

Работу с apt-* начать с : apt-get update

man

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. Мониторинг

Смена обоев в JWM

Самостоятельная сборка SFSL на базе любого .deb дистрибутива

См. выше «Модификация»

apt-get install live-boot
apt-get purge все лишнее