Hari's Corner

Humour, comics, tech, law, software, reviews, essays, articles and HOWTOs intermingled with random philosophy now and then

Learning *nix beyond Linux

Filed under: Tutorials and HOWTOs by Hari
Posted on Wed, Apr 5, 2006 at 13:35 IST (last updated: Wed, Oct 29, 2008 @ 22:01 IST)

As a new user you've installed and used Linux. You are quite happy with the way it works for you over a period of time. You're comfortable with KDE and all the GUI tools that Linux provides and you are itching to explore the *nix world beyond the fancy graphics. Now that your system is stable and running, you're not sure what to do next or how to continue in the learning curve without messing up what you've achieved so far. Well, here are some of my tips for those wanting to make the next step.

If you're happy as a Linux user, stop here. Here are some ideas meant for those who are really interested in digging deeper into *nix as such.

Stop using KDE

Stop depending on KDE and its useful apps. This way, once you force yourself to look at alternatives, you'll actually find yourself using the command line a lot more. This is the best way to learn it. Man pages are your friends. If you're looking for a WM I recommend fluxbox or IceWM.

Try a different distro

Assuming you have free partitions on your current setup, you can try installing another distro to multi-boot more than one distro. It's actually easy to add more entries to the existing grub or lilo configuration. In case you don't have free partitions, consider getting a second hard disk. Otherwise you can get hold of an old machine and try installing Linux on it.

The advantage of using more than one distro is that you learn more distro-specific tools and also you can experiment with one distro without the fear of messing things up, while keeping your main distro stable and running as normal.

If you're comfortable with GUI-based distros like Fedora, Suse or Mandriva, I suggest Gentoo or Slackware.

Compile a kernel

Get the latest kernel from www.kernel.org and compile your own kernel. It's actually very easy to compile a kernel. This will also allow you to learn more about your hardware specifications and how device drivers are actually used in Linux.

Push productivity to its limits

How much can you do with a minimalistic set up? Can you switch from your favourite GUI editor to vi/vim? Can you find alternatives to perform certain tasks from the command line? Can you switch from a WYSIWYG office program to LaTeX? This will be a good challenge over a period of time and should be fun learning too.

Another opportunity is to try and build a system from scratch. A good way is to try and convert a bare minimum Linux installation into a fully functional media workstation or a production server.

Learn a programming language

Take your pick: Shell scripting, C, C++, Perl, Python, PHP, Java among others. Programming for *nix can be fun and challenging. Apart from the language, try and learn different GUI toolkits, media libraries and so on. The list of opportunities is almost endless.

Learn BSD

When you are finally confident that you can handle Linux and all its vagaries including compiling a kernel, consider moving on to FreeBSD or a similar OS. BSD is closest to the original UNIX platform (BSD is UNIX ported to the PC). Now you can proudly proclaim that you know UNIX! ;)

