Book update

I have been quite busy the last couple weeks working on the proofs for “Using and Administering Linux.” I have completed work on Volume 1 and am almost finished with Volume 2. I should receive Volume 3 for review early next week.

I think we are still on schedule to get all three books out before the end of this year.

“Linux Philosophy for SysAdmins” to be translated into Chinese

I have just learned that China Machine Press, a Chinese company based in Beijing, has purchased the rights to translate my first book, “The Linux Philosophy for SysAdmins,” into Chinese. This is exciting news and means that my book will now be available to many new readers.

Although it will very likely be some time before the book is available in Chinese, my Apress editor is trying to make sure I get a copy. What a conversation starter that will be.

Technical revisions completed

This weekend I completed the technical revisions on Volume 3 of my definitive 3-volume self-study course, “Using and Administering Linux – Zero to SysAdmin.” This is a major milestone and clears the way for all three volumes to be released by the end of this year.

I want to thank both of my technical reviewers for working so hard to get this accomplished. Jason Baker and Seth Kenlon have done a fantastic job and the course as a whole is far better for their contributions than would otherwise be the case.

Of course there is still more work to do. I still need to check the proofs and I still have a bit of work left to generate the list of index words for Volume 3.

I will continue to keep you informed and will let you know as each of these volumes becomes available.

Back to Firefox

I really like Chrome for a web browser but I have recently started having significant problems with it. The main issue is that it no longer remembers my IDs and passwords for various web sites I visit frequently. This is a major issue for a good number of others, too, as my Internet searches have discovered.

This problem has apparently been going on for some time without a fix and none in sight.

So I decided to revert to Firefox which I found to be quite stable, fast, and it still remembers my information from before I started using Chrome a couple years ago. Adding a few newer sites to the list is a lot easier than adding them all.

Now – after using Firefox for a few days – I find it to be as fast or faster than Chrome, just as easy to use, and with better options for display of history, bookmarks, and other information in the sidebar. I also like its skins better.

Anyway – I plan to continue using Firefox until Chrome gives me an excellent reason for switching back.

First draft complete!

I have finished work on the fist draft of Volume 3 of my forthcoming Linux self-study training course, “Using and Administering Linux – Zero to SysAdmin.” I submitted the last chapter a few minutes ago. A major milestone but there is more to do.

The first draft of the complete training course has taken 17 months. It has been a lot of work but I have learned a great deal.

I have been working on the other volumes in parallel so Volume 1 is heading into production, now. In today’s publishing industry, that means the revised chapters are being converted to a final typeset form in PDF documents.

Some of the chapters for Volumes 2 and 3 have already been reviewed for technical accuracy but much remains to be done.

The original target for publication was to be next year. We are working as hard as we can to publish all three volumes before the end of this year. I will keep you informed of the actual publication dates as they occur.

Thanks for your interest in my books.

The end is near!

For the first draft of my book, that is. I am currently finishing work on the last three chapters of Volume 3 of my forthcoming Linux training course, “Using and Administering Linux – Zero to SysAdmin.”

I expect to have the first draft of these last chapters completed by the end of September and we hope that we can get all three volumes published yet this year.

Of course finishing the first draft of a huge work like this is not the end of all the work I need to do to complete the book. I still must finish revisions suggested by my technical reviewer, and then read the proofs and make any necessary changes. Then I need to go through the whole book – all three volumes – and generate a list of words and terms for the Index.

Outage fixed

A few days ago we had an outage on this web site that lasted from Monday through Wednesday night. This has – obviously – now been fixed and we are back up and running.

The problem appears to have been a surge from a nearby lightning strike that somehow powered off the server. This was not a power failure and there are no indications of that on any of my UPS systems.

Because I was out of town and this required a physical intervention I was unable to resolve it until Wednesday night. It only took a few minutes one I was able to restart the server.

In any event all is well now.

Book Details Updated

