Updated: August 15, 2011
When it comes to being used as a desktop operating system, CentOS has several major advantages: it is super-stable and offers a very long-term support, which are a blessing for people seeking serious work. On the other hand, the rock-solidness comes with one possible flaw; you don't always get the latest and greatest software.
In this article, I will show you how you can pimp a typical CentOS 6 installation, so that it comes with all the bling-bling you need, hence the colloquial term pimp. We'll learn how to get the latest Firefox and Chrome builds, LibreOffice, Sun Java, Adobe Flash, Skype, Google Earth, and a few more items. It's going to be a blast. Follow me.
Firefox 5 (and on)
CentOS ships with Firefox 3.6. If you feel the need for the latest version, you can have it too, alongside the existing build, no need to uninstall or remove anything. Just head over to the Mozilla Firefox official site and download the Linux archive, which comes in the .bz2 format and self-contains the entire Firefox installation.
Now, extract the archive anywhere convenient, perhaps /opt.
tar xjv <full path to firefox archive>.tar.bz2
Now, launch the Firefox from this location, e.g. /opt/firefox/firefox. Once you see everything works as expected, you can create a top panel application launcher, which will point to the new location. I even grabbed the Aurora icon so I can more easily differentiate between the two. Job done.
This is the easiest of them all, although with a little snag. Google Chrome offers YUM repositories suitable for the entire RedHat family, so you can use these for CentOS, RedHat Enterprise or Fedora.
You will need to create a new repository file for Google Chrome. Under /etc/yum.repos.d, create a file called google.repo. Inside it, paste the following snippets of text.
For 32-bit systems:
name=Google - i386
For 64-bit systems:
name=Google - x86_64
Now, you can install Google Chrome using the yum command line, for example:
yum install google-chrome-stable
This will install the stable version. However you can also go for beta and unstable channels, which at the moment this article was written offers an incredible version increment of 15, kind of pointless no?
It worked fine, stable and beta worked great. However, unstable would not run. If you try from the command line, you will encounter the following error:
/opt/google/chrome/chrome: /lib/libz.so.1: no version information available (required by
/opt/google/chrome/chrome: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied
This is a problem caused by SELinux. To overcome the problem, you may want to tweak the SELinux policy, or you can just disable the tool altogether, which is my honest personal recommendation. To change the SELinux mode, open the /etc/selinux/config file and set the mode to disabled. Reboot for the change to take effect. Afterwards, your bleeding edge Chrome build will run.
If you find Oracle to be the sum of all evil, then you rightly want to remove OpenOffice and install LibreOffice. No worries. Head to the LibreOffice website and download the installation package and optionally the help package. Extract the archive(s) somewhere convenient, perhaps the /tmp directory or maybe the Downloads directory in your home.
tar xzf <LibreOffice archive>.tar.gz
The next step is to install the RPM packages included in the archive, but first, let's uninstall OpenOffice.
yum remove openoffice*
Next, change directory into where you extracted the downloaded archive earlier. Change once more into the RPMS subdirectory. There, run the rpm package manager against all of the included packages (as root).
cd <where you extracted LibreOffice>/RPMS/
rpm -ivh *.rpm
Once this step is complete, you may also want to integrate LibreOffice into your desktop. Therefore, change directory once more into the desktop-integration sub-directory contained inside the RPMS directory and install the single package available there.
rpm -ivh <package labeled redhat-menus or similar>.rpm
This completes the installation, plus LibreOffice will be available from the Gnome menu the same way OpenOffice was available beforehand. Enjoy your latest Office suite.
Adobe Flash plugin
This is a piece of cake. In my review from a few weeks back, I already showed you that you can have the plugin installed if you enable the RPMforge repository. From this moment on, Flash is trivial, including updates. For instance, the currently latest 10.3.183.5 update, already there, butter and milk, AK-47 and silk.
Sun Java & browser plugins
By default, CentOS 6 ships with OpenJDK. If you want Sun Java, you will need to do a few small items, nothing sinister. First, download the latest version of the Java Runtime Environment (JRE) from the official website. The file will have a .bin suffix. Once it's downloaded, make it executable:
chmod +x <sun java download>.bin
Then, install it:
./<sun java download>.bin
Once the file is installed, you will need to configure and create some symbolic links so that Firefox and Chrome can find the plugin and use it. While the linking is only done for Firefox, Chrome also picks it up nicely.
Run the configuration and follow the wizard, it should be trivial, just one or two Enters.
alternatives --config java
Now, the linking:
ln -fs /usr/java/latest/lib/i386/libnpjp2.so
And we have Sun Java running in both our new browsers without any problems:
And here's the complete and somewhat complicated official guide.
This superb media player should definitely be a part of your collection. With the RPMforge repository in place, the installation is trivial. It's there, just install it and enjoy.
If you want to talk to your family and friends overseas, you might want to use Skype. Again, this is fairly simple, although you will need a few tricks to make Skype behave fully as it should, including proper sound support, which is something Linux users offer clamor against. The official guide explains it well, but here's the gist of it.
Skype does not offer the installable packages for CentOS; you only get a few Ubuntu packages and alike. So you will need the static build. Download it. You can use /opt as the installation destination. Extract the downloaded archive. Then create a symbolic link from the full static version directory name to a generic skype name, as below.
tar xjvf <path to skype static version>.tar.bz2
ln -s <skype static version directory> skype
The linking part, here's a very specific example, relevant to the current build:
ln -s skype_static-184.108.40.206 skype
And some links (for sound and convenience):
ln -s /opt/skype /usr/share/skype
ln -s /opt/skype/skype /usr/bin/skype
And we're up and running:
And like we did before with Firefox 5 local build, you can create a custom icon for the application, so you don't need the command line to start it. The icon itself is located in the extracted archive.
Few people will normally use LaTeX or one of its more powerful frontends like LyX. But then, if you're kind of special like me, you will surely want to run the superior alternative to all word processor. Hence, LyX. To get it installed, you will need to configure an extra repository, this time EPEL. Once it's configured, LyX is in the repo.
Lastly, some satellite bling-bling. Download the file, make it executable like we did with the Sun Java package, and run it. Once it's configured, Google Earth will show up in the application menu. Job done.
Downside of manual installation
One thing I must emphasize is that manual installations under /opt from sources other than the official repositories means you are sort of switching into a Windows-style mode of maintenance. In other words, you won't get any updates for these, you will have to occasionally manually download and install new versions.
And we're done here, fellas!
There you go. Your perfect desktop just got perfecter. Our CentOS box now comes with the latest and most popular programs any casual desktop user will need, including some special extras. We have Firefox 5, all channels of Google Chrome, LibreOffice, Adobe Flash, Sun Java including plugins, Skype, VLC, Lyx, Google Earth. In the process, we learned how to work with archives from the command line, add extra repositories, create static builds and custom application launchers, and more. Splendid, isn't it?
On top of that, you can total stability, the lightweight and visually pleasing Gnome 2 with about half the memory consumption of most other implementations and competitors, and the system is going to be supported until year 3011, which is commendable. What more can you ask? You truly get a perfect desktop. I hope you like it, see ya.
P.S. If you truly find this article useful, please consider supporting Dedoimedo.