Fedora 24 : the day of 64-bit has come

I’ve been using 64-bit Linux distributions on the servers for a while now, but was reluctant to put one on my laptop.  I’ve tried a couple of times many years ago, and found that there were all sorts of weird issues.

Yesterday, with a little push from my brother, Google, and Slashdot, I’ve decided to give it another go.  64-bit Fedora 24 is now on my laptop and I am carefully exploring it.  So far, so good.

I guess I won’t have to worry about Year 2038 Problem after all.

Ansible setup for Fedora project

Real life working examples are some of the most useful things when learning a new system.  The more – the better.  That’s why this git repository of the Ansible setup for the Fedora project is a pure gold mine.  It is large.  It is complex.  It covers a whole lot of things.  But most importantly, it is alive and well tested.

Fedora 23 and upgrade issues



Fedora 23 has been released yesterday, and as a big fan and a long time user I had to upgrade my laptop (from Fedora 22) immediately.  Or at least try.

Usually, the process is quite simple and doesn’t take much figuring out.  This time it was somewhat different though.  At first, the recommended upgrade command changed slightly from the nice and simple fedup to dnf system-upgrade.

The first attempt downloaded all packages, ended with a cryptic error along the lines of “No updates for kernel packages were found“.  Hmm, weird.  I thought maybe this was caused by me forgetting to run “dnf update” before the upgrade process.  So I did.  Some updates were installed, but there were no kernel packages among them.  I rebooted the laptop just in case.

The second attempt for some reason failed to find any of the previously downloaded packages, so I had to wait until the almost 2 GB get pulled down again.  Result – same error about missing kernel updates.  Hmm, again.

After poking around for a bit, I realized that I had previously configured yum to exclude some packages from updates (kernel, kmod-wl, kmod-VirtualBox, and VirtualBox).  These settings were picked up by dnf.  Editing both /etc/yum.conf and /etc/dnf/dnf.conf to disable the exclude fixed the issue.  “dnf update” now pulled some updates to the kernel.  Another reboot.

The third attempt once again lost all the downloaded packages and I had to wait some more.  This was annoying, especially at 1am now.  The process of downloading finished OK and this time there was no errors.  So “dnf system-upgrade reboot” should do the trick now, right?  Wrong!

Surprisingly, there was no boot menu for system upgrade upon reboot.  So I went with Fedora 22 boot option.  Which resulted in a brief screen saying “Preparing for upgrade“.  Which then disappeared and the system booted back into Fedora 22.  Now that was interesting.

It took me a while to find the issue.  The problem was that my Fedora 22 laptop wasn’t a clean install, but an upgrade from Fedora 21.  That shouldn’t be a problem, but it is, due to this bug.  My /etc/os-release file didn’t have the VARIANT and VARIANT_ID variables (thanks to this blog).  So after adding these lines:

VARIANT="Workstation Edition"

I’ve rebooted once again, and started the fourth attempt.  Downloaded packages were gone once again, so I had to wait a bit more.  This time the faster office Internet connection helped to save some time.  Download finished OK. Another reboot.  Once again, there is no option to upgrade Fedora, so I’m going into Fedora 22 boot.  Finally, now there is the upgrade screen!  After some preparation time, the packages were installed, the machine rebooted, and now I’m Fedora 23 user.

Checking my /etc/os-release file I see that both variant variables are gone now.  This feels weird, but hopefully won’t cause issues in the future.  If it will, I’ll probably Google for three hours before finding this very blog post.

6 great monospaced fonts for code and terminal in Fedora


Fedora Magazine covers “6 great monospaced fonts for code and terminal in Fedora“.  Their choices are:

  • Hack
  • Inconsolata
  • Source Code Pro
  • Fira Mono
  • Droid Sans Mono
  • DejaVu Sans Mono

It’s been a while since I considered a change to the monospaced fonts that I’m using.  The top three fonts in my list from a while back are Fixedsys Excelsior, Monaco, and Microsoft Consolas.  I used Fixedsys Excelsior almost exclusively in all my terminal windows.