Now that we have revised the structure and Table of Contents for my upcoming three volume book, Using and Administering Linux — Zero to SysAdmin, I have updated the information about it here.

Because of the huge amount of information included in this book, it could only be published as three volumes. These three volumes are related and interconnected and cannot stand alone. You must have all three volumes in order to have the complete course.

In some ways I dislike having it broken up into three volumes. However the limitations imposed upon the “Print On Demand” model used by many publishers these days, including Apress, means that the course needs to be split to accommodate the ecologically sound objective of saving trees. So these books will not be printed unless physical copies are ordered. That is a very good thing.

If you need a self-study course that can help you learn to be a Linux system administrator, please consider this one.

Thank you.

News about “Using and Administering Linux – Zero to SysAdmin”

Due to the massive amount of material that will be covered in my new book, “Using and Administering Linux – Zero to SysAdmin,” my publisher, Apress, and I have concluded that the book is best published as three volumes rather than the two I first envisioned.

The resulting three volumes will be similar in size and each will build upon the previous volume. Together, these three volumes constitute a self-study course the equal of no other. Using VirtualBox to create virtual machines running Fedora in a virtual network, the student will learn how to use and administer Linux from the command line. This course contains many hands-on experiments that guide the student from installation of VirtualBox on a Windows or Linux computer, creating and installing Fedora on virtual machines, using the command line, installing and managing software, creating a server complete with email, DNS, NTP, DHCP, and more.

Together, Volumes 1 and 2 guide the student through many aspects of use and administration of a Fedora workstation. Volume 3 leads the student through creating of a server that provides many necessary services to that network.

As I work with my editors to finalize the structure of this three-volume course, I will make more information available as I am able.

Thanks for your interest in my books.

First Draft Complete

Late this afternoon I completed the first draft of the last chapter in my book, “Using and Administering Linux.” This is book 1 in my two book series of courses, From Zero to Linux SysAdmin Self-Study.

This first book is scheduled for release in early 2020. For more details about this book, visit its page at, “Using and Administering Linux — From Zero to Linux SysAdmin — Self-Study – Book 1.” There you will find a link to its page at the Apress web site and its page on Amazon.

My next book: Using and Administering Linux

From Zero to Linux SysAdmin Self-Study – Book 1

My next book is a self study course, “Using and Administering Linux – From Zero to Linux SysAdmin Self-Study – Book 1.” It is set to be published by Apress in 2020. I do not yet know the exact date, but it should be early in the year. As you can tell from the title, another book will follow soon after.

About the book

Become a Linux sysadmin and expert user of Linux, even with no previous Linux experience and learn to manage complex systems with ease. This book provides you with the tools necessary for mastering user management; installing, updating, and deleting software; creating and managing simple firewalls; and using command line tools to do performance tuning and basic problem determination.

You’ll begin by installing a Linux instance on a VirtualBox VM on an existing Windows or Linux computer that can be used for all your projects. You will then move on to the basics of using the Xfce GUI desktop and the many options Linux provides for working on the command line including virtual consoles, various terminal emulators, BASH, and other shells. Some of the more advanced user level tasks include creating, deleting and managing files and directories, managing the users own processes, writing short command line programs, and creating shell scripts to begin learning how to “Automate Everything.” 

Improving efficiency using command line recall and editing, command line history, and by creating command line aliases is addressed as well. You’ll configure your own BASH environment by directly editing the user level BASH configuration files, and learning the Vi editor in the process. Using and Administering Linux, the first book in the From Zero to SysAdmin series will help in using and managing Linux client services, such as DHCP network configuration, Chrony, SSH, DNS name services, and more. 

What You Will Learn

  • Install Fedora Linux and some basic configuration of the Xfce desktop
  • Access the root user ID, and the care that must be taken when working as root
  • Explore administrative tools available to root that enable the student to manage users, filesystems, processes, and basic network communications
  • Configure the boot and startup sequences, start, stop, and obtain the status of running services
  • Review methods of performing and testing backups.

