2023.01.09 Moving from Ubuntu 18.04 to Fedora Silverblue 37 - GlenKPeterson/One-off_Examples GitHub Wiki
On January 6th I started using Fedora Silverblue as my primary OS. It sounded like a potentially more secure setup.
- Fedora uses a plain vanilla Gnome desktop. Ubuntu uses a customized Gnome.
- The OS image is fixed and is updated as a unit, kind of like firmware. The specific technology that manages this is called os-tree.
- Flatpak is the package manager instead of Snap. It installs applications and their dependencies in chunks. Somehow it can share common chunks yet keep applications largely isolated from each other and from the host OS.
Android and Mac both use immutable operating systems; Windows and other Linux distributions do not. I found I was using more and more flatpaks on my old version of Ubuntu and wanted to keep development environments more separate (some expected different versions of the same software).
The install went smoothly and quickly (I accepted all defaults). The default file manager may take a little getting used to, but it mounted my old drive automatically and instantly found my camera's USB stick.
Installed (via flatpak):
- Google Chrome: I had to insert my security key before starting Chrome in order for it to be recognized. I believe this is a Flatpak limitation, but it's being worked on and I can live with it for now.
- Flatseal - to view Flatpak permissions
- Bitwarden
- IntelliJ-IDEA-Ultimate
- Darktable
- GIMP
- Steam (it copied my save files automatically)
I intended to use Fedora's [toolbox](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/) to create development environments, but it only understands Fedora-based containers. I considered installing distrobox, but wanted to try to do things the "Silverblue Way" which means no installs on the base OS. I decided to try running podman directly:
$ podman search ubuntu
NAME DESCRIPTION
docker.io/library/ubuntu Ubuntu is a Debian-based Linux operating sys...
...
$ podman run -it docker.io/library/ubuntu:18.04
Trying to pull docker.io/library/ubuntu:18.04...
Getting image source signatures
Copying blob a055bf07b5b0 done
Copying config e28a50f651 done
Writing manifest to image destination
Storing signatures
root@76cd1e25647f:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
r
Next step: Define my development environment in a Docker file!