Это старая версия документа.
Содержание
Porteus-initrd. PuppyRus модификация
- Используется в PuppyRus-A , LF, DDR
Особенности porteus-initrd
- лог загрузки /var/log/porteus-livedbg
- очень быстро грузится
- не содержит модулей ядра (при смене ядра не надо пересобирать). Ядро нужно с вкомпиленной поддержкой файловых систем. С версии 221224 можно любые ядра
- база строится из любого количества модулей лежащих в /porteus/base. Слои по алфавиту. Верхний zzz*. Верхний слой AUFS - это который перекрывает файлы нижнего
- В pra-porteus изменен порядок слоев AUFS загружаемых модулей. 08*.pfs 09*.pfs всегда в верхнем слое
- загрузка всех или указанных модулей в память
- выполнение после загрузки указанных скриптов
- сохраненка на раздел носителя, в папку или файл (можно зашифровать)
- автозагрузка перечисленных модулей extramod=/mnt/sdb3/porteus-modules ; extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules выше базы
- можно указать опции mount : mopt=realtime,sync,users,nosuid,noexec
- noload=module[1];module[n]
- Выделение памяти под / :ramsize=40%
- PXE загрузка из сети
- Поддержка Ventoy from=/path/porteus.iso (загрузка из .iso)
Это не весь список.
- Полный в документации.
- Ниже перевод, сделанный for_wov и sfs. Перевод соответствует initrd из porteus v.2
Структура каталогов
- Все модули загружаются в алфавитном порядке (z.pfs окажется выше a.pfs).
- Все из /base и /modules (кроме указанных в noload=)
- Перечисленные в load= из /optional
Слои aufs
- -низ-
- /base
- /modules
- /optional
- /extramod
- 089-*.pfs (исправления ошибок)
- 090-*.pfs (сохранение состояния системы в модуль; может быть несколько модулей одновременно)
- /rootcopy ; magic-folgers ;сохраненка (файл, папка, раздел)
- -верх-
/base
- Базовые модули, файловые и оконные менеджеры, сохраненка.pfs
- /base/000-kernel.pfs - модули ядра. Должны быть совместимы с дистрибутивом. Название менять нельзя. Модуль временно монтируется во время работы initrd
/modules
- Модули.pfs автозагружаются в алфавитном порядке выше base
- Рекомендуется для автоподключения постоянно используемых модулей софта. Например браузера, проигрывателя.
- Модули не должны содержать /home /root. Иначе они перекроют сохраненкy.pfs
/optional
- Модули.pfs загружаются в алфавитном порядке выше base, modules ТОЛЬКО при указании load=module[1];module[n]. Кроме указанных в noload=
- Рекомендуется для хранения и горячего подключения не постоянно используемых модулей софта. Например gparted
- Модули не должны содержать /home /root. Иначе они перекроют сохраненкy.pfs
/extramod , /rootcopy
Параметры загрузки дистрибутива c porteus-initrd.
Параметры загрузки (cheatcodes) дописываются в конфигурационном файле загрузчика системы (например у grub4dos - menu.lst) в параметры ядра.
- Список cheatcodes в алфавитном порядке
- cheatcodes, приведенные в примерах, иногда заключены в одиночные кавычки (напр. 'example=somevalue') для выделения в общем тексте. При практическом использовании кавычки не нужны.
- Помеченные в конце строки * - не работают или не тестировались в PuppyRus-A
autoexec=my_script
autoexec=my_script;reboot
Выполнить указанные команды перед входом в систему. Используйте ";" как разделитель, без пробелов. Если вам понадобится использовать пробелы в командной строке замените их на "~" Например: 'autoexec=echo~Shutting~power;poweroff' выведет на консоль текст с пробелами вместо "~"
base_only
Загружаем только "базовые" модули (названия которых начинаются с base/0: 000-kernel.xzm, 001-core.xzm) Это полезно при отладке, чтобы понять связаны ли ваши возможные проблемы с модулем, добавленным вами в систему.
changes=
- changes=каталог, указанный в dir= , т.е. changes=pra - создаст внутри каталога с дистрибутивом pra - каталог pra/changes
- changes=/dev/device - раздел
- changes=/path/ - каталог
- changes=/path/file.dat - контейнер
- альтернатива - squashfs модуль сохранения или rootcopy
Без changes= все изменения в системе, до перезагрузки сохраняются в памяти
Если устройство (раздел жесткого диска) имеет linux файловую систему (напр. ext) можно использовать раздел ('changes=/dev/sdb2') или папку ('changes=/path/') '/path/'- путь от корня раздела с файлами дистрибутива (т.е. без '/dev/') При использовании папки - система создаст подпапку 'changes' внутри '/path' Если нужно сохранять на разделах с FAT или NTFS - используйте контейнер (file.dat). Создается скриптом make-changes или (в Linux):
truncate -s 2G ext2.dat && losetup /dev/loop40 ext2.dat && mkfs.ext2 /test/ext2.dat && losetup -d /dev/loop40
Вместо ext2 можно любую поддерживаемую дистрибутивом Linix файловую систему. Например ext4
copy2ram
Копирует все модули в память. Вам потребуется как минимум 256mb. Система 64-бит с KDE-4 потребует не меньше 768mb. 'copy2ram' замедляет этап загрузки, но ускоряет работу системы.
Напоминание: cheatcode 'noeject' можно использовать вместе с 'copy2ram', чтобы предотвратить отмонтирование вашего загрузочного устройства (CD/DVD,usbflash,card-reader,и.т.д.) Так же можно использовать 'rammod' чтобы выборочно загружать модули в память (смотрите описание 'rammod' ниже)
debug
Запуск консоли отладки. Пошаговый режим
delay=
Например: 'delay=5' приостановит загрузку на 5 секунд. Необходимо устройствам, требующими допольнительного времени для настройки.
extramod=
extramod=/path/folder_with_modules;/path2/folder_with_modules
Загрузка модулей из одной или нескольких внешних папок (расположеных не в папке с файлами дистрибутива). Если все папки на одном разделе с дистрибутивом - можно указать пути от корня раздела Для нескольких папок на разных разделах нужно указывать полные пути с разделителем ";" без пробелов. Например: 'extramod=/mnt/sdb3/porteus-modules' 'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules' 'extramod=_krn/modules' - если _krn и base на одном разделе
Если нужно подключение не всех модулей, а одного или нескольких - это можно сделать:
- через noload=
- если Ваш дистрибутив на ext разделе и Вы не используете noauto - можно сделать симлинк на модуль в /modules. Симлинк делать через /mnt/sda…
from=
from=/dev/device from=/path/folder from=/path/porteus.iso
Загружает систему с устройства, папки или ISO файла Например: 'from=/dev/sdb2' загрузка со второго раздела на втором диске. 'from=/mnt/sda2/linux-testing' загрузка из папки 'linux-testing' на втором разделе. 'from=/linux-ISO/porteus.iso' загрузка из ISO-файла внутри папки 'linux-ISO'. 'from=/porteus.iso' - так работает с https://ventoy.net в режимах nоrmal и grub2 Если раздел не указан - загрузочный скрипт будет искать данные на всех разделах
fsck
Проверка разделов с ext(2,3,4) и reiserfs XFS не нуждается в проверке с параметром fsck т.к. проверка происходит автоматически во время монтирования. На некоторых системах необходимо использовать 'delay=' для подготовки устройства. Это по большей части необходимо только для USB флеш-дисков.
kmap= *
kmap=раскладка_клавиатуры
Определяет предпочитаемую раскладку клавиатуры для KDE/LXDE/XFCE или другого рабочего окружения. Полный список поддерживаемых раскладок можно найти в папке /etc/X11/xkb/symbols Например: 'kmap=ru' установит русскую раскладку клавиатуры.
load=module
load=module[1];module[n]
Загрузка модулей из папки /optional/ на загрузочном устройстве. Модули разделяются ";" без пробелов. Например: 'load=gimp;inkscape' - загрузка модулей, содержащих в названии строки 'gimp' и 'inkscape' из папки /porteus/optional
login=user_name *
Имя пользователя (можно 'root') для автологина Если имя пользователя не указано, то загрузка приостанавливается на экране входа LXDM/KDM.
lxde *
Использовать рабочее окружение LXDE
mopt
Настройка параметров монтирования файловых систем. По умолчанию : "noatime,nodiratime,suid,dev,exec,async". Каждый параметр разделяется с помощью "," без пробелов. Например: 'mopt=realtime,sync,users,nosuid,noexec'.
noauto
Отключить автомонтирование устройства во время загрузки. Каждый диск нужно будет монтировать вручную. Флэшка, подключенная до загрузки системы не автомонтируется
nocd
Не искать файлы на CD/DVD во время загрузки системы
noeject
Не извлекать CD/DVD диски во время загрузки и выключения. Совместное использование 'copy2ram' и 'noeject' предотвратит размонтирование загрузочного устройства (CD/DVD, usb, card-reader, и т.д.). Чтобы извлечь CD вам нужно будет его отмонтировать из консоли, вручную командами 'umount /mnt/sr0' и 'eject /dev/sr0'
nohd
Не искать файлы на жестких дисках во время загрузки системы
nohotplug
Отключить автоопределение специфического оборудования в случае зависания системы. Использовуйте команду "modprobe" после входа в текстовый режим и загрузите необходимые драйвера вручную.
noload=module
noload=module[1];module[n]
Отключит загрузку перечисленных модулей. Распространяется на все модули, влючая папки /base и /modules Пример: 'noload=kde' - отключит загрузку всех модулей с строчкой 'kde' в названиях. Полезен с 'copy2ram', потому, что лишние модули не будут копироваться в память. Можно указать много модулей с разделителем ";" без пробелов Например: 'noload=lxde;devel' исключит загрузку модулей в названии которых содержатся строчки с 'lxde' и 'devel'
nomagic *
Не создавать "magic folders" во время загрузки. Полезно когда что-то пошло не так с настройками системы и вы хотите загрузиться в "Всегда свежый" ('Always Fresh') режим. Т.е. без сохранения
nonetwork
Отключает автоподключение к сети. Внимание! Вносит изменения в систему, которые нужно восстанавливать вручную, поэтому рекомендуется использовать только в ("Always Fresh") режиме. Если вы проигнорировали этот совет и вам нужно восстановить ваше сетевое подключение, наберите в консоли: chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop
norootcopy
Не копирует файлы из папки rootcopy. Как и 'nomagic' полезен если что-то пошло не так с настройками и вы хотите загрузиться в 'Always Fresh' режим.
noswap
Запрещает автоматически использовать существующий раздел со swap (файл подкачки). По умолчанию система ищет на всех подключенных дисках swap-разделы и подключает их.
ramsize=
Установить произвольный размер раздела с tmpfs, который используется как root (/) вашей live файловой системы, т.е. когда изменения сохраняются только в памяти ('Always Fresh' режим, т.е. без использования changes=). Значение по умолчанию -- 60% доступной физической памяти (RAM). Например: 'ramsize=40%'
rammod=
rammod=folder rammod=module[1];module[n];folder[1];folder[2]
Работает только вместе с 'copy2ram'. Только модули, перечисленные в rammod= модуль(и) или папку(и) с модулями копируются в память(RAM) Это позволит вам иметь преимущество в скорости 'copy2ram' для наиболее часто используемых модулей, не занимая оперативной памяти модулями, которые вы используете реже. Модули, не указанные в rammod= будут подключены с носителя и Вы не сможете его извлечь во время работы системы
Вы можете использовать полные или частичные названия модулей, но помните что все модули и папки, совпадающие с частью названия будут загружены в папять (RAM); Если у вас есть дополнительные модули в папке с названием 'lxde' и вы используете 'rammod=lxde', тогда модуль 003-lxde.xzm из /base будет загружен дополнительно со всеми модулями в папке 'lxde'.
'rammod' нельзя использовать без 'copy2ram', и он так же не загрузит модули из /optional и прочих мест, пока вы не укажите эти модули в 'load=' или 'extramod='.
Например: 'rammod=001;002;004;firefox' 'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'
rootcopy=
rootcopy=/путь/к_папке/с_файлами
Скопирует файлы из указанной папки прямо в live файловую систему. Не рекомендуется использовать на fat и ntfs, т.к. на все файлы устанавливаются права 755 (чтение, запись и запуск) для всех. Эта папка будет использоваться вместо традиционной /rootcopy. Например: 'rootcopy=/mnt/sda5/root-files'
sgnfile=
Указать идентификационный файл *.sgn, который система ищет при загрузке. Полезно если у Вас несколько копий системы на одном hdd(cd) диске. Должен находиться в каталоге дистрибутива (там же где base, modules ...) Например: 'sgnfile=porteus-usb.sgn'
В PRA модификации по умолчанию sgnfile=initrd.xz. Т.е. если initrd.xz лежит в каталоге дистрибутива (dir=) - sgnfile можно не указывать
timezone=region/zone *
Полный список доступных временных зон можно найти в файле /usr/sbin/timeconfig Например: 'timezone=Europe/Kiev' Например: 'timezone=Factory'
vga_detect *
Автоматически определяет AMD или nVidia видео карты и загружает необходимые драйвера. Модуль видео драйвера (nVidia или amd-catalyst) должен находиться в /optional/ и его название должны начинаться с 'nVidia-' или 'amd-catalyst'. Скрипт загрузки ищет модули драйверов по названию. Позволяет переключатся между разными конфигурациями оборудования в то время как модули проприетарных драйверов (AMD, nVidia) могут находится вместе в папке /optional/ не мешая друг другу. Они активируются только когда потребуются.
volume
Устанавка громкости динамиков (Master Volume channel) на указанное значение (в процентах). Значение по умолчанию -- 75%. Например: 'volume=0%' запустит сеанс графического интерфейса беззвучно.
xfce *
Использовать XFCE как рабочее окружение по умолчанию.
zram
Создает swap in zram.
- zRam - это блочное устройства со сжатием данных «на лету» в памяти (RAM).
- ZRAM включён в стандартную поставку ядра Linux начиная с версии 3.14
- В LF дистрибутивах обрабатывается скриптом /etc/rc.d/zram
- Работает быстрее чем swap на HDD, SSD, flash.
- За счет компрессии создается эффект увеличения RAM.
- zram=150% даст прирост производительности на системах с малым количеством памяти (RAM).
- Желательно использование ядер с le9 патчем
- Минус zram - дополнительная нагрузка на процессор (за счет компрессии и декомпрессии данных).
- Можно регулировать использованием типа компрессии.
- Посмотреть доступные типы : /sys/block/zram0/comp_algorithm
- По возрастанию : lzo lzo-rle [lz4] lz4hc zstd . lzo самый быстрый, но слабо сжимающий. В [] используемый.
- Изменить : echo lz4 >/sys/block/zram0/comp_algorithm
- При использовании swap in zram вместе с обычным swap на диске (не рекомендуется, т.к. после заполнения zram - swap окажется на медленном носителе) - выставляйте zram больший приоритет : swapon –priority 100 /dev/zram0, чтобы он использовался в первую очередь
- Посмотреть приоритеты : swapon
- Кроме того, для ускорения медленных носителей можно использовать zswap
Например: 'zram=33%' назначит 33% вашей памяти(RAM) для swap in zram.
ПРИМЕЧАНИЕ ПО ИСПОЛЬЗОВАНИЮ 'LABEL' И 'UUID':
- Все части этих команд чувствительны к регистру.
- Используйте в терминале команду 'blkid', чтобы увидеть UUID и LABEL устройства.
- UUID и LABEL являются уникальными для вашего устройства. Файлы дистрибутива будут правильно найдены.
- 'LABEL' и 'UUID' можно использовать с любым cheatcode, содержaщим /путь
Например: changes=UUID:СТРОКА-ЗНАЧЕНИЙ/путь/файл.dat extramod=LABEL:НазваниеВашейМетки/путь/к_папке/с_файлами from=UUID:СТРОКА-ЗНАЧЕНИЙ/путь/папка rootcopy=LABEL:азваниеВашейМетки/путь/к_папке/с_файлами
ПРИМЕЧАНИЕ ПО ИСПОЛЬЗОВАНИЮ 'changes' ВМЕСТЕ С РАСШИРЕНИЕМ 'EXIT:':
- Расширение 'EXIT:' указывает 'changes=' сохранять все изменения, сделанные за время сеанса в памяти до перезагрузки/выключения. Запись изменений на диск производится 1 раз при корректмом выключении.
- Конструкция 'changes=EXIT:' имеет следующие преимущества:
- Система работает так же быстко как и в 'Always Fresh' режиме т.к. все изменения производятся в памяти (RAM).
- Уменьшенное количество цыклов чтения/записи должно продлить жизнь SSD.
- Единственный недостаток расширения 'EXIT:' при аварийном завершении работы (зависание, пропадание питания) все изменения будут утеряны. Используйте осторожно!
- В итоге актуально использовать только на медленных носителях типа usb-flash
Например: changes=EXIT:/dev/device changes=EXIT:/path/ changes=EXIT:UUID:STrING-0F-ChARACtERS/путь/файл.dat
Примечание переводчика (for_vow)
- Для sdd и прочих [usbflash] устройств, использующих Nand-flash могла бы хорошо подойти f2fs (flash friendly filesystem дружественная к флеш» файловая система) активно внедряемая в последних версиях Puppy Slacko.
ПРИМЕЧАНИЕ ДЛЯ ИСПОЛЬЗУЮЩИХ LILO:
- Если был установлен загрузчик lilo, у вас будет текстовое меню со стандартными параметрами загрузки (KDE, LXDE, Always Fresh, и.т.д).
- Используйте клавиши стрелок чтобы выделить желаемый путкт меню (если вы используете первое значение (KDE), нажмите down, потом up чтобы выделить KDE). Название вашего загрузочного параметра добавится в строку 'boot:' и вы сможете печатать cheatcodes после этого.
Например: boot: KDE debug noauto - загрузить KDE со всеми стандартными кодами для KDE, плюс отладка и noauto.
- Если хотите использовать LILO с настроеными вами cheatcodes при каждой загрузке без их ручного ввода - вы должны изменить /boot/syslinux/lilo.conf и потом повторить установку запустив утититу /boot/Porteus-installer-for-Linux.com т.к. LILO должен перезагрузить свою конфигурацию.
Доработки porteus-initrd для PuppyRus-A (расширение функционала)
В porteus 2.0 этот функционал отсутствует.
000-kernel
Изменено название модуля модулей ядра.
- В porteus: 000-kernel.pfs (в PRA тоже работает)
- В PRA 000-kernel-версия_64.pfs, где «версия» - то что для этого ядра выводит uname -r. _64 - архитектура (для 32 -пусто).
- Из модулей ядра загрузится только 000-kernel-версия_64.pfs, и из видео драйверов загрузятся только для текущего ядра. Т.е. не надо в load= noload= писать фильтры для разных ядер
/mnt/home
- Cоздание /mnt/home - симлинк на раздел с файлами дистрибутива (как в puppyrus)
Аналог udev
- Скриптом определяются и загружаются нужные для загрузки системы модули ядра. В конце initrd неиспользованные выгружаются
- Возможна работа с любыми aufs ядрами. Например
Убран raiserfsfsck, e2fsck, ntfs3-g
- raiserfsfsck, e2fsck - т.к. по большей части актуально только для USB флеш-дисков, на которых обычно не используется
- ntfs3-g - в свежих ядрах монтируется как ntfs3
08*.pfs 09*.pfs всегда в верхнем слое
Изменен порядок слоев AUFS загружаемых модулей. 08*.pfs 09*.pfs всегда в верхнем слое, не зависимо от того в какой директории находятся
changes=RO:
- 'changes' ВМЕСТЕ С РАСШИРЕНИЕМ 'RO:':
- Расширение 'RO:' указывает 'changes=' подключаться в режиме «только чтение». Запись изменений в этом случае не производится. RO можно использовать только с сохранением в файл. Монтируется в слой aufs выше всех .pfs перед rootcopy. С параметром copy2ram сохраненка копируется в память
- Конструкция 'changes=RO:' имеет следующие преимущества:
- Сохраненка «неубиваема».
- В отличие от .pfs сохранения, возможно шифрование, но нет сжатия
Например: changes=RO:/path/файл.dat changes=RO:UUID:STrING-0F-ChARACtERS/путь/файл.dat
dir=
Название каталога (не путь) с файлами дистрибутива. Обязательно указывать
Например: dir=pra
Установка в корень раздела (т.е. /base /modules … вместо /dir/base …) не рационально и не предусмотрено
sort=
Сортировка нумерных (название модуля начинается с трех цифр, например 001-Pra03arch12nos.pfs) модулей в AUFS
Необязательный параметр. Удобен для многовариантной загрузки с компоновкой DE из модулей в /optional c помощью load=
Например : sort=456789 или sort=4-9
Модули, начинающиеся с 0xy- , будут загружены верхний слой AUFS по алфавиту (т.е. перекроют остальные модули)
- x - указанное Вами маска в sort=
- y - любая цифра
Например : /mnt/sda1/pra3/base/000-kernel.pfs /mnt/sda1/pra3/base/001-Pra03arch12nos.pfs /mnt/sda1/pra3/base/040-jwm-pra3c.pfs /mnt/sda1/pra3/base/070-Pra-151119.pfs /mnt/sda1/pra3/base/089-pra-up.pfs /mnt/sda1/pra3/base/090-save-150921net-pra.pfs /mnt/sda1/pra3/modules/042-cow-notify-s04.pfs /mnt/sda1/pra3/optional/075-Systemd-217-8-s03.pfs с sort=4-9 : /mnt/sda1/pra3/base/000-kernel.pfs /mnt/sda1/pra3/base/001-Pra03arch12nos.pfs /mnt/sda1/pra3/base/040-jwm-pra3c.pfs /mnt/sda1/pra3/modules/042-cow-notify-s04.pfs /mnt/sda1/pra3/base/070-Pra-151119.pfs /mnt/sda1/pra3/optional/075-Systemd-217-8-s03.pfs /mnt/sda1/pra3/base/089-pra-up.pfs /mnt/sda1/pra3/base/090-save-150921net-pra.pfs
xzm=
Расширение модулей дистрибутива. По умолчанию pfs (в этом случае можно не указывать)
Например: xzm=xzm
Прочие параметры загрузки ядра
Стандартные
http://man7.org/linux/man-pages/man7/bootparam.7.html https://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt
quiet
Уменьшает вывод на экран и ускоряет загрузку
modprobe.blacklist
Запрет загрузки модулей ядра.
Например : Отключить ip версии 6 и встроенный динамик
modprobe.blacklist=pcspkr,ipv6
Systemd
Только при использовании systemd
1 - восстановительный режим
- примерно соответствующего прежнему уровню выполнения 1
- Например, загрузиться в консоль без Х.
- Это режим эффективен для решения проблем, возникающих на этапе запуска обычных служб, когда ключевые компоненты системы уже инициализированы. В такой ситуации, вы можете просто отключить проблемную службу.
emergency - аварийный режим
Если загрузка не доходит даже до восстановительного (1) режима — попробуйте менее требовательный, аварийный (emergency) режим.
systemd.unit=
Стандартная цель - default.target, которая по умолчанию является псевдонимом юнита graphical.target (примерно соответствующего прежнему уровню выполнения 5). Для изменения цели при загрузке по умолчанию, добавьте следующий дополнительный параметр ядра в вашем загрузчике:
- systemd.unit=multi-user.target (что примерно соответствует прежнему уровню выполнения 3),
- systemd.unit=rescue.target (что примерно соответствует прежнему уровню выполнения 1).
net.ifnames=0 biosdevname=0
Чтобы имена интерфейсоы не менялись - с systemd используйте в menu.lst параметр ядра net.ifnames=0 biosdevname=0
Всегда будет eth0 wlan0
Утилиты, совместимые с porteus-initrd
- trayinfo
Сохранение сессии
3 основных стратегии:
- Весь софт и сохранение модулями. Удобно для мобильного использования. Неубиваемо неосторожными действиями пользователя. Файловая система - любая
- Большая сохраненка в раздел (каталог). Софт доустанавливается пакетным менеджером. Это почти обычная установка. Разница только в том, что можно иметь несколько сохранений для разных случаев и экспериментов. Удобно для стационарного использования. Невозможно на fat, ntfs (но можно сделать сохранение в файл). НЕЛЬЗЯ создавать changes=директория u /rootcopy на fat, ntfs. Будут сломаны права на файлы.
- Весь софт и сохранение модулями. /home (или его часть, например профиль браузера, вынесены симлинком на ext раздел). Т.е. среднее между 1 и 2. Сделать:
- Закрыть все приложения или выйти из Х
- В файл менеджере, запущенном от root - перенести с сохранением прав /home на ext раздел
- sudo ln -s /путь_к_home_на_ext /home
- Сделать сохранение в модуль
Далее рассмотрены варианты этих стратегий
Модуль сохранения.pfs
- Вместе с copy2ram позволяет иметь полностью настроенную под Ваши нужды и загруженную в память неизменяемую систему. Удобно для работы с flash (нет износа и тормозов при записи)
- Скрипт create-save-pfs (Меню - настройки - Создание файла сохранения.pfs)
rootcopy
Альтернатива - использовать rootcopy. В отличие от changes ее содержимое не изменяется в процессе работы и все содержимое находится в памяти. Удобно для тестирования изменений, которые потом будут добавлены в сохраненку.pfs
Неудобства rootcopy:
- Необходимо размещение на ext разделе
- Файлы находятся в памяти в несжатом виде
- При загрузке тратится время на копирование в память
Сохранение в каталог, раздел, файл-контейнер.dat
-
- Достоинства:
- Все изменения записываются сразу. Сессия сохранена даже при аварийном выключении
- Недостатки:
- Хранение в несжатом виде.
- Сохранение в файл наиболее неудобно. актуально только на fat ntfs.
- Неосторожные действия пользователя могут привести к незагружаемой системе и любым другим проблемам. Делайте резервные копии сохраненок
- Износ флэшки, расход батареи
-
- Достоинства:
- Нет износа флэшки, расхода батареи
- Недостатки:
- Потеря данных при аварийном выключении
- R модуль сохранения.pfs
- Достоинства:
- При copy2ram нет износа флэшки, расхода батареи
- Размещение на любой файловой системе
- Неубиваемость
- Хранение данных в сжатом виде
- Недостатки:
- Потеря данных при аварийном выключении
- Необходимость пересборки или иерархии (несколько сохраненок.pfs накладывающихся друг на друга)
Шифрование файла сохранения
В дистрибутиве присутствует cryptsetup (LUKS) и соответствующие модули ядра. Доступен весь его функционал.
Кроме того есть возможность шифрования RW(read\write; запись\чтение; changes=/path/file.dat ) и RO(read only; только чтение; changes=RO:) сохранения в файл. Такой файл создается «Меню-Настройка-Создание файла сохранения»
Сохранение настроек только определенных программ
Например, все настройки статически в RO сохраненке.pfs, а настройки браузера хочется динамически сохранять в RW . Переносим только директорию с настройками браузера на носитель. В профиле делаем симлинк на перенесенное.
Это нечто среднее между сохранением в модуль и в папку