Operating System Upgrades via rpm-ostree
Project Atomic features a new update system for operating systems
rpm-ostree, also accessible via the
atomic host command.
In the default model, the RPMs are composed on a server into an OSTree
repository, and client systems can replicate in an image-like fashion,
including incremental updates.
Unlike traditional operating system update mechanisms, it will automatically keep the previous version of the OS, always available for rollback.
Upgrading a Machine with rpm-ostree
atomic host upgrade (aka
rpm-ostree upgrade). This
is somewhat like a
yum update, except it updates all of the content
as an atomic unit. The data origin is a
for example on CentOS Atomic Host, it’s
You can find the origin URL in
If a new version is found, it will first be downloaded, then deployed.
At that point, a three-way merge of configuration is performed, using the
/etc as a base, and applying your changes on top.
After an update is prepared, you should
systemctl reboot to cause
the updates to take effect.
Rollback to the Previous Tree
By default, you always have a previous tree (an operating system snapshot) installed. So if something goes wrong, you can always fall back to the previous tree. The previous tree is available as a bootloader entry; to access the previous tree, hold down SHIFT during OS bootup and select the fallback tree in the bootloader menu.
If you boot into the new tree and determine that something is wrong,
you can invoke
Deploy a specific version
One of the major goals of the OSTree project is that operating system content should be versioned and integration tested together. Hence, each commit has a version number, and the client understands how to traverse history.
atomic host deploy <version number> to instruct the client
to deploy an exact version - one that you may have integration
For image upgrades behind a corporate internet proxy you simple add the
proxy= line in
Package layering is using another method and needs another modification: add the
proxy= line in the corresponding repo file in
Please note: Adding this line in
/etc/yum.conf doesn’t work!
Example: To install open-vm-tools:
1) Just add line:
proxy=http://<proxy ip-address>:<proxy port> in
atomic host install open-vm-tools to install the package.
systemctl reboot to activate.
atomic host status to reflect the change after reboot.