Fedora 40 | First Impressions from a Debian user
If you have read any of my other ramblings, you may have picked up on the fact that I am almost exclusively a Debian (variant) distribution user, with my (current) daily driver being Pop!_OS along with my Lenovo Yoga 6 running Ubuntu 22.04 as one of my companion devices.
But today, I am venturing into the world of Fedora Linux, and more specifically, the newly released Fedora Linux 40. While I am primarily a Debian user I do have a few servers running Rocky Linux, hosting FreeIPA – and I have been known to tinker with distributions like Red Hat and CentOS.
Like many Linux and technology enthusiasts, I like to try new things, keep up with trends and get my hands dirty.
Overview
As with most Linux distributions, it is not required to perform an installation to test out functionality. Most distributions targeted at the desktop/workstation have a ‘Live CD/DVD’ that allows you to boot from the installation media into a fully functional Linux desktop.
For this article, I will be using Oracle VirtualBox to create a small virtual machine to install Fedora 40 and test it out. I am not going to go over setting up VirtualBox and creating a virtual machine in this article.
The virtual machine approach is the typical path that I take when testing a new distribution. Depending on how the tests go and whether or not I like (and could see myself running) the distribution, I will decide whether or not to install it directly on bare metal. Who knows, maybe Fedora will become my daily driver on the Lenovo!
Installation
As is typical when creating a VM, I download the ISO from Fedora’s web site, attached it to my virtual machine and booted it up. Upon boot, I was greeted by a ‘Welcome to Fedora!’ screen with an option to ‘Install Fedora…’ or ‘Not Now’. Presumably, the ‘Not Now’ option will drop you into the live environment where you can kick the tires without actually installing the OS.
Since I am planning to install the OS to get the full experience, I am going to move forward with the installation option.
After choosing ‘Install Fedora…’, the installer is launched and you are guided through a typical Linux installation. On first impression, it looks pretty sleek.
After choosing my desired language and clicking ‘Continue’ I chose a destination (hard drive) for the installation. In my case, I have a 15 GB virtual disk attached to my VM and will be installing Fedora there accepting all defaults. In a production installation, I always recommend that you encrypt the disk to protect your sensitive data from falling into the wrong hands if your device is lost or stolen!
Once I completed the task of selecting the destination, I clicked ‘Begin Installation’ to kick off the process of installing to disk. When the installer completed, I clicked ‘Finish Installation’ and the system rebooted. So far so good!
As you can see from the steps above, installing Fedora 40 only takes 3 or 4 steps for a default installation. One thing that I did not see in the installation process that I am accustomed to was the configuration of a ‘normal user’ (not root). I am guessing this comes later.
Once the system rebooted, I was greeted with a ‘Setup’ wizard.
After I clicked ‘Start Setup’, There were a series of screens that asked a number of questions. The first relates to privacy, asking if I would like to enable location services and send problem reports to the developers. I chose to disable both of these (they default to enabled).
Upon clicking ‘Next’, there was a ‘Third-Party Repositories’ option. Since this is a virtual machine, I am going to enable this so I can see what they include. By default, this is disabled (as it should be).
Next, I was able to configure a normal, non-root user for daily use. There is also an option for ‘Enterprise Login’ to join the system to a domain. For the time being, I am going to go with a local user, set a password and finish the installation!
As I mentioned , I am used to seeing this during the installation, however, I really do like this ‘Setup Wizard’ concept. It was very concise and polished. Once I exited the setup wizard, there was an additional ‘Welcome to Fedora Linux 40 (Workstation Edition)’ tour module that was launched. In classic fashion, I chose to skip this – I will show myself around…
On to the exploration!
Now that I have a fully installed version of Fedora 40, it is time to start exploring. As someone who works in Cyber Security, the first order of business is to patch the system, installing all available updates.
Since I typically use a Debian based distribution, I am used to launching a terminal and running 'sudo apt update; sudo apt upgrade -y'
. Because this is Fedora (a RHEL [RPM] based distribution) I had to think back to my experience with Rocky Linux.
Like Rocky, Fedora uses the ‘dnf’ (Dandified YUM) package management system. So, to install all available updates, I launched a console and typed 'sudo dnf update'
, which resulted in a considerable number of updates considering Fedora 40 was released yesterday (2023/04/23).
Customization
This is a huge topic in the Linux world. Unlike Windows and Mac, Linux empowers the user to customize the look and feel, functionality, security and many other facets with virtually unlimited possibilities. With that in mind, I am going to keep this fairly basic.
Looking first at the desktop backgrounds in ‘Appearance’ settings, you can see there are a number of very nice backgrounds that have both light and dark versions. I typically go with dark mode. I am also going to pick an image other than the default ‘Tree Painting’. Below is the default, followed by my choice.
Aside from appearance, there are some aspects of Gnome functionality that I prefer. One deals with Workspaces. I prefer to have applications ‘live’ only in the workspace in which they are open. To do this, I change the ‘App Switching’ setting under ‘Multitasking’ to ‘Include apps from the current workspace only’. I also prefer to have worspaces on all displays over only the primary display. None of this really matters much in a virtual machine, but it is force of habit to change these once the system is up and running.
That is the extent of customization I am going to do for my testing. I would typically also install Gnome Tweaks and make a few more changes, like adding minimize/maximize buttons to my windows and adjusting the Dock settings.
Software
A computer is fairly useless without software, and like most Linux distributions, Fedora 40 comes with some pre-installed. Titles such as LibreOffice (Productivity Suite) and FireFox (Web Browser) are there by default. One piece of software that I have been looking forward to testing is ‘Boxes’, which is a virtualization tool (also installed by default).
First, lets take a look at the Fedora software manager, simply named ‘Software’.
Software appears to be the vanilla Gnome software manager – which is great. It is minimalist and responsive and gets the job of installing software updates done. One setting that I found interesting was under preferences in Software. The ‘Content Filters’ allows you to ‘Only Show Verified Developers’, which I enabled.
I am not going to go through the software titles that I typically install in detail, but some must-haves for me are PyCharm, VSCode, Postman, Thunderbird and Timeshift.
Lets get Nerdy
Now that I have covered the basics (for my testing purposes anyway), lets get into some of the ‘nerdy’ stuff.
First, I wanted to take a look at the terminal, which is bash. The default profile is great. I like the green color of the prompt against the solid black background, which I have modified to be slightly transparent. The text size is a bit small here, but I think that is because I am using a virtual machine.
I noticed a neat feature, which is present in Pop!/Ubuntu – but slightly different here. When typing a command to run an application that is not installed, Fedora asks if you would like to install the package. Typical right? But, rather than inform me that the package is available, it also offers the option to install it. This is convenient as it saves me some typing if I do want to install the package.
Entering ‘Y’ to install the package does just that and runs the installed software for you after it is installed.
Speaking of installing software, I also wanted to explore what was available as software sources and available packages, so I started searching for some of my must-haves. In the process, I found that flatpak was installed and configured. I decided to use flatpak to install VSCode and PyCharm flatpak install com.jetbrains.PyCharm-community com.visualstudio.code/x86_64/stable
This went smooth and fast as expected and the applications functioned as desired.
To get a few security/pentesting tools on the machine, I decided to go with dnf and install nmap, ncrack, john and nikto sudo dnf install nmap ncrack nikto john
In Conclusion
Finally, the end! But is it?
While I have not spent considerable time playing with Fedora, I find Fedora 40 to be complete but minimalist in comparison to Pop!_OS and other distributions. This is not to say this a bad thing. Such a minimalist approach offers a blank canvas for customization.
Leveraging theming, Gnome Tweaks, plugins and a host of other methods, you can make this distro your own very easily. I do miss some of the features in Pop!_OS such as window tiling, more options in the settings for ‘native’ customization, familiar board shortcuts and a familiar ‘workflow’. At the end of the day, those items are subjective to the individual and can be configured if desired.
With all things considered, this is not the end of my Fedora 40 journey. I plan to thoroughly put it through it’s paces. Connect my cloud storage and do some ‘actual work’ on it. Learn a bit more about Fedora as a whole. Customize the UI and desktop environment. Try the live environment on bare metal.
All the things I love about Linux. I may even post an update.