Vagrant adventures on Fedora 21

I spent a large chunk of yesterday experimenting with Vagrant on my Fedora 21 laptop.  I’ve used it before of course, but a friend asked for help with something I was planning to play with for a long time, so it unexpectedly lead me into a journey.

Let’s start simple.  If you want the least possible amount of hassle with running Vagrant on Fedora, you should use it with Oracle VirtualBox provider (sometimes also called hypervisor).   It works great!  The only troubles with this approach is that VirtualBox relies on a kernel module (kmod-VirtualBox RPM), which has to match your current running kernel version to a digit.  This kernel module is NOT part of the official Fedora repositories, and, instead, can be found in the RPM Fusion yum repository (rpmfusion-free-updates).  This means that sometimes, when Fedora releases a kernel update, it might take a few days for the RPM Fusion repository to catch up with the kmod-VirtualBox updates.  And this, of course, might result in your Vagrant setup being broken.

The easiest way to protect against that is to disable automatic kernel, kernel module and VirtualBox updates.  To do so, add the following line to the [main] section of your /etc/yum.conf file, right after your VirtualBox/vagrant setup started to work:

exclude=kernel* kmod-* VirtualBox*

Now, if you forgot to do that a few times got pissed off with this situation (or don’t like Oracle for some reason), you might consider alternatives.  Which are a few.  Vagrant supports a variety of hypervisors.   One of the common alternatives is to use libvirt, which is shipped with Fedora distribution.

Installing libvirt is simple (thanks to this blog post).  Here’s pretty much all you have to do:

yum install libvirt libvirt-daemon libvirt-daemon-qemu virt-manager
service libvirtd restart

The problem that you might realize now is that libvirt is not the most popular provider for boxes in the Vagrant world.  Most people seem to prefer VirtualBox.  But if your choices are satisfied, I’m glad for you.  If they are not, however, there is a work around that you might go for – vagrant mutate plugin.  This plugin converts vagrant boxes from one hypervisor to another.

In order to install this plugin on Fedora 21 you’ll need a few development tools first (this StackOverflow thread definitely helped with the weird g++ error):

yum install ruby-devel gcc-c++ make

Once you have those, install the vagrant plugin with your regular user (the one who will run vagrant VMs):

vagrant plugin install vagrant-mutate

Now you can mutate Vagrant boxes.  Unfortunately, you might find that mutate plugin doesn’t like boxes with slash in their names (like chef/centos-6.5).  The suggested workaround is to either use box names without slashes, or to provide mutate plugin with the box URLs, rather than names.  The official boxes directory doesn’t give you URLs though, so you might be stack with random GitHub repositories or with an alternative directory, like Vagrantbox.es.

My adventures with this aren’t over yet.   Feel free to send suggestions my way.  From my side, here are a couple of other useful links on this subject:

One last bit of advise from me is that until you are absolutely sure that your Vagrant setup works perfectly, stick to 32-bit box images.  There’s nothing like ripping your hair out for three hours only to learn that your host hardware is 32-bit while you are trying to boot into a 64-bit operating system.

fpm – build packages for multiple platforms (deb, rpm, etc) with great ease and sanity

fpm – Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.

Upgrading to Skype 4.3 on Linux

Today Skype failed to log me in on one of my Fedora Linux laptops.  That, I guess, is a part of the force upgrade to Skype 4.3.  While doing so, I came across two issues:

  1. Download Skype page is broken in Google Chrome.  After choosing the Linux distribution nothing happens.  Switching to Firefox helps.
  2. The new, upgraded Skype crashes about 2 seconds after a successful login.  When started from the command line, a simple Aborted message is displayed.  Nothing more.  (Maybe because I have core dumps disabled).  After a bit of Googling around, all you need to do is rename your ~/.Skype/ folder into something else and restart Skype.  This will lose your history, some settings, and edited contact names.  But the Skype will work and your contacs will still show up in correct groups.

No “thank you” to you, Microsoft.  Huge thank you to you, Google.  Once again you saved the day.