Index ¦ Archives ¦ Atom ¦ RSS

Fedora 26 Custom Operating System Post-Install

In the last post, I explained how to make a minimal installation of Fedora 25. Months have passed since then, and Fedora 26 has been released. Following the same steps, I installed it on my laptop and will now document my post-installation process.

Since this is a minimal installation, the set of installed packages does not provide support for wireless network cards. Although Anaconda provides such support during the installation process, the minimal package set lacks the required drivers. To address this, I connected my laptop to a wired network.

dnf Configuration

After connecting to a wired network, the first thing I did was edit dnf's configuration file and add the following lines:

echo 'fastestmirror=true' >> /etc/dnf/dnf.conf
echo 'deltarpm=false' >> /etc/dnf/dnf.conf
echo 'keepcache=true' >> /etc/dnf/dnf.conf

This ensures that dnf always uses the fastest mirror, avoids using *.drpm files for upgrades (downloading *.rpm files instead), and retains any downloaded packages in its cache.

Now, let's reboot:

reboot

Disable dnf-makecache.service and dnf-makecache.timer

dnf has a service and timer that keep the package metadata cache updated periodically. This behavior annoys me, as I prefer to update the cache when I want and need to. To disable these, I ran the following commands:

su -c 'systemctl disable dnf-makecache.service'
su -c 'systemctl disable dnf-makecache.timer'

Let's reboot again:

reboot

Rebuilding Package Metadata Cache

After customizing the dnf configuration file and disabling the service and timer, I cleaned the old cache and rebuilt it. Fedora maintains two separate caches: one for the normal user and another for the root user.

To rebuild the cache for my normal user:

dnf clean all
dnf makecache

To rebuild the cache for the root user:

su -c 'dnf clean all'
su -c 'dnf makecache'

Available Upgrades

During installation, there is an option to download and install the latest versions of packages. To check for any available upgrades:

su -c 'dnf --refresh check-upgrade'

To download and apply the upgrades, if available:

su -c 'dnf upgrade'

After upgrading, reboot to utilize the latest versions of any upgraded packages:

reboot

Workstation Product Environment Installation

On my laptop, I use GNOME Shell as my desktop environment. To install it, I used a package group that provides all the necessary packages to transform this minimal installation into a Fedora Workstation:

su -c 'dnf group install workstation-product-environment'

Graphical Boot Mode

After installing the required packages, we must change the default init mode from multi-user.target to graphical.target. Otherwise, the system will not boot into graphical mode. Additionally, we need to enable the graphical login manager service. Without this, the login will remain a text-based prompt:

su -c 'systemctl set-default graphical.target'
su -c 'systemctl enable gdm.service'
reboot

If everything works correctly, Fedora 26 Workstation with GNOME Shell should now be running.

Fixing Nautilus Behavior

Before opening any other application, I like to adjust how Nautilus sorts files. I prefer sorting by type or file extension:

gsettings set org.gnome.nautilus.preferences default-sort-order type

This ensures files are displayed sorted by extension when opening Nautilus.

Repositories

Enabling RPMFusion:

su -c 'dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'

Refresh the cache to download the RPMFusion package metadata:

su -c 'dnf check-upgrade'

Enabling Google Chrome's Repository:

I used to enable the Google Chrome repository as explained in this post:

https://www.if-not-true-then-false.com/2010/install-google-chrome-with-yum-on-fedora-red-hat-rhel/.

However, a simpler method was introduced to me by Mayorga. Simply download the Google Chrome rpm package, install it via the command line, and it will automatically add the *.repo file to /etc/yum.repos.d/.

cd ~/Downloads
wget -N -t 0 -c https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
su -c 'dnf install google-chrome-stable_current_x86_64.rpm'
su -c 'dnf check-update'

Disabling Tracker

Before copying files from my backups, I disable the annoying tracker service:

su -c 'dnf install tracker-preferences'
mkdir ~/.config/autostart
cp /etc/xdg/autostart/tracker* ~/.config/autostart
cd ~/.config/autostart
sed -i 's/X-GNOME-Autostart-enabled=true/X-GNOME-Autostart-enabled=false/' tracker*

To check tracker status:

tracker status

To perform a hard reset:

tracker reset --hard

Disabling GNOME Software and PackageKit Auto-Updates

GNOME Software downloads metadata and updates in the background. To disable this behavior:

gsettings set org.gnome.software download-updates false
su -c 'systemctl mask packagekit.service'

Libraries and Development Tools

Finally, I installed package groups and tools for development:

su -c 'dnf -y group install c-development development-libs development-tools fedora-packager rpm-development-tools'
su -c 'dnf install automake gcc gcc-c++ kernel-devel cmake python-devel python3-devel monodevelop golang nodejs rust cargo python3-virtualenv python3-pip'

To install spell checkers:

su -c 'dnf install hunspell hunspell-en hunspell-es aspell aspell-es aspell-en autocorr-es autocorr-en'

In the next post, I will review additional tools I use on Fedora.

© Porfirio Páiz. Built using Pelican. Theme by Giulio Fidente on github.