- Работа с модулями.pfs
- Отключить
- Установить
- Смотреть
- Распаковать (пересобрать)
- Автообновление модулей
- Стандарты названий модулей
- chroot2pfs: создание модуля.pfs из репозитория Arch на любом Linux с AUFS
- mk-dp: создание псевдопакета arch и ubuntu
- mkmod: создание модуля.pfs из пакетов ubuntu или arch на загруженной системе
- Установка пакетов pkg linux
- ¶ DEB пакеты
- ¶ Установка .apk пакетов
- ¶ Установка .pkg.tar.zst, .tgz, .tbz, .tbz2, .pkg.gz пакетов
- ¶ Пример установки
Работа с модулями.pfs
Модуль монтируется в корень / AUFS. Если подключить в верхний слой AUFS — он перекроет прочие ausf файлы (только ausf, то что Вы изменяли будет всегда сверху ; посмотреть изменения — в /mnt/live/memory/changes ). Можно перед подключением скопировать его в память, что даст:
Плюсы — можно отключить загрузочную флэшку, обращения к винту минимальны — экономим ресурс и батарею, система работеет быстрее
Некоторые модули имеют зависимые модули (без которых работать не будет). При подключении модуля через sfs-get — будет предложено подключить зависимые. Просмотреть зависимости без подключения можно :
Добавляйте модуль в автозагрузку системы (в /modules) только после его тестирования в интерактивном режиме и только со всеми зависимостями
Отключить
Если хотя бы один файл модуля занят (запущен или открыт в другой программе) — он не отключится
Закройте связанные программы, перезагрузите Х. Иногда помогает только reboot
Установить
Модуль будет распакован в корень и перекроет все. Если после этого не сделать сохраненку — после перезагруза все пропадет. По большому счету — это рудименты .pet. Там был только этот вариант.
Практическая польза — сделать во время экспериментов, чтобы файлы модуля гарантированно перекрыли все (aufs и changes)
Смотреть
Модуль монтируется на чтение (mount -o loop ) в каталог. Можно посмотреть что внутри. Ничего более
Распаковать (пересобрать)
Автообновление модулей
Стандарты названий модулей
Для правильной работы автообновления, необходимо придерживаться стандарта:
XXX-*.pfs : базовые модули. X- цифры по которым модули сортируются по слоям aufs (т.е. какой модуль перекрывает остальные). При загрузке из /optional и т.п. используйте sort=
chroot2pfs: создание модуля.pfs из репозитория Arch на любом Linux с AUFS
chroot2pfs создает свой корень системы из перечисленных модулей (каталогов) , делает chroot и при выходе сохраняет результат ваших действий
chroot2pfs --mlist /путь/001. /путь/030-qt5. --command bash
Если вы собираете на загруженной системе (т.е. модули 001*.pfs и 030-qt5*.pfs являются слоями AUFS Вашей системы и уже подключены):
chroot2pfs -m "^\(001\|030-qt5\)-.*" --command bash
pacman -Sy && pacman -S нужные_пакеты
mk-dp: создание псевдопакета arch и ubuntu
В ubuntu-debian переносит /var/lib/dpkg/status в /var/lib/dpkg/_status/имя_модуля.stt удалив из него все не про этот модуль. Так удобнее для chroot2pfs (внутри сделать dpkg-fix) и апдейта части модулей (верхние модули не перекроют обновленные индексы обновленных пакетов).
можно установить дистрибутив как FULL (инсталлятором) и работать (удалять) с этими модулями как с пакетами.
Для портированных модулей mk-dp создает псевдо (без зависимостей и т..п.) индексы для apt и pacman. Пример
# mk-dp Создание индексов apt и pacman модуля.pfs. Дает возможность удалить модуль, установленный распаковкой (unsquashfs -dest / модуль.pfs) модуля.pfs в корень FULL дистрибутива его стандартным пакетным менеджером (apt purge или pacman -R) Для apt нужно после распаковки дополнительно использовать dpkg-fix Usage: /usr/local/bin/mk-dp [-1] [-l] [-a] [-p] dir dir : директория с распакованным составным модулем.pfs , т.е. dir/mod1 dir/mod2 . -1 : директория с распакованным одиночным модулем.pfs. Можно не указывать - автоопределится -l : показать устанновленные в систему такие модули. apt - группа portable. pacman - группа mk-dp -a : создать только apt индексы -p : создать только pacman индексы -r : удалить */var/lib/dpkg и */var/lib/pacman
mkmod: создание модуля.pfs из пакетов ubuntu или arch на загруженной системе
Это обертка вокруг chroot2pfs. Использует уже загруженные модули вашего дистрибутива
Установка пакетов pkg linux
Метод создания chroot-окружения подходит для создания окружения с любым дистрибутивом, использующим репозиторий основанный на .rpm пакетах.
¶ DEB пакеты
Метод создания chroot-окружения подходит для создания окружения с любым дистрибутивом, использующим репозиторий основанный на .deb пакетах.
¶ Установка .apk пакетов
¶ Установка .pkg.tar.zst, .tgz, .tbz, .tbz2, .pkg.gz пакетов
Для установки .tgz, .tbz, .tbz2, .pkg.gz необходимо имеющийся пакет разархивировать с помощью утилиты tar:
#Для архивов сжатых с помощью GZIP (.gz, .gz2 и т.д.): tar -xvzf имя_файла #Для архивов сжатых с помощью BZIP (.bz, .bz2 и т.д.): tar -xvjf имя_файла #Для архивов сжатых с помощью XZ (.tar.xz, .txz): tar -xvJf имя_файла
- x — извлечь файлы из архива;
- v — подробный вывод информации на экран;
- f — Обязательная опция. Если не указать, Tar будет пытаться использовать магнитную ленту вместо файла;
- z — обработать архив сжатый gzip’ом;
- j — обработать архив сжатый bzip’ом.
После выполнения команды, будет создан каталог с именем, идентичным названию пакета .
Переход в созданный каталог:
Далее, все зависит от того, как была собрана программа: в виде исполняемого файла , или в исходном коде .
Перед установкой прочитать инструкцию (README), которая присутствует в каждом архиве.
Если программа собрана в виде исполняемого файла , в папке будет находиться файл, с расширением .sh или же с названием необходимой программы (например, firefox). Его достаточно просто запустить на исполнение:
Если же программа представлена в исходном коде , выполнить следующие команды:
./configure # Поиск необходимых для компиляции библиотек и заголовочных файлов make # компиляция программы sudo make install # установка программы
После установки выполнить очистку каталога от всех файлов полученных в результате компиляции:
¶ Пример установки
Для примера приведена установка GParted.
Клонируем актуальную версию GParted с GitHub:
git clone https://github.com/GNOME/gparted.git
В файле README указаны необходимые зависимости для устанавливаемой программы, если они отсутствуют в системе, то их необходимо установить.
Далее следует запустить формирование установочного файла:
Затем необходимо запустить:
Программа GParted установлена.