DistroWatch Weekly

A weekly opinion column and a summary of events from the distribution world

DistroWatch Weekly

DistroWatch Weekly, Issue 415, 25 July 2011

Welcome to this year's 30th issue of DistroWatch Weekly! How many people do you know who run Debian on top of a FreeBSD kernel? Probably not many. Nevertheless it's possible, thanks to the excellent work of Debian developers who have released a GNU/kFreeBSD variant of their distribution for i386 and amd64 architectures with version 6.0. While it's probably true that this setup won't appeal to great many users out there, it's still pretty cool that it exists, says Jesse Smith in his first-look review of Debian GNU/kFreeBSD. In the news section, OpenBSD approaches a new release with a host of powerful features, Fedora 16 is set to switch to GRUB 2 as the default bootloader, Max Spevack says good-bye to Red Hat and Fedora, and former DPL Martin Michlmayr recalls his beginnings with the Debian project. Also in this issue, ten reasons for using Slackware Linux, an array of useful tips and tricks for the command line, and the addition of PUIAS Linux (a clone of Red Hat Enterprise Linux) to the DistroWatch database. Happy reading!

Listen to the Podcast edition of this week's DistroWatch Weekly in OGG (21MB) and MP3 (28MB) formatsJoin us atirc.freenode.net #distrowatch

Feature Story (by Jesse Smith)

Debian's GNU/kFreeBSD

Back in February I did a review of Debian GNU/Linux 6, also known as "Squeeze". It was a mixed trial for me. On the one hand, the installer was long and buggy and taking all the defaults I could resulted in a fairly bare system. On the other hand, once it was up and running, I found Debian Squeeze to be a solid, efficient distribution. In the end I concluded that, despite problems early on, Debian "is fast and responsive, boot times are quick and the presented software is stable without being terribly out of date."

