Hacker News new | ask | show | jobs
by blhack 5596 days ago
I've gotten some flak for saying this other places, but the most helpful thing that I've ever done to learn linux was installing gentoo. Especially doing it without the official install CD (by using something like knoppix).

Start here: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=...

The thing that is different about installing gentoo vs centos or ubuntu is that instead of something that looks like this:

     Would you like to format the disk (click yes or no)?
You get a walkthrough of what fdisk is, then how to use it, then you use it to partition your disks. Instead of selecting a filesystem from a dropdown, you make one with mke2fs.

I don't recall if Ubuntu even tells you what lilo or grub is.

The reason I like this is that it forces you to understand what is going on. What is the /boot partition? Why is that important?

Installing gentoo is going to force you to use tar, and wget. It's going to force you to get comfortable on the command line.

It's also going to force you to understand what a kernel module is. It's going to force you to understand things like: what chipset does my wireless card use?

It's hard. And it takes forever. And it probably won't work the first time.

To me, it's kindof a rite of passage, like telling a carpenter that he has to build his workbench before he is allowed to start working on anything else. The workbench he makes might suck...hopefully this causes him to want to keep building new workbenches until he has one that is perfect.

5 comments

Another great way to learn Linux is to setup a VPS. Last year I setup a VPS from scratch with no previous experience (Ubuntu, PHP, Ruby on Rails, DNS, email server, iptables and more) using just web tutorials. It was a slow process (it took me about a week full time) but it taught me a lot.
Agree totally.

Setting up a VPS from scratch taught me a great deal, it's nice to be able to flip a switch and make all your mistakes disappear, and then have a new fresh canvas available.

Oh god I remember trying to install Gentoo on a PowerBook once about 5 years ago on the advice of a friend. Spent a couple days trying, never did get it working but I did learn a bit about Linux...

Of course the skills you learn are more sys admin / OS concepts than fundamental CS concepts though.

Tried to get Gentoo running on my Compaq T1000 Transmeta tablet quite a few years ago, to no avail. However Ubuntu jumped on that like Sheen on a, um, well suffice to say the architecture was well supported.
My experience might be out of date at this point, but I remember getting similar experiences out of installing Slackware and FreeBSD years ago. Nowadays, the Ubuntu installer takes care of so many details for me, that I don't really have to think about the install process.

Probably something like "Linux From Scratch" http://www.linuxfromscratch.org/ would also be a good way to learn the important details.

I'll second this. It's long and laborious, but it's also not as hard as you might think - the handbook is great at holding your hand through the process.
Thanks for this.

I'm currently using Ubuntu as my primary OS at home but I will give Gentoo a shot.

You might also consider trying out Arch Linux. (www.archlinux.org)

I moved to Arch after a few years with Ubuntu and I love it. It's a little higher-level than Gentoo in that you don't have to make your own file system or compile your own kernel, but it is an educational experience in that you have to install anything you'd like to use. When the 15 minute install is complete, all you have is a bash prompt. Getting a GUI, the ability to print, wireless, etc is all up to you.

They give you a great package manager and they maintain an excellent Wiki that can walk you through almost any task. Arch taught me loads about configuration.

Then again, I did Gentoo back in the day too. It might take 4 days to complete the installation, but you sure will learn some things! :D

The main difference between Arch and Gentoo is that Arch is binary (IA-32(e)) package based and Gentoo is source based.

They both can deliver you to about the same point on install (Gentoo stage3 install).

Perhaps try it inside a VM. Installing gentoo from scratch is a brilliant way to learn linux, but it's not so much "trial and error" as "trial by error" (message.)

If you do it in a VM or on a spare machine then you will have convenient access to web resources, which you will need :)

This is why I suggested doing it from something like knoppix.

He could even do it from his current Ubuntu install.