Понимание bootc и rpm-ostree

bootc

Основное внимание в Fedora/CentOS bootc уделяется bootc. Однако базовый образ "full" в настоящее время включает rpm-ostree, который использует значительную часть того же базового кода из проекта ostree.

Использование rpm-ostree

Установка и использование rpm-ostree в системе Fedora/CentOS bootc поддерживается, поскольку проекты bootc и rpm-ostree используют значительную часть общего базового кода.

Использование при сборке контейнеров

В настоящее время такие операции, как RUN rpm-ostree install foo, выполняемые в рамках сборки контейнера, существенно не отличаются от того, что происходит при RUN dnf install foo, — обе кодовые базы во многом используют общий код через libdnf.

Как правило, нет веской причины использовать rpm-ostree внутри сборки контейнера.

Клиентские операции

rpm-ostree upgrade/rollback

Команды rpm-ostree upgrade, rebase, deploy и т. д. корректно взаимодействуют с системой bootc — в настоящее время они работают с общим состоянием.

Вы можете заменять rpm-ostree upgrade на bootc upgrade и т. д.; в целом в настоящее время они выполняют одни и те же операции.

rpm-ostree install/override replace

Однако любые изменения локального состояния, такие как наложение пакетов, удаление или включение, например, rpm-ostree initramfs --enable, приведут к ошибке bootc upgrade.

Следовательно, если вы решите использовать такие функции, вам нужно будет перейти на взаимодействие с rpm-ostree для дальнейших обновлений.

В среднесрочной перспективе планируется расширить dnf, чтобы он также поддерживал аналогичную клиентскую функциональность: трекер клиентского наложения.

Это будет основано на более общей поддержке загрузки локальных сборок для постоянного наложения.