Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

sfs-linux:start [2016/02/01 11:32] (текущий)
Строка 1: Строка 1:
 +====== 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//
 +=====Горячие клавиши=====
 +Вызвать их список : <Super>h. <Super> - это клавиша windows, слева между Ctrl и Alt
 +=====Conky. Мониторинг=====
 +  *[[wpru>conky]]. 
 +  *Вкл\выкл : <Super>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