Понимание 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, чтобы он также поддерживал аналогичную клиентскую функциональность: трекер клиентского наложения.
Это будет основано на более общей поддержке загрузки локальных сборок для постоянного наложения.
Want to help? Learn how to contribute to Fedora Docs ›