How to install VirtualBox on Fedora 23

VirtualBox is probably the most popular visualization product ever. It’s free, open-source and cross-platform. I used VirtualBox on plenty of operating systems such as Windows, Mac, and Ubuntu Linux and was very satisfied.

Linux distros such as Ubuntu, Debian, etc. prefer to be more stable rather than being up-to-date while, on the other hand, distros like Fedora, Arch, etc. are always running the latest version of Kernel. For apps like VirtualBox, that need to install a kernel driver alongside the app, being compatible with always-up-to-date distros is such a difficult work. It’s not as easy as a sudo apt install VirtualBox. In this post I am going to show how you can install the latest version of VirtualBox on Fedora 23.

I always keep my machines OSs up to date. My Linux machine which has a Fedora 23 complies the same rule. The Kernel version on it is 4.3.5 (The latest Fedora update to date) and VirtualBox doesn’t offer a driver for this specific version; so, lets see how we can Install and run a virtual machine on it.

By default, Fedora dnf/yum repositories don’t have VirtualBox; therefore, you need to add it manually:

Create a file name virtualbox.repo in the /etc/yum.repos.d/virtualbox.repo and add the following lines in it:

[virtualbox]
name=Fedora $releasever - $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc

Then simply do a sudo dnf check-update to update the repository cache and check for updates.

After that, Install VirtualBox using the following command:

sudo dnf install VirtualBox kmod-VirtualBox-5.0.14-1.fc23.x86_64 kmod-VirtualBox

Note: At the time of writing this post, VirtualBox 5.0.14 is the latest version.

In addition to that, you need to install the kernel headers so you can compile the VirtualBox kernel driver:

sudo dnf install kernel-devel-$(uname -r)

This will install the appropriate kernel header according to your current kernel version.

Now you need to compile the kernel driver. To do that, simple run the following command:

sudo akmods

Akmods checks the akmod packages and rebuilds them if needed.
Restart you computer, run the VirtualBox and you’re done 🙂

Introducing cmus: The best Linux music player I have seen so far

I believe one of the things that made Linux, Linux is its terminal. Most Linux users (especially developers) prefer to use the terminal for all of their tasks. VIM is a good example. Most Linux developers prefer to use VIM while there are plenty of GUI-based code editors; because, it’s the editor you’ll fall in love with.

When it comes to music playback on Linux, people usually use apps like VLC or Rhythmbox. I know they’re all good; but, to be able to use them, you have to leave the lovely terminal environment 😉 I searched a lot over the internet to find a good music player for terminal and found cmus!

cmus-2.4.3-osx. Photo taken from: https://cmus.github.io/#home

In one sentence:

cmus is a small, fast and powerful console music player for Unix-like operating systems.

cmus supports nearly all popular music formats and it has a very cool user-interface since it uses ncurses to display song list and other information. It has a completely configurable keybindings and the good part is that the default keybinding configuration is very similar to VIM! For instance, you can use j and k to move and up and / to search.

If you’re a big fan of terminal based apps as I am, check their GitHub page, download, install, contribute, and enjoy 🙂

Barca vs. Celta: Lionel Messi Penalty was outstanding!

I am a FC Barcelona fan and usually watch their matches. In their yesterday match against Celta Vigo, the referee announced a penalty after Celta Vigo defender blocked Messi in the penalty area. Messi has done a great job, passed the ball instead of shooting it to help Luis Suarez claim his hat-trick. That was a very amazing (practiced) goal and I hadn’t been seen such a goal before. The following video shows you the details: