On Tue, Jul 18, 2017, at 02:58 PM, Chris Murphy wrote:
> But if I've understood correctly, any changes to the base
will be discarded
> when you update the base image. right?
No; `rpm-ostree install` is persistent, and so are other changes like
`rpm-ostree initramfs --enable` and so is the recently added `ex override`:
https://github.com/projectatomic/rpm-ostree/pull/852
A bit more information about layering and live changes:
http://www.projectatomic.io/blog/2017/06/rpm-ostree-v2017.6-released/
What Chris is talking about is `ostree admin unlock` which is *designed*
to go away after reboot:
https://lists.projectatomic.io/projectatomic-archives/atomic-devel/2016-M...
I'm not sure what the long term plan is. Right now changes to
/usr
(normally read only)
It's more that rpm-ostree is the *sole* tool that mutates /usr; every
change is an atomic, interrupt-able transaction queued for the next boot
by default (unless one invokes `ex livefs`): Even local RPM installation:
# curl -L -O
https://kojipkgs.fedoraproject.org//packages/cowsay/3.04/5.fc26/noarch/co...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 46398 100 46398 0 0 30583 0 0:00:01 0:00:01 --:--:-- 30565
# rpm-ostree install ./cowsay-3.04-5.fc26.noarch.rpm
...
Will download: 39 packages (13.1 MB)
...
Transaction complete; bootconfig swap: yes deployment count change: 1
Added:
cowsay-3.04-5.fc26.noarch
groff-base-1.22.3-9.fc26.x86_64
perl-4:5.24.2-393.fc26.x86_64
perl-Carp-1.40-366.fc26.noarch
...
# cowsay foo
bash: cowsay: command not found
# rpm-ostree ex livefs
...
Preparing new rollback matching currently booted deployment
Transaction complete; bootconfig swap: yes deployment count change: 1
Overlaying /usr... done
...
# cowsay hi
____
< hi >
----
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
# touch /usr/bin/foo
touch: cannot touch '/usr/bin/foo': Read-only file system
(How did it work if /usr stays read-only the entire time? It's because rpm-ostree
knows how to go
"underneath" the mount, which really comes from /sysroot)
Big picture, as it says on github, rpm-ostree aims to be a full
hybrid image/package system, also supporting both offline updates
*and* online updates if you want that - anything that is "you can't do
that"
is a bug.