Различия
Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
puppyrus:pr218:pfs4 [2021/05/31 14:18] sfs [mountfile] |
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===== | ||
+ | Увеличение размера корневой aufs за счет своп файла. [[ http://forum.puppyrus.org/index.php?topic=20672.0|Подробнее ]] | ||
- | ==== chroot2pfs==== | + | ===== chroot2pfs==== |
Собирает несколько слоев [[setups/start#aufs|AUFS]] в новый корень, в который делается [[https://wiki.archlinux.org/title/Chroot_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)|chroot]]. Внутри выполняются действия, результат которых при выходе из chroot (Ctrl+d или exit) сохраняется | Собирает несколько слоев [[setups/start#aufs|AUFS]] в новый корень, в который делается [[https://wiki.archlinux.org/title/Chroot_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)|chroot]]. Внутри выполняются действия, результат которых при выходе из chroot (Ctrl+d или exit) сохраняется | ||
*[[http://forum.puppyrus.org/index.php?topic=21158.0|Обсуждение]] | *[[http://forum.puppyrus.org/index.php?topic=21158.0|Обсуждение]] | ||
***-h | --help** - внутренняя справка | ***-h | --help** - внутренняя справка | ||
- | ===Варианты chroot : === | + | ====Варианты chroot : === |
**-c | --contaner** -тип контейнера | **-c | --contaner** -тип контейнера | ||
***chroot** - обычный. По умолчанию. Достаточен для сборки модулей из пакетов и пр. действий в консоли. Например (сборка модуля mc в каталог ModuleDIR): | ***chroot** - обычный. По умолчанию. Достаточен для сборки модулей из пакетов и пр. действий в консоли. Например (сборка модуля mc в каталог ModuleDIR): | ||
Строка 102: | Строка 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 . Хост и гостевая система могут быть разными | ||
Строка 110: | Строка 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** - не удалять заведомо не нужные в модуле файлы (кэш и т.п.)" | ||
Строка 120: | Строка 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** из текущего каталога | ||
Строка 133: | Строка 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** (по умолчанию соответствует имени первого источника в списке). | ||
Строка 148: | Строка 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 - выход из скрипта с сообщением и кодом завершения | ||
Строка 180: | Строка 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 (по умолчанию). | ||
Строка 191: | Строка 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 внутри | ||
Строка 197: | Строка 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" формат удобный для чтения | ||
Строка 219: | Строка 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. | ||
Строка 230: | Строка 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 больше, но создается быстрее). | ||
Строка 248: | Строка 250: | ||
***-q** - молча | ***-q** - молча | ||
- | ==== pfsrebuild==== | + | ===== pfsrebuild===== |
Cборка нового модуля по списку файлов из уже подключенного к aufs. | Cборка нового модуля по списку файлов из уже подключенного к aufs. | ||
*Пересобирает модуль по спискам файлов. Сами файлы берет из системы. | *Пересобирает модуль по спискам файлов. Сами файлы берет из системы. | ||
Строка 255: | Строка 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 - перенести файлы в существующий второй слой | ||
Строка 270: | Строка 272: | ||
- | ==== addmemory==== | ||
- | Увеличение размера корневой aufs за счет своп файла. [[ http://forum.puppyrus.org/index.php?topic=20672.0|Подробнее ]] | ||
- | ==== 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|Подробнее ]] | ||