Who This Book Is For

Anyone who wants to learn Linux as an advanced user and system administrator at both the command line and the GUI desktop. 


The ISBN number for this book will be ISBN 978-1-4842-5049-5. The estimated cost is $39.99US.

Innovative New Linux Desktops and other Changes in Fedora 30

Fedora 30 was released on April 30. The Fedora Wiki contains a complete list of the changes that were accepted for inclusion in this release. These changes include two new desktop environments, other new features, and bug fixes. Some older packages have been deprecated or completely removed.

As you can see in my previous post, I have already upgraded all of my physical hosts and I have created a new VM for Fedora 30. All of these hosts are working very well and I have not had any problems so far.

Fedora 30 and my books

Fedora 30 should make no difference in any of the experiments in my book, The Linux Philosophy for SysAdmins, Apress, 2018. That book was written using Fedora 28 but everything should also work just fine with Fedora 29 and 30.

I am also working on two new books, the titles of which I cannot yet divulge. The experiments in these two books are being tested to ensure that they work on Fedora 29 and 30. These books should be available late this year but I will keep you informed with future posts here on this site.

The changes

I have listed some of what I consider the more interesting changes along with a short description of each. Much of this information is distilled directly from the Wiki page but I have not included all of the changes listed on that wiki page.

New desktop environments


Add the Deepin Desktop Environment. Deepin is a Chinese Linux distribution and DeepinDE is its desktop. The DeepinDE is based on the Qt 5 toolkit so can be easily installed on other distributions. It is intended to be simple and easy for new users.

Pantheon Desktop

Another new desktop for Fedora, the Pantheon desktop environment is the minimalist Desktop Environment that powers elementaryOS. It builds on GNOME technologies, but utilizes components that were written from scratch in vala, using the GTK+3 toolkit.

Other changes

Bash 5.0

Upgrade bash to 5.0 release. This release fixes several outstanding bugs in bash-4.4 and introduces several new features. The new features include some new Bash environment variables and improved history command that can delete ranges of history.

Boot Loader

Make BootLoaderSpec-style configuration files the default. This change enables the use of per-boot-entry configuration files, similar to those described in Boot Loader Specification (BLS), to populate the bootloader’s menu entries.


Make dbus-broker the default DBus implementation. Enable dbus-broker.service to use dbus-broker as system and session message bus backend. DBUS provides communications that allow things like plug and play to work by distributing event notifications to applications and kernel level tools.

Boost 1.69 upgrade

This change brings Boost 1.69 to Fedora. Boost is a set of free, peer-reviewed, portable C++ source libraries This will mean Fedora ships with a recent upstream Boost release.

Flicker Free Boot

Make Fedora Workstation boot graphically smooth, without the display briefly turning off and without any abrupt graphical transitions.

FreeIPA Python 2 Removal

No it is not free beer! FreeIPA 4.8 will require Python 3.6+ and therefore no longer provide Python 2 packages on Fedora 30.


Fully remove deprecated and unsafe functions from libcrypt. This change is about removing binary support for deprecated and unsafe functions and bumping to


Switch GCC in Fedora 30 to 9.x.y. An attempt will be made to rebuild all packages with it, or optionally rebuild just some packages with it and rebuild everything else in Fedora 31.

GNU C Library

Switch glibc in Fedora 30 to glibc version 2.29.

GNOME 3.32

Update GNOME to the latest upstream release, 3.32.

GnuPG 2

Use GnuPG2 as the default GPG implementation. The /usr/bin/gpg path representing the main GPG implementation will now use GnuPG 2 instead of GnuPG 1.

Mass Python 2 Package

(Sub-)packages only providing python2 importable modules without additional functionality will be removed from Fedora unless some other package(s) depends on them.

Obsolete Scriptlets

Remove scriptlets which are not needed anymore (ldconfig, gtk-update-icon-cache, etc.).