17 comment(s)

  1. All of these things are on my mythical to do list!:D

    Comment by ray (visitor) on Wed, Apr 5, 2006 @ 13:50 IST #
  2. Ray, don't worry. I think I have far too much free time at the moment :P

    Comment by hari (blog owner) on Wed, Apr 5, 2006 @ 13:53 IST #
  3. man. what a list! Linux definitly isn't boring!

    Comment by titanium_geek (visitor) on Wed, Apr 5, 2006 @ 14:49 IST #
  4. Hmm, let's see...Stop using KDE - Check (Well, more or less - I never actually *started* :) )Try a different distro - Check, multiple times!Compile a kernel - Yep, repeatedlyPush productivity to its limits - Mmm... mostly. I still use dvd::rip over mencoder, purely because the CLI commands for mencoder are so damn long. . . Learn a programming language - Trying, on & offLearn BSD - Mmm.... never been overly keen on BSD. It just doesn't agree with me. However, LinuxFromScratch is at least as good IMHO, so I call this a pass anyway :)

    Comment by Dominic (visitor) on Wed, Apr 5, 2006 @ 15:45 IST #
  5. Dominic, I'm now trying to fine tune a Slackware installation into a media box. Trying to install media apps, recompiling the kernel for video4linux and bttv and also trying to set up the Tuner card. So far video works, but scanning for channels is a bit faulty and the audio is also not working (getting white noise instead of the Tv sound). I've looked at a few forums and see that maybe I have to make some changes to modprobe.conf and such.

    Comment by hari (blog owner) on Wed, Apr 5, 2006 @ 17:05 IST #
  6. Slackware for a media player? Brave man ;)You may have noticed the problems I had with a MythTV box. . . It's not nearly as easy as you'd think, is it?

    Comment by Dominic (visitor) on Wed, Apr 5, 2006 @ 18:36 IST #
  7. No, but compiling packages with configure flags does teach you a lot about libraries and versions :PI was trying to compile audacity with the wxX11 instead of wxGTK and so I got error during compile. Now let's see what happens. Still need to work on the video capture device. The driver works, but no sound - just static...

    Comment by hari (blog owner) on Wed, Apr 5, 2006 @ 20:25 IST #
  8. A couple of days late.. But better late than never ;)When someone wants to learn the CLI, I always point them to three priceless documents:Linux Newbie Administrator GuideRUTELinux Quick ReferenceI haven't tried LFS, but I might give it a go sometime. I think I'm better off with Slackware at the moment - although getting my ATI soundcard to work with it is proving to be a bit difficult, as is the ATI graphics card! :P

    Comment by J_K9 (visitor) on Sat, Apr 8, 2006 @ 15:06 IST #
  9. I've had a hell of a time configuring my Pinnacle PCTV to work in Debian, but knowing well that it worked in Gentoo (that's the advantage of having multiple distros) I didn't give up. It works now, but it is kind of unsatisfactory because I have to keep doing the manual module loading every time on boot.J_k9, I think I am going to now go into BSD. It's the nearest thing to UNIX (for the PC) and I am keep to learn it and experience it.So far my experiences with FreeBSD tell me that although some knowledge is transferable between Linux and BSD, it requires a whole new learning to learn BSD because many commands, system essentials and the way the OS works is totally different from Linux.

    Comment by hari (blog owner) on Sat, Apr 8, 2006 @ 21:33 IST #
  10. Like Dominic - BSD doesn't agree with me either ;) While it's closer to UNIX, I've grown to love Linux, so it's quite hard even trying out BSD. I remember from a PC-BSD VM installation a while back that even the simplest Linux commands wouldn't work on BSD as I wanted them to.. Me and BSD just weren't meant to be!I tried Gentoo, and I liked it, but I thought it was a bit strange that my network card had been auto-detected during the install and then wasn't detected once installed.. I'm going to give it another shot, because I've heard a lot about it, and it is one of the oldest distros..I got my sound card to work in Slack last night.. (Kudos to Ray for all his help! :D)

    Comment by J_K9 (visitor) on Sun, Apr 9, 2006 @ 04:25 IST #
  11. No problem, happy to help :) Yeah, now I know where I went wrong with my Gentoo install, I keep getting this urge to retry it myself....

    Comment by ray (visitor) on Sun, Apr 9, 2006 @ 14:42 IST #
  12. What a list! I recomment using BSD to people myself, except newbies, who can't possibly comprehend the concept of slicing.Good blog, hari.Cheers!

    Comment by linuxlala (visitor) on Mon, Apr 10, 2006 @ 14:11 IST #
  13. Thanks linuxlala, for the comment and also for the reciprocal link! :)

    Comment by hari (blog owner) on Mon, Apr 10, 2006 @ 18:29 IST #
  14. well, terminal surely rox, i remember the time when i had to use the command line mp3 player, the mp3blaster to play my mp3's one time in college when i had irq errors thrown by my motherboard when i start X.but the thing is, why use flux box or minimalistic window managers when u have full-fledged window managers that can get all your work done/help u use your computer to the max and really looks good on ur monitor. But then , if ur stuck with a 486 with a 16 MB ram , yeah maybe thats the answer .. but you spend 1000s of bucks on an AMD FX55 series , a ATX Radeon X900 to work on command prompt/fluxbox? i dont think so!vi got popular with geeks/non-geeks alike a long time back because of the options it gives you, well honestly i wouldnt wanna use vi anymore. why ? Cos i have got better editors in xemacs and other pgm specific ide/editors. Why would i go to command line and learn a lot of new keyboard bindings when i can do everything with better visuals and much much much more and using Vi or Latex is NOT pushing productivity to limits, Latex is useful for bigger documents or paper submissions etc. But for day to day use Latex is an absolute waste of time.I personally have used Latex and Word and Latex are much better organised , but then doesnt really qualify as wysiwig.well who am i ?me a normal os user right now sitting at office really bored and thot of replying to this... at home i use Debian (unstable/experimental)/Sawfish/Gnome/> have compiled a kernel (http://bijur.de/home/index.php?title=Here)> have tried a lot os-es/distros .. now happily married to debian for 3 years now.> have tried BSD (not ma cup of tea)anyway .. good site dude :) keep it up.

    Comment by glam (visitor) on Wed, Apr 19, 2006 @ 16:59 IST #
  15. Hi, glam, this article was not for the normal productive users, but targetted at those who want to use Linux as a learning platform. Hope that explains the focus of my article. Thanks for dropping by! :)

    Comment by hari (blog owner) on Wed, Apr 19, 2006 @ 20:23 IST #
  16. Just to dispell a small piece of incorrect information, BSD is not UNIX, per se, and depending on the version, it runs on a far greater variet of hardware than simply PC. Technically, UNIX refers specifically to SystemV derived operating environments, using AT&T/SCO codes and fulfilling requirements of the OpenGroup for compatibility. For UNIX on PC, try Sun Solaris (SCO is in legal troubles, and their implementation, UNIXWARE, may disappear when SCO does, as most users of it have migrated to other platforms). Or better, try UNIX on native platforms, such as Solaris on UltraSpac, Digital UNIX on AlphaServer, IRIX (an odd SVR3.2) on SGI or AIX on IBM's R6000. BSD derived from the original UNIX codes, when one of the UNIX authors burned out and went to UC Berkeley to teach a class and relax. It is a direct descendant of Version 7 UNIX. Unfortunately, BSD stopped being worked on following the release of 4.4BSD. The code of 4.4BSD was ported to the PC (not that ugly of a job, since most of it was hadware neutral C codes, as opposed to the beastly hardware dependant codes of most other operating environments of its age). At this time, there is a fairly large number of 4.4BSD derived environments, including the one from which I am posting this. BSDOS is very stable and is commercially supported. FreeBSD is very popular. DargonFlyBSD is a FreeBSD offshoot. TrustedBSD is based on FreeBSD, and includes functionality required for certification as secure by groups such as NSA. OpenBSD is built on audited code, and focuses on strong security in certain realms. NetBSD runs on any platform, from mainframes to hand-helds to a dead woodchuck. For the curious, I am running OpenBSD 3.8 with Motif as my GUI environment.

    Comment by David T. Klein (visitor) on Sat, Apr 22, 2006 @ 20:50 IST #
  17. That was a very informative post, David. Thanks. I've also read all about this before, but somehow I can never get my head into the family history of BSD. To me BSD is simply the closest thing that I can get to UNIX today :)Your OS and browser also appears on comments here ;)

    Comment by hari (blog owner) on Sat, Apr 22, 2006 @ 21:03 IST #

Comments closed

The blog owner has closed further commenting on this entry.