These are some notes for myself. If you find them useful, woohoo.
The background to this is that I decided to reduce the number of PCs I own. They all run on a version of Linux now, specifically Fedora, currently version 38. One uses the special silverblue option (read-operating system): this is a glimpse of the future, but is not ideal if you want to install software via random rpms that you find on the Internet.
Installing from a live usb drive is very straightforward. Installing onto one device and having the /home directory on another (to allow re-use of exiting configs) is tricky because of this problem. It can only be solved by booting off the live usb and adding a real password to the root account by using the dreaded chroot command. Hopefully, you won’t be affected. Solving this lead to me discovering the purpose of the subvol parameter in the options for mounting a disk in /etc/fstab. I live and learn, I just wish it wasn’t when I had real work to do.
Anyway, I managed to put an nvme disk into a PCI Express slot on my motherboard, which gave me a silent and fast boot disk (and main OS disk). This worked fine, but then I had to start installing all the apps which don’t come bundled with Fedora. Generally, these are easy to install: you can just type the name of the application and bash invites you to install via dnf.
Of course, some things are trickier. I love unison, the file synchronisation app. Unfortunately, it’s written in OCaml, the Irish ship of the desert. No! It’s an obscure (to me) functional language, that isn’t always immediately available for a new release of Fedora. Anyway, there is a special repo from which it can be installed, but it’s definitely not Apple-style user friendliness.
I really want to stick to open source software, but sometimes it’s not practical. I’d prefer to have a browser that allows video and audio playback. Sadly, these formats are not open source and so the decoders are not available in the standard repos. This is all very tedious. The solution is to install ffmpeg libs from RPM-fusion. It’s not hard, and once you’ve done it a few times it’s a piece of cake, but it’s a bit of friction that would terminally discourage a civilian user. No regular user is going to think that an OS that comes with a browser that doesn’t support video playback by design is fit for ordinary use. This is such a crying shame. If you do feel like giving Fedora a whirl, just don’t get discouraged before you get started.
Anyway, if you haven’t been put off so far, here are my tips for a great experience:
minimize the number of repos you enable,
if you use python, use some system that allows you to back out of installing slews of dependencies, such as venv or pip,
install Bilal Elmoussaoui’s Authenticator app: it’s a great way of sorting out your accounts that need 2FA,
install rclone. This is a fab way to access almost any type of cloud storage. It has a fuse mount option, which is great,
install BetterBird as an email client. It is head and shoulders over the competition,
if you use OneDrive, rclone is a bit broken, but there are a couple of viable alternatives. I use two, one is called onedrive which provides manual directional and bi-directional synchronization to a local filesystem, the other is called onedriver which mounts the cloud drive as a virtual mounted filesystem. Both are pretty good, but there seems to be a wide choice of alternatives. To be honest, these seem a better option that the MS Windows client, which in my experience gets ‘stuck’ occasionally. Obviously, there are some limitations: if you have two files in the same directory which differ only by the capitalization of their names this is going to cause a problem, but that is just a consequence of design decisions made many decades ago about rules for naming files on Windows and Unix.
if you are lucky enough to have a superior graphics card, such as one made by Nvidia, you should try to use the open source drivers. Probably, linux will never be a great platform for video games; the open source drivers are really quite functional.
I have been tinkering with Linux for more than twenty years. For a long time it was an intesting way to have an environment for tinkering with development tools, but it wasn’t a practical general-purpose operating system like Windows or MacOS. Today, it really is. Red Hat is a large corporate; most of the server-side of the internet (including all of AWS) runs on Linux. Fedora is a sort of beta-test version of Red Hat Enterprise Linux (RHEL). It is very robust, and really very fast compared to the MS bloatware that comes with most harware now. MacOS is unix-based, but is very not free (as in beer and as in speech). Most people have an old laptop lying around. Get yourself a usb drive and make a live boot disk. What have you got to lose?