Различия

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

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

puppyrus:pr218:pfs4 [2021/05/31 14:19]
sfs [chroot2pfs]
puppyrus:pr218:pfs4 [2021/05/31 14:30] (текущий)
sfs [pfsinfo]
Строка 76: Строка 76:
      
  
-==== aufs-n==== +===== aufs-n===== 
 Показывает информацию о слоях AUFS Показывает информацию о слоях AUFS
  
-=== Параметры (ключи): ===+==== Параметры (ключи): ====
  
   *aufs-n N - вернет точку монтирования слоя "N"   *aufs-n N - вернет точку монтирования слоя "N"
   *--raw - полный вывод в удобном для конвейерной обработки виде   *--raw - полный вывод в удобном для конвейерной обработки виде
   *--raw '$n $source' - вернет значения только указанных переменных (см.--help)   *--raw '$n $source' - вернет значения только указанных переменных (см.--help)
-==== addmemory====  +===== addmemory=====  
 Увеличение размера корневой aufs за счет своп файла. [[ http://forum.puppyrus.org/index.php?topic=20672.0|Подробнее ]] Увеличение размера корневой aufs за счет своп файла. [[ http://forum.puppyrus.org/index.php?topic=20672.0|Подробнее ]]
  
Строка 104: Строка 104:
     ***--boot** - только для -c nspawn. См. systemd-nspawn -b     ***--boot** - только для -c nspawn. См. systemd-nspawn -b
     ***-X** - рарешить подключение к текущей X сессии. Для запуска в chroot приложений с GUI. Рекомендуется использовать с -c nspawn. Ядро хост-системы должно быть одинаковой архитектуры (i686 или x86_64) c гостевой. Сама хост-система может быть любой     ***-X** - рарешить подключение к текущей X сессии. Для запуска в chroot приложений с GUI. Рекомендуется использовать с -c nspawn. Ядро хост-системы должно быть одинаковой архитектуры (i686 или x86_64) c гостевой. Сама хост-система может быть любой
-===В качестве слоев AUFS можно использовать:===+====В качестве слоев AUFS можно использовать:====
   ***-m | --mask** - регулярное выражение (подставляется в egrep) применяемое для названий уже загруженных модулей.pfs. Т.е. хост и гостевая система одна и та же. Удобно для сборки модулей из пакетов. Примеры : [[puppyrus/pfs?&#chroot2pfs%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8Fpfs_%D0%B8%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F_arch_%D0%BD%D0%B0_%D0%BB%D1%8E%D0%B1%D0%BE%D0%BC_linux_%D1%81_aufs|Arch]], [[puppyrus/ddr?&#chroot2pfs|Debian]]   ***-m | --mask** - регулярное выражение (подставляется в egrep) применяемое для названий уже загруженных модулей.pfs. Т.е. хост и гостевая система одна и та же. Удобно для сборки модулей из пакетов. Примеры : [[puppyrus/pfs?&#chroot2pfs%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8Fpfs_%D0%B8%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F_arch_%D0%BD%D0%B0_%D0%BB%D1%8E%D0%B1%D0%BE%D0%BC_linux_%D1%81_aufs|Arch]], [[puppyrus/ddr?&#chroot2pfs|Debian]]
   ***--mlist** - список модулей и папок для создания aufs, разделитель в списке - , В списке можно применять # для блокирования. Пример : --mlist 1.pfs,#2.pfs,3.pfs . Хост и гостевая система могут быть разными   ***--mlist** - список модулей и папок для создания aufs, разделитель в списке - , В списке можно применять # для блокирования. Пример : --mlist 1.pfs,#2.pfs,3.pfs . Хост и гостевая система могут быть разными
Строка 112: Строка 112:
   chroot2pfs --bind ./::/tmp/bind --command urpmi /tmp/bind/пакет.rpm   chroot2pfs --bind ./::/tmp/bind --command urpmi /tmp/bind/пакет.rpm
  
-===Возможные действия внутри chroot ===+====Возможные действия внутри chroot ====
   ***--command**  - команда (этот параметр должен быть последним в строке). Например (запуск программы с другой локалью):  --command LANG=ru_RU.UTF-8 program. Работает только с -c chroot   ***--command**  - команда (этот параметр должен быть последним в строке). Например (запуск программы с другой локалью):  --command LANG=ru_RU.UTF-8 program. Работает только с -c chroot
   ***--script** - скрипт, который будет перенесен в chroot и запущен в нем   ***--script** - скрипт, который будет перенесен в chroot и запущен в нем
-=== Сохранение результатов===+==== Сохранение результатов====
   ***--nomod**  - не создавать модуль с изменениями   ***--nomod**  - не создавать модуль с изменениями
   ***--notrim** - не удалять заведомо не нужные в модуле файлы (кэш и т.п.)"   ***--notrim** - не удалять заведомо не нужные в модуле файлы (кэш и т.п.)"
Строка 122: Строка 122:
   ***-n | -o | --name** - имя создаваемого модуля или каталога (если указано без без расширения .pfs)"   ***-n | -o | --name** - имя создаваемого модуля или каталога (если указано без без расширения .pfs)"
  
-==== mkpfs ====+===== mkpfs =====
  
 Создаёт **.pfs**  из каталога (аналогично mksquashfs).  Создаёт **.pfs**  из каталога (аналогично mksquashfs). 
 Автоматически создаёт файлы **//pfs.files//**, **//pfs.specs//** и **//pfs.dirs.empty//** (при наличии внутри pfs пустых каталогов). Автоматически создаёт файлы **//pfs.files//**, **//pfs.specs//** и **//pfs.dirs.empty//** (при наличии внутри pfs пустых каталогов).
  
-== Использование: ==+==== Использование: ====
  
   ***mkpfs** - создаст **.pfs** из текущего каталога   ***mkpfs** - создаст **.pfs** из текущего каталога
Строка 135: Строка 135:
   ***mkpfs /path/1.pfs /path2/2.pfs /path3/3.pfs -o contaner.pfs** - создаст **составной.pfs** из перечисленных с именем **contaner.pfs**     ***mkpfs /path/1.pfs /path2/2.pfs /path3/3.pfs -o contaner.pfs** - создаст **составной.pfs** из перечисленных с именем **contaner.pfs**  
  
-== Параметры (ключи): ==+==== Параметры (ключи): ====
  
   ***-o** / **--out-file** - указывает название выходного файла **.pfs** (по умолчанию соответствует имени первого источника в списке).   ***-o** / **--out-file** - указывает название выходного файла **.pfs** (по умолчанию соответствует имени первого источника в списке).
Строка 150: Строка 150:
  
 Можно объединять до 126 **.pfs** (минус уже использованные другими монтированиями loop dev)  за один проход (если не указывать при загрузке параметр ядра //max_loop// с меньшим значением). Это ограничение AUFS. При большем количестве pfs рекомендуется объединить их в файлы по 126 pfs, потом объединить эти файлы. Можно объединять до 126 **.pfs** (минус уже использованные другими монтированиями loop dev)  за один проход (если не указывать при загрузке параметр ядра //max_loop// с меньшим значением). Это ограничение AUFS. При большем количестве pfs рекомендуется объединить их в файлы по 126 pfs, потом объединить эти файлы.
-==== mountfile==== +===== mountfile===== 
 Вспомогательный скрипт, монтирует модули Вспомогательный скрипт, монтирует модули
-=== Использование: ===+==== Использование: ====
   *mountfile file.pfs (в /mnt/+...)   *mountfile file.pfs (в /mnt/+...)
   *mountfile file.pfs <mount point>   *mountfile file.pfs <mount point>
  
-==== umountfile==== +===== umountfile===== 
 Вспомогательный скрипт, размонтирует модули.  Вспомогательный скрипт, размонтирует модули. 
  
 ВАЖНО. Требует дополнительного редактирования для последующего использования в сборках PRA. [[ http://forum.puppyrus.org/index.php?topic=21361.msg152605#msg152605|Подробнее ]] ВАЖНО. Требует дополнительного редактирования для последующего использования в сборках PRA. [[ http://forum.puppyrus.org/index.php?topic=21361.msg152605#msg152605|Подробнее ]]
  
-==== pfs==== +===== pfs===== 
   *Библиотека функций для pfs-utils;    *Библиотека функций для pfs-utils; 
   *функции могут быть использованы отдельно в консоли или в ваших скриптах   *функции могут быть использованы отдельно в консоли или в ваших скриптах
-=== Использование: ===+==== Использование: ====
  
   *pfs <function> <pars>   *pfs <function> <pars>
   *source /path/to/scripts/pfs ; <function> <pars>   *source /path/to/scripts/pfs ; <function> <pars>
-=== Функции (<function>): ===+==== Функции (<function>): ====
  
   *exitmsg - выход из скрипта с сообщением и кодом завершения   *exitmsg - выход из скрипта с сообщением и кодом завершения
Строка 182: Строка 182:
   *lsblocked - показать список модулей, которые невозможно отключить   *lsblocked - показать список модулей, которые невозможно отключить
  
-==== pfsload ====+===== pfsload =====
   *Подключает файл **.pfs** к корневой файловой системе AUFS.   *Подключает файл **.pfs** к корневой файловой системе AUFS.
   *Также могут быть подключены любые squashfs модули сжатие которых поддерживает ваша система, а также разделы **Ext2**/**3**/**4** и каталоги на таких разделах к корневой AUFS.   *Также могут быть подключены любые squashfs модули сжатие которых поддерживает ваша система, а также разделы **Ext2**/**3**/**4** и каталоги на таких разделах к корневой AUFS.
  
-== Параметры (ключи): ==+==== Параметры (ключи): ====
   ***-r** / **--toram** - копировать модуль в tmpfs и монтировать оттуда   ***-r** / **--toram** - копировать модуль в tmpfs и монтировать оттуда
   ***-u** / **--upper** - монтирование в верхний слой AUFS (по умолчанию).   ***-u** / **--upper** - монтирование в верхний слой AUFS (по умолчанию).
Строка 193: Строка 193:
   ***--ro** / **--read-only** - монтировать "только для чтения" (без возможности изменять). Модули без вариантов по умолчанию -r   ***--ro** / **--read-only** - монтировать "только для чтения" (без возможности изменять). Модули без вариантов по умолчанию -r
  
-== Использование: ==+==== Использование: ====
   ***pfsload  file.pfs**  - pfs-модуль   ***pfsload  file.pfs**  - pfs-модуль
   ***pfsload  file.img**  - образ с fs внутри   ***pfsload  file.img**  - образ с fs внутри
Строка 199: Строка 199:
  
  
-==== pfsunload ====+===== pfsunload =====
 Отключает файл от корневой файловой системы AUFS. Отключает файл от корневой файловой системы AUFS.
-== Параметры и ключи ==+==== Параметры и ключи ====
     ***-n / --no-update **  - не обновлять кэши меню и проч.     ***-n / --no-update **  - не обновлять кэши меню и проч.
     ***-s / --saveram **    - не удалять модуль из RAM после отключения ( смотрите pfsload -r )     ***-s / --saveram **    - не удалять модуль из RAM после отключения ( смотрите pfsload -r )
-== Использование: == +==== Использование: ==== 
-  ***pfsunload /file.pfs**+  pfsunload /file.pfs
  
-==== pfsuninstall ====+===== pfsuninstall =====
 Удаляет pfs из корневой файловой системы  Удаляет pfs из корневой файловой системы 
   *файлы, используемые несколькими pfs не будут удалены, пока хотя бы один из этих pfs установлен или подключен.   *файлы, используемые несколькими pfs не будут удалены, пока хотя бы один из этих pfs установлен или подключен.
   *действие обратное pfsextract -i модуль   *действие обратное pfsextract -i модуль
  
-==== pfsfind====+===== pfsfind=====
 Информация о том, к какому подключенному или установленному pfs относится указанный файл. Допустимо указывать часть имени файла. Информация о том, к какому подключенному или установленному pfs относится указанный файл. Допустимо указывать часть имени файла.
  
-== Использование: ==+==== Использование: ====
  
   *pfsfind filename - find "filename" формат удобный для чтения   *pfsfind filename - find "filename" формат удобный для чтения
Строка 221: Строка 221:
   *pfsfind filename --raw '$n $module' - только нужные поля (см.--help)   *pfsfind filename --raw '$n $module' - только нужные поля (см.--help)
  
-==== pfsinfo ====+===== pfsinfo =====
 При запуске **pfsinfo /file.pfs** выводит список pfs в составном.pfs При запуске **pfsinfo /file.pfs** выводит список pfs в составном.pfs
  
 При запуске без параметров выводит список всех pfs в системе. При запуске без параметров выводит список всех pfs в системе.
-== Параметры (ключи): ==+==== Параметры (ключи): ====
   ***-m** / **-.-mount** - выводить только подключённые pfs.   ***-m** / **-.-mount** - выводить только подключённые pfs.
   ***-i** / **-.-install** - выводить только установленные pfs.   ***-i** / **-.-install** - выводить только установленные pfs.
Строка 232: Строка 232:
  
  
-==== pfsextract ====+===== pfsextract =====
   *Составной модуль разбирает (извлекает отдельные pfs из составного модуля **.pfs**).   *Составной модуль разбирает (извлекает отдельные pfs из составного модуля **.pfs**).
   *Не составной - распаковывает   *Не составной - распаковывает
  
-== Использование: ==+==== Использование: ====
   ***pfsextract /file.pfs** - создать каталог <</file_pfs>> с отдельными файлами **.pfs** из <</file.pfs>>, каждый pfs в отдельном файле. Если file.pfs - не составной - распаковать в каталог ./file   ***pfsextract /file.pfs** - создать каталог <</file_pfs>> с отдельными файлами **.pfs** из <</file.pfs>>, каждый pfs в отдельном файле. Если file.pfs - не составной - распаковать в каталог ./file
   ***pfsextract /file.pfs pack1 pack2** - извлечь из file.pfs только модули pack1 и pack2    ***pfsextract /file.pfs pack1 pack2** - извлечь из file.pfs только модули pack1 и pack2 
   ***pfsextract -i /file.pfs pack1 ** - извлечь из file.pfs пакет pack1 и установить его в систему    ***pfsextract -i /file.pfs pack1 ** - извлечь из file.pfs пакет pack1 и установить его в систему 
  
-== Параметры (ключи): ==+==== Параметры (ключи): ====
   ***-no-progress** - не показывать строку прогресса.   ***-no-progress** - не показывать строку прогресса.
   ***-f** / **-.-fast** - быстрое сжатие (размер .pfs больше, но создается быстрее).   ***-f** / **-.-fast** - быстрое сжатие (размер .pfs больше, но создается быстрее).
Строка 250: Строка 250:
   ***-q**  - молча   ***-q**  - молча
  
-==== pfsrebuild====   +===== pfsrebuild=====   
 Cборка нового модуля по списку файлов из уже подключенного к aufs. Cборка нового модуля по списку файлов из уже подключенного к aufs.
   *Пересобирает модуль по спискам файлов. Сами файлы берет из системы.    *Пересобирает модуль по спискам файлов. Сами файлы берет из системы. 
Строка 257: Строка 257:
  
  
-=== Использование: ===+==== Использование: ====
  
-  *pfsrebuild <PACKAGE> <args for mkpfs> +  pfsrebuild <PACKAGE> <args for mkpfs> 
-==== sync2layer====  +===== sync2layer=====  
 Переносит файлы из верхнего слоя aufs во второй слой. Переносит файлы из верхнего слоя aufs во второй слой.
   *Подключает новый  rw слой (папка или img) и переносит в него файлы из changes.    *Подключает новый  rw слой (папка или img) и переносит в него файлы из changes. 
   *Использовать можно для освобождения RAM при переполнении changes, и для создания модулей с изменениями на ходу.   *Использовать можно для освобождения RAM при переполнении changes, и для создания модулей с изменениями на ходу.
  
-=== Использование: ===+==== Использование: ====
   *sync2layer <newlayer> - создать слой и перенести в него файлы из changes   *sync2layer <newlayer> - создать слой и перенести в него файлы из changes
   *sync2layer - перенести файлы в существующий второй слой   *sync2layer - перенести файлы в существующий второй слой
Строка 273: Строка 273:
  
  
-==== syschanges====  +===== syschanges=====  
 Отслеживание изменений в rw слое корневой aufs. [[ http://forum.puppyrus.org/index.php?topic=21961.msg160319#msg160319|Подробнее ]] Отслеживание изменений в rw слое корневой aufs. [[ http://forum.puppyrus.org/index.php?topic=21961.msg160319#msg160319|Подробнее ]]
  
Печать/экспорт