Category Archives: Linux

Migration to my own email server

After the revelation of the mass surveillance programs used by government agencies from various countries and given the unhealthy amount of information that I provided to Google, using services such as Gmail, Google Maps, etc, I decided already in mid-2013 to take my privacy back.

I already had setup my own calendar (calDAV) and contact list (cardDAV) using Baikal on my own server and Davdroid. However, in the past couple of weeks, I finally completed the last point I still wanted to implement: migrate away from Gmail to run my own email server. I followed this excellent setup guide to setup Postfix, Dovecot & Co and am now reachable at herve at hmarcy.com. I moved all my Gmail emails with Thunderbird by copying the IMAP files and everything works just fine. I did not receive any spam so far. If you have a little bit of experience with Linux system administration, I strongly advise you to give it a shot, because the tutorial is really easy.

If you feel comfortable using Gmail or other free email services based in the US, maybe this video will help change your mind.

This is also of course valid for non-US citizens/residents, as the US government shares a lot of information with foreign government agencies. The Electronic Frontier Foundation also published pretty much everything you need to know about the scale of the NSA spying activities at https://www.eff.org/nsa-spying

Do you want to make the content of your emails safe and (fairly) unreadable by a third party, be it Google or anyone else? Encrypt them conveniently with GPG, Thunderbird & Enigmail. The Enigmail quick start guide will help you to do so!

EX436 Red Hat Enterprise Storage Management

On my way to earn the Red Hat Certified Architect (RHCA) certification, I successfully passed the EX436, one of the certificates of expertise required to get the RHCA.

This certification is mainly about three things :
– storage management (iSCSI, LVM, multipathing, udev rules)
– Red Hat Cluster Suite
– Red Hat Storage

The full list of objectives is available on Red Hat’s website.

I did not take the course RH436 that prepares to the certification, so I guess that anyone can do it that way too. What do you need to pass this certification ? As usual with Red Hat, this certificate of expertise is based on hands-on tasks to realize, so there is no way to get this certification by just thinking you know about the technology. This presentation from Thomas Cameron, a Red Hatter, at the Red Hat Summit 2011 is a good start to get to know the technology. If you can do everything he does during the presentation, you are on a good way to get the certification 😉

If you do not have a system running on RHEL with a subscription, a CentOS server or virtual machine will do it too to sharpen your skills on the High-Availability Add-on of RHEL, on the Resilient Storage Add-on of RHEL and on Red Hat Storage.

Of course, a virtual environment is a good idea, for example to create multiple networks (such as application, cluster heartbeat, storage1 and storage2) that way you can train on multipathing with iSCSI targets.

Finally, in order to train on Red Hat Storage, downloading the packages from the community website might not be a too bad idea, as the community version of Gluster is not too different from the enterprise version used in Red Hat Storage (although that might change in the future).

All in all, this certification was not too difficult, although I still learned a lot by training for it ! Next certificate of expertise in sight : the EX442 Red Hat Enterprise Performance Tuning Expertise which is, from what I heard from my colleagues, much more challenging. I am looking forward to taking that one !

CyanogenMod installed on my Galaxy SII using Fedora

As I am on vacation with some time to kill, I decided to free my Samsung Galaxy SII from all the Samsung crapware and install an open-source version (GPLv2 and Apache 2 licenses) of Android on it : CyanogenMod. Here is how I did it, using Fedora 17 only.

I do not take any responsibility for what you do with your device. YMMV with your Android version and hardware model. This kind of operations voids the warranty of your smartphone and may damage it irreversibly. (But, hey, it’s fun 🙂 )

First, let’s compile and install the tool that will help us to root our Android mobile phone “Heimdall”. We start by installing the development tools and needed libraries.

# yum -y install “Development Tools”
# yum -y install libusb1-devel

Then we compile and install the actual program

$ git clone git://github.com/Benjamin-Dobell/Heimdall.git
$ cd Heimdall/libpit
$ ./autogen.sh
$./configure
$ make
$ cd ../heimdall
$ ./autogen.sh
$ ./configure
$ make
# make install

After that, we download the tool that will root our Android phone: ClockworkMod Recovery, our CyanogenMod operating system as well as Google Apps.

$ wget http://cmw.22aaf3.com/c1/recovery/recovery-clockwork-5.5.0.4-galaxys2.tar
$ md5sum recovery-clockwork-5.5.0.4-galaxys2.tar
364315cb9a499d50638d05b93bb44422  recovery-clockwork-5.5.0.4-galaxys2.tar

$ wget http://download.cyanogenmod.com/get/jenkins/4627/cm-9.0.0-RC2-galaxys2.zip
$ md5sum cm-9.0.0-RC2-galaxys2.zip
ee62fd69d305d8af79e65cd7c8bdd459  cm-9.0.0-RC2-galaxys2.zip

$ wget http://goo.im/gapps/gapps-ics-20120429-signed.zip
$ md5sum gapps-ics-20120429-signed.zip
7c524e1e078164f681e0aa6753180b2c  gapps-ics-20120429-signed.zip

We then extract the following file

$ tar -xvf recovery-clockwork-5.5.0.4-galaxys2.tar

The extracted file is a kernel image called “zImage” that we will boot on later on

Put the CyanogenMod as well as the GoogleApps in the root directory of your SD card, then, let’s get rid of the Samsungoid ! This is also the right moment to backup your data and configuration, in case anything goes wrong.

