On Thu, Jul 02, 2020 at 03:53:26PM +0000, Zbigniew Jędrzejewski-Szmek wrote:
this is partially an outgrowth of the discussion about btrfs as
default, but makes sense independently too...
It would be great if we could fairly reliably boot with a read-only
root file system, all the way to the graphical environment. Obviously,
such a machine will not be fully functional, but for users, debugging a
disk problem when they have the normal environment with windows,
tabbed terminals, graphical editors, and internet is vastly easier.
It also creates an image of robustness. Imagine that instead of being
rudely dropped to a terminal prompt, the user is instead able to log in
as usual and see a popup like
> Your home directory is read-only. Do this and that. See https://...
Is the goal to have *everything* working? No. Some services will and
should fail. If I have a database or anything else which only makes
sense with permanent storage, failing early and loudly is appropriate.
But services which need writable storage only tangentially or not at
all should be robust and not fail. Journald behaves in a fashion where
it stores logs to /run during early boot and them flushes them to /var/log
when that becomes available. If /var/log never become available, we
have a functional logs, with journalctl showing previous and current boot
just fine. The only caveat is that logs for current boot will be lost
upon reboot. Such graceful failure should be the norm.
I presume you're referring to regular Fedora here, but this description
feels like it is approx asking for what Fedora Silverblue has delivered,
only with the writable area for apps being just a ram disk with no
"Silverblue is a variant of Fedora Workstation. It looks,
feels and behaves like a regular desktop operating system,
and the experience is similar to what you find with using
a standard Fedora Workstation.
However, unlike other operating systems, Silverblue is
immutable. This means that every installation is identical
to every other installation of the same version. The operating
system that is on disk is exactly the same from one machine to
the next, and it never changes as it is used.
Silverblue’s immutable design is intended to make it more
stable, less prone to bugs, and easier to test and develop.
Finally, Silverblue’s immutable design also makes it an
excellent platform for containerized applications as well
as container-based software development. In each case,
applications (apps) and containers are kept separate from
the host system, improving stability and reliability."