A lot of people wrote in to say they didn't think I was being fair to the old girl, that I was attacking their favourite distribution. It certainly wasn't my intent, I tried to report the good and the bad points of my experience. I have a great deal of respect for Debian and I enjoy working with several of the developers. However, I will admit I did go into the Debian GNU/Linux review with high hopes and the bugs and problems I encountered early on placed a cloud over the rest of my otherwise good time with Debian. I can admit that my expectations not being met are as much my own fault as a product's. So, when a reader asked me to review Debian's GNU/kFreeBSD project (a marriage of the GNU userland software with FreeBSD's kernel) I saw it as an opportunity to try Debian again with a clean slate. And, since I'm giving Debian a fresh start, I hope fan's of the project will extend me an open mind.

Admittedly my fresh start got off on the wrong foot. I had begun by downloading the DVD image of Debian's GNU/kFreeBSD (hereafter referred to simply as kFreeBSD) and found my download would frequently time-out. Figuring the server was simply under heavy load I set my downloader to automatically resume the connection and left it. A few hours later I returned to find the download had stopped at around 65% completion. The reason turned out to be that I had been downloading the ISO for kFreeBSD 6.0.1. The day that I was downloading the ISO happened to be the same day the new 6.0.2 images were uploaded to the server. The old 6.0.1 file was removed while I was downloading it and replaced with version 6.0.2. I began again and managed to get the file without further interruptions.

Booting off the DVD brings up a menu with the option to perform an install via three different methods: default, automatic or expert. In practice these options are similar to each other, but with a few important differences. The automatic install gets us to select our preferred language and our location, then asks for a "preseed" (or pre-configuration) file. We're not given a description of a pre-configuration file, but I gather it's a way to script the install process. I did a quick check of the kFreeBSD installation manual and didn't find any details on how to set up one of these files. Fortunately, if we don't provide a "preseed" file, the installer will carry on with the steps required to get a basic install up and running. This includes setting a root password, creating a user account and partitioning the local drive. In the end we end up with a bare-bones installation with no desktop or network services.

The default installer goes through the same basic steps, selecting a language, setting passwords and partitioning. In addition the default install process allows us to choose to install a desktop environment (GNOME) and we can select common network services, such as secure shell, to install too. The expert method is quite similar to the default approach. The two big differences being using the expert method we can add additional modules to the installer for increased flexibility and we can choose to perform each task in the order of our choosing. It is, of course, important to make sure when using the expert method that we go through each screen (it's easy to skip steps) and we should do each step in a sane order. It's very much a case of letting us do whatever we want, even if what we want is a bad idea.

I ran into a few problems with the installer, which were most apparent when using the default method. Prior to copying files to the hard drive the installer asks if we'd like to contact software mirrors and download updated packages from there. Since I was already using the freshly updated 6.0.2 DVD I opted to use local sources (the DVD). The installer connected to the repositories anyway and downloaded packages from there instead of the DVD. It was a slow process and, an hour in, the download was 16% complete. I decided to go back and start over, this time with the network cable unplugged. This works in that it forces the installer to use local copies of packages, but it means the installer can't configure a network connection, and it will still try to contact the remote repositories and it takes several minutes for the connection to time-out. Users wanting the best of both worlds can leave the network physically connected during the initial setup stages and then pull the plug prior to copying packages.

It's a rough ride through the installer, but I will say that most of the steps are well laid out. The text installer gives explanations for each step and the menus I found easier to navigate than the graphical installer which comes with the GNU/Linux branch. The steps are the same, but the menu structure seems better suited to text-based menus. There were two other oddities that popped up, both during the partitioning section. During one of my installs I took the guided partitioning option and asked it to create a separate /home partition for me. The layout I was presented with properly showed separate /home, root and swap divisions of appropriate sizes. However, when I confirmed the layout the partitioner reported it could not create the /home partition and I had to start over. My last issue (and this may have been a limitation of my hardware) was that the kFreeBSD documentation says the installer supports ZFS, but it was not an option when I was dividing up the disk. The installer lists ext2, UFS and FAT as possible options.

Despite the various issues I ran into, each time I ran the installer through to completion it gave me a bootable operating system. With the desktop packages installed kFreeBSD booted to a graphical login screen which looks standard for GNOME environments. Unfortunately I was unable to login to a graphical desktop. Attempting to login, either as the root user or as my regular user, caused the interface to hang. No error message was presented. The operating system comes with a fallback TWM environment and trying to login to this GUI also caused the interface to freeze. This left me with the text console with which to play.

The kFreeBSD distro comes with a small collection of software on the default install. In fact, without a desktop environment, the installer drops no more than 350 MB of data onto the hard drive. This includes the basic GNU tool set. Common software like the GNU Compiler Collection, Java, the Lynx text-based web browser and even the ping program are not included. There are manual pages though, so users have help on hand. There's really just enough here to run scripts and help the user fetch the software they will need from Debian's massive repositories.

Speaking of the repositories, package management is, as with other Debian branches, handled by APT, specifically apt-get. Post-install, I had to adjust the list of APT sources a bit as security updates and the DVD were listed as sources, but the main Debian repository was not. With that done, APT worked as expected and I was able to grab security updates and install new software. Debian comes with just about everything a person will need (there are about 29,000 packages in the latest stable release) and I found everything I was looking for.

Debian GNU/kFreeBSD uses the 8.1 release of the FreeBSD kernel. For the most part, day-to-day use of the operating system probably won't turn up differences between the Linux kernel and the FreeBSD kernel. The one area where I did notice I wasn't using a Linux-based project was regarding the device names. On Linux one gets accustomed to seeing eth0 for the network and sda for the hard drive. On kFreeBSD I had to mentally switch gears to work with em0 for the network and ad0 for the disk. The /proc directory is a bit sparse under the FreeBSD kernel, compared to Linux's /proc implementation, but it's hardly likely to be noticed by most users.

Generally speaking my hardware was handled properly. I didn't spend much time in graphical environments, but my Intel and NVIDIA video cards were detected and used properly, enough to show me a graphical login screen. Network ports were detected and worked well. My laptop's Intel wireless card wasn't picked up and I believe this was due to Debian's policy regarding non-free firmware. Vanilla FreeBSD handles the Intel card, so I suspect it's just a matter of hunting down the correct firmware in Debian's non-free repository. On both of my machines boot times were good, I think a touch slower than Debian's GNU/Linux and a little faster than plain FreeBSD. Memory usage was quite low and I don't think I ever topped 100 MB of RAM being used, even including cached data.

I've heard two popular reasons for running a GNU environment on top of a FreeBSD kernel. One is script compatibility. The idea being that if a person needs a FreeBSD kernel (for whatever reason) they may still want to run GNU-specific scripts. I can see the reasoning behind this, though kFreeBSD does have a few quirks to it (such as the device names I mentioned above) which may introduce new incompatibilities. The other reason often cited is ZFS support. Though I didn't find ZFS tools installed by default, ZFS utilities are available in the kFreeBSD repositories. This brings together great file system technology with an environment which will be familiar to GNU/Linux users. A third, and often overlooked, reason for running kFreeBSD is because we can. There is something compelling about running a mash-up of technologies from two different open source camps. For people who just like to tinker with computers kFreeBSD is right up there with trying MINIX or running NetBSD on a toaster.

Given the problems I ran into with the installer and issues I ran into trying to login to a graphical environment, I have to say kFreeBSD isn't a project I would recommend to many people, certainly not novice users. Given the defaults it appears as though the project is aimed mostly at people running servers who have an interest in both GNU/Linux and FreeBSD. And, though certainly not without rough edges, it is an interesting operating system. It has got warts and it can be a pain to get up and running, but the fact that it can exist -- does exist -- is, well, is pretty cool when you think about it.

Continuing with the BSD theme, the developers of OpenBSD, an operating system reputed for its security features, will release version 5.0 later this year. The magic number has caught the attention of some websites, expecting this to be a major update, but the truth is that OpenBSD follows a more mundane versioning scheme where 4.8 is followed by 4.9 and 4.9 by 5.0. Nevertheless, there is plenty to look forward to in the release expected to arrive in early November. Peter Hansteen summarises some of the more interesting features in "What to expect in OpenBSD 5.0 onwards": "BIGMEM on by default on amd64 - this is literally a big one. The amd64 architecture has true 64-bit capability, but the ghosts of hardware design past keeps haunting us, with legacy devices that continue to require a lot of dark magic to be handled correctly and safely. This commit happened fairly early in the OpenBSD 5.0 cycle. Disk UID (DUID) support in all storage related parts such as mount, and by extension fstab (and DUID-style fstab enabled by default for new installs), so disk device renumbering will not be such a headache the next time you add or remove disks."

* * * * *

While on the subject of upcoming releases, Fedora 16 is scheduled to be released at about the same time as the above-mentioned OpenBSD 5.0 and its approved feature list is now starting to take firm shape. The H Open reports in "Fedora 16 to have GRUB 2, GNOME 3.2 and KDE 4.7": "The feature list contains 40 items, including GNOME 3.2 and KDE Plasma Workspaces 4.7. The developers are planning to switch to using GRUB 2 for the bootloader. Having switched to systemd, as an alternative to SysVinit and Upstart, in Fedora 15, the project plans to replace further SysVinit scripts with systemd units in version 16. Furthermore, Fedora is to offer everything that's required for Xen virtualisation, as version 3.0 of the Linux kernel, which is now expected to be released on Friday, will include all the necessary components. However, the Fedora project may well discard some of the features, or postpone their inclusion until Fedora 17, if they prove to be not mature enough. This could potentially happen with the planned use of Btrfs as the distribution's standard file system."

* * * * *

Sad news: Max Spevack, one of the more visible Red Hat engineers and a former Fedora Project Leader, is leaving Red Hat, Inc. at the end of this month: "I am leaving Red Hat at the end of July, just short of my seven year anniversary. As a result, my roles and responsibilities in the Fedora Project will be changing significantly at the same time. Red Hat's commitment to Fedora has in no way changed, nor has the Community Architecture team's commitment to Fedora. In addition to Fedora's established leadership team, Harish Pillay is stepping into the management and leadership role that I've been filling. He has already shared his thoughts about this transition, and I have no doubt that the team will continue to grow and be successful under his leadership." And where does the career change of your favourite Fedora personality lead to? "I'm off to Seattle in August to join Amazon Web Services as an Engineering Manager in their Kernel & Operating Systems group, with a focus on Amazon Machine Images and EC2."

* * * * *

Speaking about former project leaders, here is a nice interview with Martin Michlmayr, a former leader of the Debian GNU/Linux project. How did he start contributing to Debian? "I first used Debian in the days of 0.93R6, some time around the end of 1995. The 0.93R6 release was still based on a.out but I needed an ELF-based system for some application, so I moved to Slackware. I then quickly moved to Red Hat Linux where I stayed for several years. I rediscovered Debian in 2000 and quickly decided to join the project. I cannot recall how I rediscovered Debian but when I did, it was clear to me that Debian was the ideal project for me: I could identify with its philosophy, I liked the volunteer nature of the project, and I found the size and diversity of Debian interesting since a large project offers a lot of different challenges and opportunities." And here is a quick advice to those joining the Debian project today: "New contributors should find an area where they can make a unique contribution. Most people in Debian maintain packages but there are so many other ways to contribute. For example, most of my contributions were not technical but were about coordination and other organizational activities."

* * * * *

In contrast with a large community of developers that forges the Debian project, Slackware Linux is often seen as a one-man project by Patrick Volkerding. Although this is not strictly true as there are other names frequently mentioned in the Slackware ChangeLog, it is still tiny in comparison with most other major distributions. But it has been around for nearly two decades and there are many people who wouldn't use anything else. Jack Wallen lists "Ten reasons for giving Slackware Linux a go": "Even for an operating system known for its stability, you'll be hard-pressed to find a more reliable Linux distribution than Slackware. It has been around for 20 years and has long enjoyed a reputation for being solid. In my time using it -- and I have installed the most recent version as well as having used versions throughout my time with Linux -- I can honestly say its reputation is entirely justified. Whether on a server or a desktop, it is remarkably stable." Besides stability, clean configuration is another reason the author chooses Slackware: "One of the criticisms levelled at Slackware is a lack of graphical configuration utilities in just about every subsystem on the installation. If you want to add users, you use the command line. If you want to configure Samba or start up services, you use the command line. This approach helps create much cleaner configuration files."

* * * * *

Finally, some interesting information for MeeGo users. Wesley Chong has emailed DistroWatch to let us know that has developed a Distrowatch News Client for MeeGo 1.2: "Today, I am proud to announce that DNC, the Distrowatch News Client for MeeGo 1.2 'Harmattan' has been released. This application is targeted to Linux fans like me, who would check DistroWatch.com every day to get updated with latest distro and packages release. This version, 0.1.0, features news feed for DistroWatch.com news headlines, latest packages, latest podcasts (OGG and MP3). In the news headlines page, there are buttons for visiting the selected news website and the corresponding distro website within DistroWatch.com and there is a distro screenshot in the news headlines page. This is the initial release, please drop me a line if you have any suggestion or comment using this application. If you found any bug within this application, please file the bug by sending me an email or by leaving comment." Visit the above blog post to see screenshots and videos of the DistroWatch News Client for MeeGo.

DistroWatch News Client for MeeGo

Tips and Tricks (by Jesse Smith)

Command-line fun

My inbox has been fairly quiet this week so let's take a break from questions and instead look at fun things to do with the command line. Feel free to follow along at home.

Have you ever found yourself in a position where you have a lot of files with the wrong extension or an extra extension? Perhaps you backed up your photos and somehow changed the extensions in the process from .jpg to .jpg.bak. Now you want to return the extension to its original state. One way to perform a mass extension removal is with the basename command. The basename program is usually used to show the name of a file, minus the directory name. For example, using

basename /home/jesse/example.txt

will output "example.txt". We can take this a step further and ask basename to strip trailing characters like this:

basename /home/jesse/example.txt .txt

The above command outputs "example". Now, if we combine basename's extension removal with a loop, we can rename a group of files. The following example hunts down all files in the current directory which have the extension ".bak" and renames them, removing that extension. Other files, those not ending in ".bak", are left alone.

for i in *.bak ; do mv "$i" "`basename "$i" .bak`" ; done

The quote marks protect us against spaces in the file names. Since the command line uses spaces to separate parameters, file names containing spaces would make a mess of our instructions.

A companion command to basename is dirname. The dirname command performs the opposite task of basename and shows us a file's directory path, but not the file name. For example:

dirname /home/jesse/example.txt

returns "/home/jesse". This may not be useful very often, but it does allow us to perform a few tricks. Say, for instance, we want to find out where a certain file is and then we want to jump into that directory we can use

cd `dirname $(which krename)`

The above command figures out where the krename program is on the drive and moves us into that directory.

A more commonly used command is alias. The alias command allows us to create short-cuts on the command line. Do you find yourself running long commands over and over? Alias can speed up the process and avoid typing errors. Take the command "apt-get update". Lots of people on Debian-based systems use this on a regular basis. With alias we can trim down the command.

alias update="apt-get update"

Now, running update will be interpreted as the full "apt-get update" command. The same can be done for other commands.

Now we can run "search office" or "install liquidwar", rather than the entire apt-get command. The alias command can also be used to protect us from ourselves. Quite often admins will use the following alias to help them avoid deleting files since the "rm -i" command will delete a file only after the user confirms the action. The following makes the "rm" command safer:

alias rm="rm -i"

Alias commands, like the ones shown above, can be placed in our Bash profile file so they do not have to be re-typed each time we login.

Here is a long string that can be used to tell us how often we use commands. This looks at our command line history, counts how often we use each command and then sorts the list by frequency.

The result is a list of the top ten most frequently used commands with a number next to each showing how many times we ran that command. If you don't want people knowing how often you run your commands, the line

history -c

erases the contents of your history file.

Did you know you can use a command to send text to the X clipboard and bring it back? The xsel command can be used to copy and paste items for us. For example, this saves our command line history to the clipboard:

history | xsel -i

Then this command lets us paste the contents of the clipboard to our terminal screen:

xsel -o

The xsel command works with the mouse too. Highlight a section of text in one window, then move to the command line and run "xsel -o" and the highlighted text will appear in the console window. Likewise, copying something to the clipboard with "xsel -i" allows us to paste using the mouse (usually by clicking with the left and right buttons at the same time). One way this can be useful is, let's say we have a big table of data in a spreadsheet. We just want to extract the contents of two columns from the data and output it to another file. We can highlight the entire table with our mouse, then move to a terminal window and run

xsel -o | awk '{print $2 " " $4}' > new_table.txt

Now we have a new file with just the second and forth columns of data.

The Linux command line is a powerful and flexible tool and it can be very useful, even in a modern environment with slick graphical interfaces.

Bill Reynolds has announced the release of PCLinuxOS 2011-07 "Phoenix Xfce" edition: "PCLinuxOS Phoenix edition 2011-07 is now available for download. PCLinuxOS Phoenix edition 2011 live CD comes with the latest versions of most popular programs such as Xfce 4.8, Firefox 5.0, Thunderbird 3.1.11 just to name a few. OpenOffice.org Manager has been replaced with LibreOffice Manager. Due to the limited size of the live CD the office suite is not included but can be installed through the LibreOffice Manager either in live CD mode (3 GB of memory required) or preferably after hard drive installation. Addlocale has updated translations and can convert a PCLinuxOS installation into over 70 different languages. The software included on the live CD was based on community feedback as to what the PCLinuxOS users wanted to be included by default." Read the rest of the release announcement a more complete list of changes and features.

Lightweight Portable Security (LPS), created by USA's Department of Defence, is a small Linux live CD focusing on privacy and security while using online services. A new maintenance release was announced earlier today: "A new version of LPS (1.2.2) has been released and is accessible via the web. Changes: fixed a problem with iMac Radeon video drivers; fixed problem with trackpad not working on older MacBooks; Rdesktop - enabled compression to improve performance, fixed problem with cursor control keys not working properly; updated NVIDIA display driver to version 275.09.07; added UVC USB web camera support; added minicom 2.4 as a serial port terminal emulator under the Communications menu; updated Firefox to 3.6.19; updated DOD Configuration add-on to 1.3.1; updated Gmail S/MIME add-on to 0.5.2; updated Flash to 10.3.181.34." Here is the complete changelog.

Red Hat has announced the release of Red Hat Enterprise Linux (RHEL) 5.7, a new update of the legacy 5.x series: "Red Hat today announced the general availability of the seventh update to its Red Hat Enterprise Linux 5 platform with Red Hat Enterprise Linux 5.7. This release is important for our customers who wish to remain on Red Hat Enterprise Linux 5 while gaining some of the benefits of Red Hat Enterprise Linux 6. Key highlights of Red Hat Enterprise Linux 5.7 include: support for new hardware delivered in 2011, including Intel, AMD, POWER and IBM System z; encompasses processors, chipsets and new drivers for storage, networking, and graphics; introducing Subscription Manager to Red Hat Enterprise Linux 5 - enables improved tracking of subscriptions and usage; first introduced in RHEL 6.1...." Read the release announcement, the press release and the release notes for further details.

Kate Stewart has announced the release of Ubuntu 10.04.3 and Kubuntu 10.04.3, a maintenance update to the projects' latest releases with long-term support: "The Ubuntu team is proud to announce the release of Ubuntu 10.04.3 LTS, the third maintenance update to Ubuntu's 10.04 LTS release. This release includes updated server, desktop, alternate installation CDs and DVDs for the i386 and amd64 architectures. The Kubuntu team is proud to announce the release of Kubuntu 10.04.3. This release includes updated images for the desktop and alternate installation CDs for the i386 and amd64 architectures. Numerous updates have been integrated, and updated installation media have been provided so that fewer updates will need to be downloaded after installation." See the release announcement and the detailed summary of changes for more information.

George Vlahavas has announced the release of Salix OS 13.37 "KDE" edition, a Slackware-based desktop distribution: "Salix KDE 13.37 images are now available to download. This release includes KDE 4.5.5, the same as in Slackware 13.37. One major difference since our previous release is the inclusion of the Mozilla Firefox 5.0 web browser in place of Konqueror. We believe that Firefox has improved a lot with its latest releases and provides a better web experience compared to Konqueror. However, if any users want Konqueror back, they only have to install the 'kdebase' package using the package manager, replacing the default kdebase-lite package. Another important change is the switch from Kaffeine to Bangarang as the default media player." Read the rest of the release announcement for more information.

Steven Shiau has announced the release of GParted LiveCD 0.9.0-6, a new stable version of the useful utility live CD designed for data rescue and disk partitioning tasks. This release includes the new GParted 0.9.0 and the CD image is now compressed with xz instead of gzip. From the release notes: "This is GParted Live 0.9.0-6. New in this release: the underlying GNU/Linux operating system is based on the Debian 'Sid' repository (as of 2011-07-23); new GParted 0.9.0; Parted was rolled back to 0.2.3-7 with the patch file fix-head-size-assertion.patch from Ubuntu; Linux kernel 2.6.39-3 is used; xz compression instead of gzip method was used when making Squashfs and initrd, therefore the GParted Live ISO image and ZIP file are smaller by about 24 MB."

Ryan Finnie has announced the release of Finnix 102, a Debian-based live CD for system administrators: "Today marks the release of Finnix 102, the eighteenth release of Finnix since its beginnings over ten years ago. Finnix 102 includes Linux kernel 3.0, a smaller distribution size, new Xen pvops and 486 support, and minor bug fixes. Finnix 102 includes the recently-released Linux 3.0 kernel, and is a slight departure from usual Finnix method of closely following Debian kernel development. Configuration management was based on Debian pre-release kernels, but patch management was handled internally, basing only partly on Debian. Linux 3.0 support was tested heavily throughout the Linux 3.0-rc process. Finnix 102 includes XZ (LZMA2) compression of the compressed root and initrd." Read the rest of the release announcement for additional details.

Arne Fitzenreiter has announced the release of IPFire 2.9 Core 50, a new updated of the specialist Linux-based distribution for firewalls: "Today, we release the 50th update of IPFire 2.9. In Core 50 there are updates to Squid (3.1.14), Python (2.7.2), Apache (2.2.19), smartmontools and collectd. From now on, IPFire is installable and configurable in Polish language and there have been a couple of small issues removed on the web user interface. Since 44 months and 50 core updates, IPFire is working better than on the first day. The developers keep working on little updates that improve the base system and add-ons, but also bring major updates along the way. That is why the system runs great on recent hardware and keeps up with new technologies. Special attention is paid to safety-critical problems. Many security issues of third party packages have been patched, tested and delivered within a couple of hours." Here is the "anniversary" announcement.

PUIAS Linux. PUIAS Linux is a complete operating system for desktops and servers, built by recompiling the source packages for Red Hat Enterprise Linux. Besides these upstream packages, the project also provides several other repositories: "Addons" which contains additional packages not included in a stock Red Hat distribution, "Computational" which carries software specific to scientific computing, and "Unsupported" which holds various experimental packages. The distribution is maintained by the Institute for Advanced Study at Princeton University in the USA.

HOT! Beyond Linux From Scratch is a book that provides a broad range of instructions for installing and configuring various software packages on top of a base Linux system.Download FREE 1,200-page book