07-12-2019, 09:05 AM
What is Silverblue?
<div><p>Fedora Silverblue is becoming more and more popular inside and outside the Fedora world. So based on feedback from the community, here are answers to some interesting questions about the project. If you do have any other Silverblue related questions, please leave it in the comments section and we will try to answer them in a future article.</p>
<p> <span id="more-28637"></span> </p>
<h2>What is Silverblue?</h2>
<p>Silverblue is a codename for the new generation of the desktop operating system, previously known as Atomic Workstation. The operating system is delivered in images that are created by utilizing the <em><a href="https://rpm-ostree.readthedocs.io/en/latest/">rpm-ostree</a></em><a href="https://rpm-ostree.readthedocs.io/en/latest/"> project</a>. The main benefits of the system are speed, security, atomic updates and immutability. </p>
<h2>What does “Silverblue” actually mean?</h2>
<p>“Team Silverblue” or “Silverblue” in short doesn’t have any hidden meaning. It was chosen after roughly two months when the project, previously known as Atomic Workstation was rebranded. There were over 150 words or word combinations reviewed in the process. In the end <em>Silverblue</em> was chosen because it had an available domain as well as the social network accounts. One could think of it as a new take on Fedora’s blue branding, and could be used in phrases like “Go, Team Silverblue!” or “Want to join the team and improve Silverblue?”.</p>
<h2>What is ostree?</h2>
<p><a href="https://ostree.readthedocs.io/en/latest/">OSTree or libostree is a project</a> that combines a “git-like” model for committing and downloading bootable filesystem trees, together with a layer to deploy them and manage the bootloader configuration. OSTree is used by rpm-ostree, a hybrid package/image based system that Silverblue uses. It atomically replicates a base OS and allows the user to “layer” the traditional RPM on top of the base OS if needed.</p>
<h2>Why use Silverblue?</h2>
<p>Because it allows you to concentrate on your work and not on the operating system you’re running. It’s more robust as the updates of the system are atomic. The only thing you need to do is to restart into the new image. Also, if there’s anything wrong with the currently booted image, you can easily reboot/rollback to the previous working one, if available. If it isn’t, you can download and boot any other image that was generated in the past, using the <em>ostree</em> command.</p>
<p>Another advantage is the possibility of an easy switch between branches (or, in an old context, Fedora releases). You can easily try the <em><a href="https://fedoraproject.org/wiki/Releases/Rawhide">Rawhide</a></em> or <em><a href="https://fedoraproject.org/wiki/QA:Updates_Testing">updates-testing</a></em> branch and then return back to the one that contains the current stable release. Also, you should consider Silverblue if you want to try something new and unusual.</p>
<h2>What are the benefits of an immutable OS?</h2>
<p>One of the main benefits is security. The base operating system is mounted as read-only, and thus cannot be modified by malicious software. The only way to alter the system is through the <em>rpm-ostree</em> utility.</p>
<p>Another benefit is robustness. It’s nearly impossible for a regular user to get the OS to the state when it doesn’t boot or doesn’t work properly after accidentally or unintentionally removing some system library. Try to think about these kind of experiences from your past, and imagine how Silverblue could help you there.</p>
<h2>How does one manage applications and packages in Silverblue?</h2>
<p>For graphical user interface applications, <a href="https://flatpak.org/">Flatpak</a> is recommended, if the application is available as a flatpak. Users can choose between Flatpaks from either Fedora and built from Fedora packages and in Fedora-owned infrastructure, or Flathub that currently has a wider offering. Users can install them easily through GNOME Software, which already supports Fedora Silverblue.</p>
<p>One of the first things users find out is there is no <em>dnf</em> preinstalled in the OS. The main reason is that it wouldn’t work on Silverblue — and part of its functionality was replaced by the <em>rpm-ostree</em> command. Users can overlay the traditional packages by using the <em>rpm-ostree install PACKAGE</em>. But it should only be used when there is no other way. This is because when the new system images are pulled from the repository, the system image must be rebuilt every time it is altered to accommodate the layered packages, or packages that were removed from the base OS or replaced with a different version. </p>
<p>Fedora Silverblue comes with the default set of GUI applications that are part of the base OS. The team is working on porting them to Flatpaks so they can be distributed that way. As a benefit, the base OS will become smaller and easier to maintain and test, and users can modify their default installation more easily. If you want to look at how it’s done or help, take a look at the official <a href="https://docs.fedoraproject.org/en-US/flatpak/tutorial/">documentation</a>. </p>
<h2>What is Toolbox?</h2>
<p><a href="https://github.com/debarshiray/toolbox"><em>Toolbox</em></a> is a project to make containers easily consumable for regular users. It does that by using <em>podman</em>’s rootless containers. <em>Toolbox</em> lets you easily and quickly create a container with a regular Fedora installation that you can play with or develop on, separated from your OS.</p>
<h2>Is there any Silverblue roadmap?</h2>
<p>Formally there isn’t any, as we’re focusing on problems we discover during our testing and from community feedback. We’re currently using Fedora’s <a href="https://teams.fedoraproject.org/project/silverblue/">Taiga</a> to do our planning.</p>
<h2>What’s the release life cycle of the Silverblue?</h2>
<p>It’s the same as regular Fedora Workstation. A new release comes every 6 months and is supported for 13 months. The team plans to release updates for the OS bi-weekly (or longer) instead of daily as they currently do. That way the updates can be more thoroughly tested by QA and community volunteers before they are sent to the rest of the users.</p>
<h2>What is the future of the immutable OS?</h2>
<p>From our point of view the future of the desktop involves the immutable OS. It’s safest for the user, and Android, ChromeOS, and the last macOS Catalina all use this method under the hood. For the Linux desktop there are still problems with some third party software that expects to write to the OS. HP printer drivers are a good example.</p>
<p>Another issue is how parts of the system are distributed and installed. Fonts are a good example. Currently in Fedora they’re distributed in RPM packages. If you want to use them, you have to overlay them and then restart to the newly created image that contains them.</p>
<h2>What is the future of standard Workstation?</h2>
<p>There is a possibility that the Silverblue will replace the regular Workstation. But there’s still a long way to go for Silverblue to provide the same functionality and user experience as the Workstation. In the meantime both desktop offerings will be delivered at the same time.</p>
<h2>How does Atomic Workstation or Fedora CoreOS relate to any of this?</h2>
<p>Atomic Workstation was the name of the project before it was renamed to Fedora Silverblue.</p>
<p>Fedora CoreOS is a different, but similar project. It shares some fundamental technologies with Silverblue, such as <em>rpm-ostree</em>, <em>toolbox</em> and others. Nevertheless, CoreOS is a more minimal, container-focused and automatically updating OS.</p>
</div>
<div><p>Fedora Silverblue is becoming more and more popular inside and outside the Fedora world. So based on feedback from the community, here are answers to some interesting questions about the project. If you do have any other Silverblue related questions, please leave it in the comments section and we will try to answer them in a future article.</p>
<p> <span id="more-28637"></span> </p>
<h2>What is Silverblue?</h2>
<p>Silverblue is a codename for the new generation of the desktop operating system, previously known as Atomic Workstation. The operating system is delivered in images that are created by utilizing the <em><a href="https://rpm-ostree.readthedocs.io/en/latest/">rpm-ostree</a></em><a href="https://rpm-ostree.readthedocs.io/en/latest/"> project</a>. The main benefits of the system are speed, security, atomic updates and immutability. </p>
<h2>What does “Silverblue” actually mean?</h2>
<p>“Team Silverblue” or “Silverblue” in short doesn’t have any hidden meaning. It was chosen after roughly two months when the project, previously known as Atomic Workstation was rebranded. There were over 150 words or word combinations reviewed in the process. In the end <em>Silverblue</em> was chosen because it had an available domain as well as the social network accounts. One could think of it as a new take on Fedora’s blue branding, and could be used in phrases like “Go, Team Silverblue!” or “Want to join the team and improve Silverblue?”.</p>
<h2>What is ostree?</h2>
<p><a href="https://ostree.readthedocs.io/en/latest/">OSTree or libostree is a project</a> that combines a “git-like” model for committing and downloading bootable filesystem trees, together with a layer to deploy them and manage the bootloader configuration. OSTree is used by rpm-ostree, a hybrid package/image based system that Silverblue uses. It atomically replicates a base OS and allows the user to “layer” the traditional RPM on top of the base OS if needed.</p>
<h2>Why use Silverblue?</h2>
<p>Because it allows you to concentrate on your work and not on the operating system you’re running. It’s more robust as the updates of the system are atomic. The only thing you need to do is to restart into the new image. Also, if there’s anything wrong with the currently booted image, you can easily reboot/rollback to the previous working one, if available. If it isn’t, you can download and boot any other image that was generated in the past, using the <em>ostree</em> command.</p>
<p>Another advantage is the possibility of an easy switch between branches (or, in an old context, Fedora releases). You can easily try the <em><a href="https://fedoraproject.org/wiki/Releases/Rawhide">Rawhide</a></em> or <em><a href="https://fedoraproject.org/wiki/QA:Updates_Testing">updates-testing</a></em> branch and then return back to the one that contains the current stable release. Also, you should consider Silverblue if you want to try something new and unusual.</p>
<h2>What are the benefits of an immutable OS?</h2>
<p>One of the main benefits is security. The base operating system is mounted as read-only, and thus cannot be modified by malicious software. The only way to alter the system is through the <em>rpm-ostree</em> utility.</p>
<p>Another benefit is robustness. It’s nearly impossible for a regular user to get the OS to the state when it doesn’t boot or doesn’t work properly after accidentally or unintentionally removing some system library. Try to think about these kind of experiences from your past, and imagine how Silverblue could help you there.</p>
<h2>How does one manage applications and packages in Silverblue?</h2>
<p>For graphical user interface applications, <a href="https://flatpak.org/">Flatpak</a> is recommended, if the application is available as a flatpak. Users can choose between Flatpaks from either Fedora and built from Fedora packages and in Fedora-owned infrastructure, or Flathub that currently has a wider offering. Users can install them easily through GNOME Software, which already supports Fedora Silverblue.</p>
<p>One of the first things users find out is there is no <em>dnf</em> preinstalled in the OS. The main reason is that it wouldn’t work on Silverblue — and part of its functionality was replaced by the <em>rpm-ostree</em> command. Users can overlay the traditional packages by using the <em>rpm-ostree install PACKAGE</em>. But it should only be used when there is no other way. This is because when the new system images are pulled from the repository, the system image must be rebuilt every time it is altered to accommodate the layered packages, or packages that were removed from the base OS or replaced with a different version. </p>
<p>Fedora Silverblue comes with the default set of GUI applications that are part of the base OS. The team is working on porting them to Flatpaks so they can be distributed that way. As a benefit, the base OS will become smaller and easier to maintain and test, and users can modify their default installation more easily. If you want to look at how it’s done or help, take a look at the official <a href="https://docs.fedoraproject.org/en-US/flatpak/tutorial/">documentation</a>. </p>
<h2>What is Toolbox?</h2>
<p><a href="https://github.com/debarshiray/toolbox"><em>Toolbox</em></a> is a project to make containers easily consumable for regular users. It does that by using <em>podman</em>’s rootless containers. <em>Toolbox</em> lets you easily and quickly create a container with a regular Fedora installation that you can play with or develop on, separated from your OS.</p>
<h2>Is there any Silverblue roadmap?</h2>
<p>Formally there isn’t any, as we’re focusing on problems we discover during our testing and from community feedback. We’re currently using Fedora’s <a href="https://teams.fedoraproject.org/project/silverblue/">Taiga</a> to do our planning.</p>
<h2>What’s the release life cycle of the Silverblue?</h2>
<p>It’s the same as regular Fedora Workstation. A new release comes every 6 months and is supported for 13 months. The team plans to release updates for the OS bi-weekly (or longer) instead of daily as they currently do. That way the updates can be more thoroughly tested by QA and community volunteers before they are sent to the rest of the users.</p>
<h2>What is the future of the immutable OS?</h2>
<p>From our point of view the future of the desktop involves the immutable OS. It’s safest for the user, and Android, ChromeOS, and the last macOS Catalina all use this method under the hood. For the Linux desktop there are still problems with some third party software that expects to write to the OS. HP printer drivers are a good example.</p>
<p>Another issue is how parts of the system are distributed and installed. Fonts are a good example. Currently in Fedora they’re distributed in RPM packages. If you want to use them, you have to overlay them and then restart to the newly created image that contains them.</p>
<h2>What is the future of standard Workstation?</h2>
<p>There is a possibility that the Silverblue will replace the regular Workstation. But there’s still a long way to go for Silverblue to provide the same functionality and user experience as the Workstation. In the meantime both desktop offerings will be delivered at the same time.</p>
<h2>How does Atomic Workstation or Fedora CoreOS relate to any of this?</h2>
<p>Atomic Workstation was the name of the project before it was renamed to Fedora Silverblue.</p>
<p>Fedora CoreOS is a different, but similar project. It shares some fundamental technologies with Silverblue, such as <em>rpm-ostree</em>, <em>toolbox</em> and others. Nevertheless, CoreOS is a more minimal, container-focused and automatically updating OS.</p>
</div>