Locale settings

When logging in over ssh or another mechanism, locale settings are forwarded. If the destination does not support that locale, C.UTF-8 will be used instead.

Ruby 2.6

Ruby 2.6 is the latest stable version of Ruby. Many new features and improvements are included for the increasingly diverse and expanding demands for Ruby. With this major update from Ruby 2.5 in Fedora 29 to Ruby 2.6 in Fedora 30, Fedora becom

Deprecate /etc/sysconfig/nfs

Deprecate /etc/sysconfig/nfs and only use /etc/nfs.conf to configure NFS daemons.

uEFI for ARMv7

Move to uEFI as the default boot mechanism for ARMv7 devices.

Fish 3.0

Update Fish to 3.0. Fish allows tools like Midnight Commander and other file managers to access filesystems on remote hosts for easy copy and move from one host to another.

Haskell GHC 8.4 and Stackage LTS 12

Update the ghc Haskell compiler version from 8.2.2 to 8.4.4 and Haskell packages to Stackage LTS 12 versions.

LXQt 0.14.0

Update LXQt to 0.14.0.

MongoDB Removal

The Server Side Public Licensev1 (SSPL) under which MongoDB is distributed is not a Free Software License. Therefore, MongoDB has been removed.

java-openjdk JDK12

Update rolling package of java-openjdk to JDK12

krb5 crypto modernization

krb5 will be removing support for DES, 3DES, crc-32, and MD4 entirely; they will not be allowed in session keys or long-term keys. Additionally, RC4 and MD5 will be marked deprecated and dangerous.

PHP 7.3

Update the PHP stack to latest version 7.3.x

Upgrading to Fedora 30

Yesterday, April 30, Fedora 30 became available. Fedora 30 has some interesting new features as well as some bug fixes so I decided that I wanted to upgrade all of my physical computers as soon as possible.

I first upgraded one of my test computers from Fedora 29 to Fedora 30 just to verify that the upgrade would work. This host worked just fine after the update so I began the process of upgrading the rest of my hosts. All of my hosts have been successfully upgraded to Fedora 30.

Because multiple steps are required to perform these upgrades, I have a script that I use, called It automatically performs all of the steps required for upgrading from one release of Fedora to the next. The guts of the code are shown below.

 # Set the new Fedora release number
# Do all current updates to prepare for the upgrade
dnf -y update --refresh
# Install the system upgrade plugin
dnf install -y dnf-plugin-system-upgrade
# Perform the upgrade
dnf -y system-upgrade download --refresh --releasever=$TargetRelease --allowerasing
# Reboot and perform the upgrade
dnf system-upgrade reboot

You can use this little script as it is, but I have a more easily used script that handles things like obtaining the value of the variable $TargetRelease from a command line option. You can download the complete script from to get the complete script.

I did have one problem on one of my servers. The /var filesystem filled up during the download of Fedora 29 packages and it generated an error to that effect and exited. I used LVM to extend the /var logical volume, expanded the filesystem itself using resize2fs, and reran the script. The upgrade programs called by the script know enough to pick up where they left off, doing nothing for any step that is already completed. A reboot was not required because Linux LVM allows this to all be done with the filesystem on-line and active.

Fedora 30 has both graphical and command line options for performing upgrades. See this Fedora Magazine article for details of both methods. I personally prefer the command line methode so I can do these upgrades remotely on several computers.

Linux process scheduling

I read an informative and interesting article today at about process scheduling in Linux, CFS: Completely fair process scheduling in Linux. It goes into some detail about the Linux Completely Fair Scheduler which has been around now for a bit over a decade.

Understanding how the Linux kernel schedules tasks for CPU time is an important part of our knowledge as SysAdmins. It enables us to understand why programs might be unresponsive and how to deal with that. Dr. Marty Kalin, the author, has covered this in an understandable way that helped me to understand this important kernel task.

Don’t miss this excellent article.