The Current State of Linux Distros

19 April, 2009

It’s already mid-April of 2009, a year (like all others) destined to be “the year of the Linux desktop.” Let’s see, then, the improvements that have already been made in the first quarter of the year, and what we can expect from major distros later on.

At the time of writing, the current version of the most popular Linux distribution is 8.10 “Intrepid Ibex.” Version 9.04 “Jaunty Jackalope” will be released in four days, and the following main improvements can be expected:

  • GNOME 2.26 (which includes general improvements to applications, easier-to-use file sharing preferences, a new sound preference pane, and updated GTK+ APIs)
  • New style for notifications
  • Support for Wacom tablets, cloud computing, and Ext4

The current stable Fedora version is Fedora 10. The next version, Fedora 11 “Leonidas”, is in beta and is expected to be released on May 26 of this year. Along with most of Ubuntu’s new features (except the new notification style), Fedora will add a guest account feature, something rather late in the game, considering that Ubuntu and Mac OS X have already had this feature for quite a while now. Another rather exciting feature is a 20-second boot sequence, which is already 90% done, and a new text-based installation interface (something Ubuntu needs to catch up on).


openSUSE 11.1 was released on December 18 of 2008. I reviewed 11.0 before it was released and I guess that 11.2 “Fichte”, which will only be released in November, will be a great improvement as well.  There isn’t much information yet on what we’ll see in 11.2.


Understanding the Linux Filesystem

26 November, 2008

Ah, the old UNIX adage: everything is either a file or process.

Let’s take a closer look at the Linux filesystem and forget about processes for now.

Files can either be regular data-holding files, directories, references to hardware, links, and inter-process communicators. Believe it or not, directories are simply lists of files, links are files that tell where other files are, and those file in /dev contain information about the connected peripherals.

Unlike other operating systems, Linux distributions tend to have many partitions on a disk instead of a single one in order to have more data security. In case something happens to a partition, not all data is lost. There are various worst-case scenarios, such as a partition being completely filled up, bad blocks, etc.

Example: print command in parted
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type filesystem Flags
1 32.3kB 20.5GB 20.5GB primary ext3 boot
2 20.5GB 21.5GB 938MB extended
5 20.5GB 21.5GB 938MB logical linux-swap

As can be seen, there are usually at least two partitions in a Linux system: a primary data partition (at least one root partition, indicated by /, that holds system files) and a swap partition, which serves as extra physical memory (this allows the system to continuously work without running out of memory). In some cases, usually based on your sysadmin’s choice, separate kernel, home, or program partitions are created upon installation. This is, again, to make sure that data is always kept intact if something bad happens.

Also, Linux supports various types of filesystems, such as its natives ext3 and ext2, along with those found natively in other operating systems, such as FAT or NTFS.

Partition mounting occurs when the mount command is used to attach a partition to a directory in the root filesystem. This way, the partition can be manipulated as a separate directory without messing with the system partition. The /etc/fstab file defines which partitions should be mounted on startup.

The df (“disk full”) command, under GNU/Linux distributions, has a . (dot) command that tells you what non-swap partition the working directory (remember pwd?) is on. If you’re familiar with Linux, you should be aware that this dot returns the pwd. However, it prints some information that is not always useful, so the -h option that allows for a more readable listing of information.

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 2.3G 16G 13% /
tmpfs 252M 0 252M 0% /lib/init/rw
varrun 252M 104K 252M 1% /var/run
varlock 252M 0 252M 0% /var/lock
udev 252M 2.7M 249M 2% /dev
tmpfs 252M 160K 251M 1% /dev/shm

By listing the root directory, one would see the following directories:

bin: programs shared by all of the system’s users
boot: kernel and other essential boot files, such as a bootloader
dev: references to all peripheral hardware
etc: system configuration files
home: users’ personal files
initrd: info on booting, not on all distros, not always dir
lib: the system library (files necessary for programs to run)
lost+found:files not saved correctly
mnt: mount point for external peripherals and filesystems
net: mount point for networked filesystems
opt: typically for third-party software
proc: a virtual filesystem for system resources (man proc)
root: home for the sysadmin
sbin: sysadmin’s version of bin
tmp: temporary directory, emptied on boot
usr: programs, libraries, documentation, images, etc*
var: stores variable files for temporary use by applications

*be careful not to confuse the terms “usr” and “user,” as “usr” stands for “Unix System Resources,” a naming legacy from System V.

