Использование инструментария [[https://ostreedev.github.io/ostree/ OSTree]] для сборки из Oracle Linux загрузочных образов, обновляемых атомарно без разделения на отдельные пакеты.Устанавливаем ostree и rpm-ostree
dnf install -y ostree rpm-ostree
Создаём рабочий каталог ~/ostree-test и инициализируем ostree-репозиторий:
mkdir $HOME/ostree-test
cd $HOME/ostree-test
ostree --repo=$(pwd) init
Формируем в каталоге ~/ostree-test начинку репозитория
sudo dnf install --installroot=$(pwd) --releasever=9 oraclelinux-release rpm-ostree bash coreutils kernel-uek-core grub2-efi-x64 -y
Добавляем созданную начинку в репозиторий ostree:
ostree --repo=$(pwd) commit -b my_ostree_test --tree=dir=$(pwd) --subject="My first ostree OL9 commit"
[[https://ostreedev.github.io/ostree/man/ostree-summary.html Перегенерируем]] сводный файл с метаданными:
ostree --repo=$(pwd) summary --update
Извлекаем корневую ФС из внешнего репозитория ostree-test, используя промежуточный локальный репозиторий ostree-test-remote:
cd $HOME
mkdir ostree-test-remote
cd ostree-test-remote
sudo ostree --repo=$(pwd) init
sudo ostree --repo=$(pwd) remote add ol-local file:///$HOME/ostree-test --no-gpg-verify
sudo ostree --repo=$(pwd) remote refs ol-local # выдаст ветку ol-local:my_ostree_test
Извлекаем файлы для проверки содержимого корневой ФС
sudo ostree --repo=$(pwd) pull ol-local my_ostree_test
sudo ostree --repo=$(pwd) checkout my_ostree_test newroot
ls newroot
afs config extensions lib64 objects refs sbin sys var
bin dev home media opt root srv tmp
boot etc lib mnt proc run state usr
Активируем загрузочную файловую систему и перезагружаемся в неё:
sudo rpm-ostree rebase ol-local:my_ostree_test
sudo systemctl reboot
Для установки дополнительных rpm-пакетов поверх созданного окружения можно использовать команду "rpm-ostree install имя_пакета".
URL: https://blogs.oracle.com/linux/immutable-images-for-oracle-l...
Обсуждается: http://www.opennet.dev/tips/info/3280.shtml