Power off the Samsung Galaxy S II and connect the microUSB to the computer but not to the Samsung Galaxy S II.
Boot the Samsung Galaxy S II into download mode by holding down Home & Volume Down & Power while connecting the microUSB to it.
Change the directory back to where the previously extracted zImage file is and execute the following command

# heimdall flash –kernel zImage

A blue transfer bar will appear on the phone showing the kernel being transferred. But, unlike CyanogenMod’s documentation mentionned, my Galaxy SII did not reboot automatically. I tried to boot it by pressing on the power button on the right side, but it did not work. The only thing that worked was starting the phone by pressing on Home & Volume Up & Power at the same time, until the ClockworkMod Recovery booted.

In ClockworkMod Recovery, select the following options

“Wipe data/factory reset” then “Wipe cache partition”
“Install zip from sdcard” -> “Choose zip from sdcard” and choose first CyanogenMod and redo the operation for the Google Apps zip file

Once the installation has finished, select “Go Back” to get back to the main menu, and select “Reboot system now” and CyanogenMod should boot as it did for me.

So far, the user experience is much better and my phone is way faster than it used to be. The process was not as straightforward as I described it here and I had a couple of “interesting” moments when the Galaxy did not boot as expected, but I hope it will make your switch to a freer operating system smoother.

Red Hat Certified Engineer

When starting at Red Hat as a solution architect, one of the things on is expected to do is become Red Hat Certified Engineer.
This certification happens in two steps. The first exam is the Red Hat Certified System Administrator (RHCSA) exam, and the second is the actual RHCE exam. You need to pass both successfully to become a RHCE. Although I was a RHCSA for a couple of weeks now already, I failed at my first attempt (as do 60% of all participants !) at the RHCE, and only last week did I get my RHCE.

This certification is made of a couple of hands-on tasks. Unlike the LPI, which is a multiple-choice questionnaire and where luck can play a role, you  actually need to really know how things work with the RHCE,which makes it so interesting and challenging.

Now that I am a RHCE (which can be verified) I will continue with other courses, next one will be the Red Hat Enterprise Virtualization class to become RHCVA (Red Hat Certified Virtualization Administrator). You can see below the entire curriculum that leads to the ultimate title, the Red Hat Certified Architect (RHCA)

Update : I get my RHCVA last week. Again, it was a hands-on exam with standard tasks for administrators (i.e. setup a complete virtualization environment with management server, hypervisor, etc.). My next goal is the EX436, clustering and storage management !

Linus Torvalds’ 7 leadership lessons

This video of the founder of the Linux kernel is fascinating. I am pretty sure that the world will stumble upon the one shocking phrase that Linus said during this conference at the Aalto University, in Finland : “F*** you Nvidia”.

Linus is obviously an opinionated person and this sentence was tweeted, re-tweeted and shared all around the world. But it misses all the other points Linus made during this presentation; to me, this presentation was an excellent leadership lesson in 7 points:

1) You don’t have to plan something to be successful at it

When Linus started his operating system, he was “looking at a new project to use [his] computer”. Today, according to Google, 900 000 Linux-based Android devices are activated. How more successful could an “accidental” project be ?

However, I think that even though Linus had no exact plan about what his OS would become, several factors helped him along the way. He stated, for instance that “when [he] started Linux, [he] had been programming half of his life”. He was not a complete beginner. He had time to create and shape something entirely new, as he was a student. Linus mentioned that the “development of Linux was very natural.”. I think that this development was natural because the external factors were positive at that time. You don’t have to make big plans for something to be successful, but watch your environment if, even without planning, you want to be successful.

2) Focus on your strength

According to Linus, the strength of open-source is that people can do what they are best at. It helped him focus and not have to bother about minor tasks. He  put his passion, interest and energy where they were the most effective: the development of an operating system kernel.

3) Trust is limited, put it in people who deserve it

Although people might have thousands of LinkedIn contacts, for instance, they really trust only a handful of them. In Linus’ case, it is between 5 and 15 people and only 3 to 4 can really take his job over. It is not that many, they have to be the right ones.

4) You have the right to be opinionated

Linus is honest in his statements, he uses strong language and if people are offended “it’s their problem”. The story with Nvidia is, again, a blatant example of it. However, if the media only remembers this three-words sentence, it might forget the five-minutes explanation that preceded it. Torvalds explained in a lot of detail what went wrong with this company and why he was displeased. His wording might be offensive, he has very valid reasons to be angry, though.

Moreover, these opinions are important as a leader. As Linus said “people take him seriously […] and in an open-source community, other developers need to know how he feels”. He explains very well in this interview how, in the past, not to have taken a decision early enough leaded to trouble subsequently. As a leader, people should not misread you and you should take decisions as early as possible to show where the way is going.

5) Give credit to others

I found remarkable that Linus gave credit to others. He did it in particular to Dennis Ritchie and Brian Kernighan, two of the inventors in the 70s of Unix, which leaded the way to Linux in the 90s. Leadership, to me, is about showing to the world what you have done, if it makes an impact, but also recognizing when you sit on the shoulders of giants.

6) Work hard and execute

For Linus, “execution is more important than vision”. He  believes in hard work and attention to detail and in Edison’s definition of genius : 90% of perspiration – 10% of inspiration. This is what made him successful.

I found his sentence very inspiring “If you look at the stars all the time, you’ll stumble upon the pothole in the garden”.

7) Do it with passion

During the last minutes of the conference, Linus said “I believe that having passion, caring about what you do is more important  than having this mental vision of a golden future you want to reach”. As a leader, people should do everything they do with passion. In my opinion, it is a trait of leaders that they really care about the things they are doing and that passion is a driving force for their efforts.