Remember, though, that filesystems are not trees, although they may seem like so. Directories are simply files that list other files. In filesystems, files are represented by an inode, a “serial number” that contains the information about the data in a file, such as:

  • its owner

  • its type

  • permissions

  • timestamps (that is, when it was created, last modified)

  • number of links (remember, links are just files) to it

  • its size (in pure kilobytes! try running df without -h and you’ll see what I mean)

  • its location (again, don’t imagine UNIX filesystems as trees! This portion of the inode simply says which directory file references this file!)

Be careful, though: not all filesystems have alike. Not all have inodes, many have limits on how many directories can be inside another directory, etc.

I hope you enjoyed this article. You can find out more here, here, and here.

Windows 7 copies Fedora

28 October, 2008

200th post!

Windows 7 copied Linux again. Milestone 3 was recently announced at PDC, and now, Microsoft got another inspiration from Linux, and this time it wasn’t even a user feature. Compare the default desktops: Windows 7 and Fedora 9 GNOME (screenshots courtesy of the WinSuperSite and Wikipedia).

Larger Image:

What Ubuntu is Missing

4 October, 2008

I’m finishing up my Fedora DVD download right now (can’t wait until Fedora 10 comes out), and the main reason that I’m switching to Fedora, at least temporarily, is to install some GTK+ developer files. You see, I haven’t been able to get online on my Linux computer lately due to some ISP problems, so I haven’t been able to install the developer files since my last reinstall. That’s why I think Ubuntu should have a DVD option, like Fedora, so that you can choose what extra applications and files should be installed.

Anyway, let’s hope the checksum turns out correctly 🙂

Booting off a Live CD without a CD or an Emulator

23 June, 2008

Yes, it’s possible to boot off a live CD without any burnable discs or an emulator, especially if you have Mac OS X installed.

  1. Open Disk Utility in /Applications/Utilities/
  2. Create a partition just over the size of the disc image.
  3. Select your hard drive in the left table view and click on the Restore tab on the right.
  4. In the Source field, drag in the image from the left table view or select it through the selection dialog; for the destination, drag in your partition from the left side.
  5. Press Restore.
  6. Reboot, holding down the Option (alt) key.
  7. Select your Live CD partition.
  8. Enjoy your Live CD!
If anyone knows how to do this on other OS’s please leave it in the comments and it may be added here.

Fedora 9 Coming Soon

11 May, 2008

Why I switched back to Ubuntu

18 March, 2008
Ubuntu is sometimes thought of as the beginner’s distro, something that more advanced users don’t care about – they think if you’re advanced, you need Slackware or something where you have to build it from scratch, rewrite or add parts to the kernel to make it more compatible to your system, write your own drivers, etc, but that just takes up time. Of all the distros I’ve tried, Ubuntu is the fastest, most reliable, and (most of the time) most compatible.
I’m serious. Ubuntu is the fastest I’ve tried. Fedora and openSUSE are the other distros I’ve actually spent quality time with, and Ubuntu is a huge leap ahead Fedora. openSUSE just took a long time to boot up and still has a splash screen, which is dying out.
Now, I’m serious : Ubuntu is the distro that crashes the least with me. 
Of course, the last reason isn’t the best. Sometimes I can only find binaries in RPM format online, which I prefer over manual compiling because sometimes it can be such a pain to compile. But, let’s face it: Ubuntu has a HUGE list of available packages for download and you can find most anything there. Fedora’s pyrut visual package manager is slooow and takes a long time to browse. openSUSE’s visual package manager is also slow, and doesn’t provide for faster package name searching like Ubuntu, but it’s more acceptable than pyrut.
Now, compatibility doesn’t always have to be with software – Ubuntu has currently been the only distro to recognize my Nvidia graphics card and allow me to run desktop effects. openSUSE could barely recognize it, and trying to install the drivers broke my install. Fedora, let’s not even go there. It told me I didn’t have an advanced enough graphics card to play SuperTux!
Let’s face it – Ubuntu has been a work of art in open source. I have yet to see a distro with such a punctual release schedule, team organization, and user resources.
Thanks to all the readers for making this my most-read post with over 11,496 views Tuesday 18 March 2008 and 22,843 Wednesday 19 March 2008, with about 1000 diggs and 70-something comments! So many visited the second day that the counter stopped working!