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!