DistroWatch Weekly

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

DistroWatch Weekly

DistroWatch Weekly, Issue 380, 15 November 2010

Welcome to this year's 46th issue of DistroWatch Weekly! The arrivals of Linux Mint 10 and Red Hat Enterprise Linux 6, greeted by two very different groups of users, were the main events on last week's distro release calendar. While desktop Linux enthusiasts rejoiced over yet another excellent Mint with many subtle improvements, system administrators in large data centres were likely much more excited by the new RHEL, especially by the product's new virtualisation features. The news section below covers both releases and links to relevant articles published last week. Before that, there is this week's feature story, which is a test of Bordeaux, a commercial software product that allows users to run many popular Windows applications on Linux. The news section is then followed by a Tips and Tricks department which provides a number of useful Bash scripts that could come handy in some situations. There is more, including a big update in Slackware "Current", a critical look at the Fedora feature process, and a release schedule of Mandriva Linux 2010.2 and 2011. Happy reading!

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

Feature Story (by Jesse Smith)

Test-driving Bordeaux 2.0.8

We, as computer users, run applications -- all sorts of them. We browse the web with an program, send e-mail via another, write up reports, crunch numbers, listen to music, transfer files and store contacts using a long list of different applications. There are thousands upon thousands of programs floating around the digital world and there's one problem: they don't all run on your operating system. Almost all of us, at one time or another, will come to a point where we have an operating system and matching programs that do almost everything we want and, on the other hand, a program which doesn't run natively on our OS of choice. Fortunately there are ways of dealing with this. Some people dual-boot their systems and deal with the awkward transition between platforms. Others use virtual machines and work with the overhead involved with running two systems at the same time. A third option is to build compatibility into one OS so that it can run programs designed for a different OS and that's where Bordeaux comes in.

The Bordeaux Technology Group is a company specializing in compatibility software. Specifically, they work at making it as easy as possible to run Windows programs on the UNIX family of operating systems. Their Bordeaux tool is built to run on Linux, FreeBSD, Solaris, OpenIndiana and Mac OS X. Bordeaux is, at its heart, a customized build of Wine. They take a recent version of Wine, add some special tools and test their build for compatibility against a group of popular Windows software. They then sell this bundle (along with support) for about US$20 - 25, much less than the typical cost of a Windows license. A few weeks ago I had a chance to chat with Tom, a member of the Bordeaux Technology Group, and he was kind enough to give me a copy of Bordeaux (PC-BSD edition) to test-drive.

The provided PBI package was about 44 MB and it installed without any problems. With the install completed, two icons were added to my desktop and application menu. These new icons were labelled "Bordeaux" and "Cellar Manager". I launched Bordeaux first and was presented with a new window featuring three tabs along the top. These three tabs are called "Install Applications", "Manage Wine" and "Unsupported Packages". At the bottom of the window, regardless of which tab is selected, are two buttons called "Help" and "Install". Clicking the Help button always opens a browser window to the Bordeaux documentation website. The Install button actually performs different functions depending on which tab is selected.

Let's start with the Manage Wine tab. It provides us with a list of basic Windows software, such as Notepad, Minesweeper and the Registry Editor. Clicking on one of these items and clicking the Install button launches the program. It's pretty straightforward and I didn't have any problem using these built-in items.

The Install Applications tab is a bit more interesting. This tab provides us with a list of Windows software which is supported by Bordeaux. Highlighting one of the items and clicking the Install button will perform one of two actions. In cases where the highlighted software is freely available online, Bordeaux will download and install the application. I tried this with Internet Explorer 7, Safari, QuickTime Player and Google's SketchUp. Each of them downloaded and installed without and problems and the first three ran smoothly. The SketchUp program installed on my machine, but I ran into problems running it and experienced frequent crashes. I haven't used SketchUp before, so I'm uncertain as to how much of this is a problem with the application itself, with Bordeaux, or with my hardware. There are several other programs available in the support list, many of them Microsoft Office products. Picking one of these options and clicking the Install button would kick off work in the background and install some components. Bordeaux didn't provide much information as to what was going on, but I suspect it was configuring my environment to work with the highlighted software.

Next we find the Unsupported Packages tab. It's much the same as the Install Applications tab and shows us a list of commonly used Windows software. Something I found odd about this tab is that some of the programs listed here (such as VLC and Firefox) are also listed in the Install Applications tab. This tab works very much like the Install Applications tab in that we can click on the name of an application and click Install. Bordeaux will then try to install the item. However, as the name implies, these are unsupported items and may or may not work. I selected eight items and found half of them installed and ran without any problems. I'm uncertain as to whether the remaining items I chose were unavailable for on-line downloading or if there was a problem during the install process. Unfortunately Bordeaux doesn't always make that clear and I'm not familiar with all the titles listed.

That covers the Bordeaux application, now let's take a look at the Cellar Manager. All of the Cellar Manager information is presented in one small window without any tabs. Here we are shown a list of any supported applications we have installed. Now I didn't find much documentation on cellars, but it seems that Bordeaux sets up an isolated Windows environment for each installed program, sort of like a "chroot" environment. The Cellar Manager allows us to configure each of these environments (or cellars) as if it were the only Wine environment on the machine. This is particularly convenient if we want to run multiple versions of a program, such as Internet Explorer 7 & 8, and have them run using different settings. We're also able to run commands in each of the cellars and we are able to remove existing cellars from this screen.

At the top of the Cellar Manager is a menu labelled Installation which has two sub-items, Supported and Unsupported. On my system selecting the Unsupported option would open a Windows-style "run command" dialogue box. Picking the Supported item would open a new dialogue which would display a list of Windows software. Most of these are duplicates of the items found in the Bordeaux application under the Install Software tab, but some are unique to this Cellar Manager dialogue. I installed a few items from this location, including Adobe Reader and Internet Explorer 8 and didn't run into any difficulties.

There were times I was using Bordeaux, especially when installing supported software, that I found myself thinking that not only did I appreciate the power of the suite, but that I would like to see similar capability native to Windows. The ability to install free (gratis) software from a central manager is something the Linux and BSD communities do well and it would be nice to have the same functionality on Windows. I guess what I'm saying is that, in some ways, Bordeaux out-Windows Windows. I feel that the Bordeaux Technology Group has made a significant add-on to Wine and not only added some improved compatibility, but also made managing third-party Windows software easier.

Unfortunately the user interface could use some polish and it's one of those cases where the little details matter. As an example, there is no distinction on the Install Applications screen between which applications can be downloaded and installed by simply clicking the Install button and which ones require the user have a product CD. It would be convenient to have a marker next to each item letting the user know if the software is freely available. While free packages are downloading there is no indication of progress, so the user doesn't know if the process is still working. On my system the Uninstaller utility wouldn't show/remove software installed from the Bordeaux program, but it would list applications I had installed from the Cellar Manager. I'm not sure if this is a bug or intended behaviour, but it strikes me as unintuitive.

I've been using Bordeaux for about a week now and, though it has some rough edges, I'm enjoying the experience. Once I got the hang of the suite's little quirks, I found it to be powerful and it makes working with Windows software on PC-BSD a more pleasant experience. Having a list of supported software takes some of the guesswork out of running applications on Wine. Having separate cellars is also nice in that it gets around the problem of different programs having special (or conflicting) dependencies. Right now the software feels like it's aimed at system administrators who want to install and manage multiple Windows applications. Bordeaux is not quite to the point where I would suggest it for end-users, but with a few more progress bars, tool tips and (especially) documentation it can easily get there. The functionality is in place and just needs some friendly touches. This is definitely a product to keep in mind if you're trying to transition between the Windows world and the Linux/BSD community.

The highlight of the week, at least from the desktop point of view, was the release of Linux Mint 10. One would think that after so many successful releases the project will eventually run out of things to improve, but the first indications are that this is another excellent Mint release, a perfect ten, as graded in this review by Linux Critic. No wonder that the project's website came under a heavy strain last week: "The release of Linux Mint 10 has brought more traffic than we've ever seen before, and sadly also much more than our server is able to cope with. We've got dedicated servers for the website, the blog, the forums and the seeding of the torrents, and even with that, we're not able to face the traffic!" Of course, one of the questions many users are asking is the future direction of Linux Mint, giving the recently-announced switch to the Unity desktop by its parent, Ubuntu. Will Mint follow suit? According to a recent interview with Clement Lefebfre, the project's lead developer, the answer is no: "We're not planning to switch to Unity but to keep our desktop as similar as it is at the moment. So it's hard to say how we'll achieve this technically but we're aiming at using GNOME without GNOME Shell."

Linux Mint 10 comes with a new theme and a plethora of friendly enhancements.(full image size: 731kB, resolution 1280x1024 pixels)

* * * * *

It's not every day (or even every year) that a new major version of Red Hat Enterprise Linux (RHEL) arrives at the scene. In that light, last week's announcement about the release of RHEL 6 was a reason to celebrate for many system administrators who had been looking forward to deploying a more modern Linux system than the ageing RHEL 5.x series. The reviews will probably take a while to come, but The Register has run through a summary of new features in an article entitled "RHEL 6: serious Linux built for growth": "One of the main goals for RHEL 6 was to make managing virtual servers as easy as managing physical machines, which means the bulk of the new software features in this release are found in KVM. It also means that Xen is gone, though that's hardly surprising since Red Hat purchased Qumranet - creators of KVM - back in 2008. RHEL 6 builds on the KVM-based virtualization found in RHEL 5.5 and earlier releases, adding a number of performance and hardware support upgrades. Upgrading from old Xen-based disk files is also simple, just boot KVM and point to your Xen loopback disk files and reboot your virtual machines. Also new for virtual guests is the SELinux sandbox feature, which allows guest machines to run in isolated environments."

Fedora 14 was released barely two weeks ago, but the preparations for the next version are already in full swing. Among them, the feature list is probably the most interesting at this early stage of the development process. But how does the Fedora feature process work? And is it the ideal method of providing motivation to the developers? Peter Robinson expresses some scepticism over the procedure in his article entitled "Thoughts on the Fedora feature process": "So the worst thing I've discovered with features is not really the actual process but the barrage of 'I'm right Jack' attitude as people rush to get their features marked off as 100% complete and the lack of care towards others' needs and requirements. Oh, and the flame wars on devel and the hate mail. I feel that if there's no expectation of a 'feature' being there there will be two pluses - people have no reason to flame me and if it happens to work there will also be a pleasant surprise when they discover it. The downside will be that as it's not defined it won't be there for marketing to use to promote Fedora." Adam Williamson agrees with the sentiment in a comment below the post: "I agree that the feature process is often a bit of a waste of time, especially since our policies make it easier to introduce a feature if you don't in fact denote it as a Feature. All that denoting your feature as Feature seems to bring is pain, bureaucracy, and a small amount of publicity."

* * * * *

Finally, a quick update on Slackware Linux, the world's oldest surviving Linux distribution. Its latest development changelog, released earlier today, carries an unusually long list of changes, including an upgrade to X.Org Server 1.9.2 and the accompanying "set of X.Org packages": "Lots of updates, including a major X overhaul!" But if you follow the "Current" branch and have an NVIDIA video card then beware of the possible Mesa problem: "I was on the fence with this upgrade, and in fact it sat in /testing for days with mesa-7.8.2 queued instead. But it seems the Intel driver really does need this version of Mesa or there are major problems with compositing (most of them leading to an X server crash). If X crashes at start, try disabling compositing. The machine that had issues here was using an onboard NVIDIA 6150SE. Using the nv, nouveau, or even the vesa driver, X crashed at start unless compositing was disabled. However, everything works perfectly when using the binary NVIDIA drivers, and odds are that most users with decent NVIDIA hardware are doing just that. So, that's the situation with NVIDIA and Mesa as observed here for now. Hopefully the defaults will work better soon, but meanwhile if you have NVIDIA hardware you may have to either disable compositing or obtain and use NVIDIA's binary drivers."

Tips and Tricks (by Jesse Smith)

Useful Bash scripts

This past week I spent some time digging through old shelves and boxes and found a few of my early UNIX textbooks. Flipping through them I found it interesting to see that while our technology continues to race forward, a lot of the basics have stayed the same. Much of the security practices suggested twenty years ago are still valid today. Some of the backup scripts provided in these books (one of which talks about this new thing coming out called Netscape Navigator) are still helpful. We've talked about the command line here before a time or two and this week I'm feeling nostalgic. So I'd like to dig into the scripting toy box and share a few items that I have found useful over the years.

This first script is fairly simple. It checks to see how much room is currently available on the /home partition. If less than 10 GB of space remains free, then a warning is displayed. In place of printing a warning, we can substitute sending an e-mail or other notification.

It works by running the df command, which displays disk usage information. The grep command then looks for the information related to our /home partition. And the awk command extracts the data in the forth column of df's output -- the forth column telling us how much space is still available. Do you have a room-mate who won't stop filling your hard drive with media files? Get cron to run this script and have it shutdown his or her favourite P2P client by running "killall" in place for the "echo" command.

Our next script was put together to get around a problem I kept creating for myself. Every so often I find myself downloading a program or performing an update only to discover that it's taking longer than expected and I'm waiting for it to finish so I can run another command. Just as an example, imagine I'm downloading nmap and, once the install is complete, I want to run nmap to scan my machine. Rather than wait around, I can use this script:

The script takes two or more arguments. The first is the process ID number of the program we're waiting for. Everything specified on the command line after that is what we want to run. Since each process ID has an entry in the /proc directory, we can see if a program is still running by checking for the existence of that directory. If we called the above script "waitfor" and our slow process-in-progress is number "24658" we could use it like this:

waitfor 24658 nmap localhost

Once program number 24658 has completed its task, the waitfor script will run nmap to scan the local machine. The "shift" command at the bottom of the script says we're done with the first argument (the PID) and it can be discarded. The following line with the "$@" means we want to run the remaining arguments (nmap localhost) as if they were typed on the command line.

Have you ever been working from a terminal and wondered if a word you were using was spelled correctly? This next script can check that for you using the "spell" command available on most distributions. What this does is take a given word and run it through the system's spell-checker. If the word is spelled correctly it gives us confirmation. On the other hand, if the spell-checker can't find a match, it will try to display a list of possible correct spellings.

I've broken the script into three chunks. The first block checks to make sure we gave the script a word to check. The second part hands the word over to the spell-checker and lets us know if the spell-checker gave us the "OK". If the script makes it to the third part, it assumes the word was not spelled correctly. It then takes the first four letters of the word we gave it (using the cut command) and uses grep to find matches to those first four letters in the system's dictionary. The "head" command at the end of the line limits the number of recommendations we get back to 20 or less, to avoid flooding our terminal screen.

This next script was born from two accidents I witnessed early in my IT days where computers caught fire. Both cases were due to hardware failure, in one case a CPU fan stopped working and the server kept going. Since it's often convenient to leave a machine running unattended, I came up with a small script that could be run from the terminal or from a cron job. Machines these days have more safety guards, but I think it's still worth looking at the script. This script checks the current temperature of the CPU. If the temperature reaches 50 degrees Celsius, a warning is displayed. Should the temperature reach 80 degrees, the machine is shut down.

The first line runs the sensors command which will display temperature information from the machine's internal sensors. The grep command will then, in this case, grab the data associated with sensor "temp1". Different systems may have different sensor names. The awk and cut commands then grab the temperature data, weeding out extra symbols, such as the leading "+" sign and trailing "C". The temperature is saved in a variable called "current", which we then compare to our warning and cutoff points.

Each of these scripts as-is are small and perform simple tasks. But in them are the building blocks for more powerful tools. As an example, the waitfor script could try to terminate the process it is waiting on after ten minutes. Or the script which checks for available disk space could be modified to hunt down large files that have not been accessed for a long time and list them. The temperature checking script could try to kill the process using the most CPU in an effort to cool things down. There are an amazing number of possibilities when using shell scripts.

If you are interested in learning about the command line and shell scripting, I recommend picking up a copy of UNIX: The Textbook. It does a great job of slowly introducing new concepts and gradually building upon existing material. I found it to be a helpful introduction to the UNIX family of operating systems. Brave souls may also want to read Advanced Bash-Scripting Guide, a text that jumps into the more interesting end of the scripting pool.

Stanislav Hoferek has announced the release of Greenie Linux 8M, an Ubuntu-based desktop distribution optimised for Slovak and Czech-speaking users: "One month after the release of Ubuntu 10.10, a new release of Greenie has arrived. What is new? From this point on, Greenie Linux is primarily a DVD, as it is no longer possible to fit it onto a CD. Among the more interesting programs included in the release are Google Chromium, GIMP, Pidgin, VLC, Moovida, Pingus, WINE, OpenTTD and many other applications and games. Greenie Center was re-built, new theme (Deepin) is used. Work from inside VirtualBox is much better, documentation was updated a bit and there is also better support for languages other than Slovak and Czech." Read the rest of the release announcement (mostly in Slovak, scroll to the bottom of the page for the brief English version).

Steven Shiau has announced the availability of a new stable release of Clonezilla Live, version 1.2.6-40. Clonezilla Live is a Debian-based live CD containing Clonezilla, a partition and disk cloning software similar to Norton Ghost. Some of the enhancements and changes in this release include: "The shorter boot parameter 'config' (was 'live-config') is used now; the underlying GNU/Linux operating system was upgraded - this release is based on the Debian 'Sid' repository as of 2010-11-06; ocs-live-restore was improved to allow shutdown the machine when using Clonezilla recovery ISO/ZIP with '-p poweroff'; Linux kernel was updated to version 2.6.32; Partclone was updated to version 0.2.16; Syslinux / isolinux was updated to version 4.03; live-boot was updated to 2.0.11...." Read the full release announcement for more details.

Flavio Pereira de Oliveira has announced the release of ImagineOS 20101103, a Slackware-based live CD formerly known as GoblinX: "The second ImagineOS release is finally available. This live CD, created by using linux-live scripts with few modifications, uses KDE 4.5.1 as the desktop environment and its based on Slackware 'Current' with more applications and features. Some versions of major components of the system: Linux kernel 2.6.33 (with Zen kernel patch), glibc 2.12.1. Changelog: added some small modifications to the ImagineOS hard disk installer; added the possibility to load ATI, NVIDIA and Intel video card modules before Plymouth starts; added lines inside rc.imagineos boot script to force Intel video card modules to restart using kernel modeset...." Here is the complete release announcement.

George Vlahavas has announced the release of Salix OS 13.1.2 "Xfce" edition, a Slackware-based distribution: "We are happy to announce the immediate availability of the collection of Salix Xfce 13.1.2 CD images. These include both 32-bit and 64-bit standard installation images, as well as a 32-bit live image that can be used with an optical disk or a USB drive. Both the standard and the live image can be used for installing Salix Xfce to your hard drive, using a text-mode or a graphical installer respectively. The live image includes, among others, a persistence wizard, that will let the user keep changes, including extra installed packages and personalization between different live sessions. LiveClone is another tool specific to the live image - using it users will be able to easily roll their own custom build of the Salix Xfce Live." Read the rest of the release announcement for more information.

The long-awaited Red Hat Enterprise Linux (RHEL) 6 has been released: "Red Hat, Inc, the world's leading provider of open source solutions, today announced the general availability of Red Hat Enterprise Linux 6, the latest major release of the company's flagship operating platform, setting the scene for its server operating systems for the next decade. With Red Hat Enterprise Linux 6, Red Hat defines new standards for commercial open source operating environments. Designed to support today's flexible and varied enterprise architectures, Red Hat Enterprise Linux 6 delivers the comprehensive foundation customers need for physical, virtualized and cloud deployments." The press release carries general information about the product, while the release notes provide technical information and feature details, including screenshots.

Greg Bruno has announced the release of Rocks Cluster Distribution 5.4, a CentOS-based Linux operating system for computer clusters: "Rocks Cluster Distribution 5.4 (Maverick) is released for Linux on the i386 and x86_64 CPU architectures. New features: redesign of the Avalanche installer; channel bonding for nodes is now controlled by the Rocks command line; all nodes' firewall rules are controlled by the Rocks command line; introduction of 'Air Traffic Control'; 'greceptor' replaced with 'channeld'; DNS resolution for multiple domains; login appliance support; set the name of a host based on the name of a specific network interface; easily swap two interfaces with one Rocks command; created a GIT repository for Rocks-related source code...." See the release announcement and release notes to learn more about the enhancements in this version of Rocks Cluster Distribution.

Clement Lefebvre has announced the release of Linux Mint 10, code name "Julia": "The team is proud to announce the release of Linux Mint 10. New features: install codecs and upgrade to the DVD edition from the welcome screen; the menu highlights newly installed applications and makes them easier to find; the menu finds and installs software from the repositories; addition of search engines to the menu's search box; Software Manager with a better categorization of software and use of application icons; update manager can ignore updates and shows download size; upload manager improvements; new look and feel featuring a traditional light theme and dark background; various system improvements...." Read the release announcement and visit the what's new page for more information about the new Mint.

Antoni Norman has announced the release of Pinguy OS 10.10, an Ubuntu-based distribution for the desktop with a number of user-friendly enhancements: "Pinguy OS 10.10 final has just been released. There are a few changes worth mentioning since Pinguy OS 10.10 beta 2: new wallpapers; replaced Vinagre with Remmina; added a script to fix Synaptics Multitouch; turned the firewall on by default; added Nautilus Easy Union; added Giver; lock keys (Caps Lock, Num Lock and Scroll Lock) NotifyOSD notifications; added Nautilus Columns (extra EXIF and FLAC/MP3 metadata in Nautilus); Granola has been added for better battery life on netbooks and laptops, should save around 10 to 15% power consumption; updated Wine to 1.3 from 1.2; added Zeitgeist data sources; installed the missing firmware packages that haven't been added...." Visit the project's user forum to read the full release announcement.

Leszek Lesner has announced the release of ZevenOS 3.0, an Ubuntu-based distribution featuring the Xfce desktop with a BeOS touch: "The ZevenOS team is proud to announce the release of ZevenOS 3.0. This version is based on Ubuntu 10.10 and has a bunch of new features and changes. The base system was updated to Linux kernel 2.6.35 which brings a bunch of new drivers. The biggest change here is the switch from the NVIDIA open-source driver nv to nouveau. Besides that, there are many updated and refreshed wireless drivers on board. Thunar has gained a new context-sensitive entry to convert images. The deskbar was updated to have a freedesktop.org-compliant dynamic menu which is editable with standard tools. Besides that the deskbar gained many contextual menus which allow access to commonly used actions, like change time & date or mute the volume." Read the full release announcement for further details and a video preview.

Eugeni Dodonov has published a development roadmap leading to the release of Mandriva Linux 2011 on 30 May 2011: "After a long period of silence, I am pleased to give you some official news from Mandriva about the next Mandriva version. And, to compensate for all the time without news and announcements, I give you two releases at once. Yes, you read it right. In the coming months, not one, but two Mandriva versions will be released! First, we will release Mandriva 2010.2, with estimated release date of December 22, as a Christmas gift to you all. Mandriva 2010.2 is a refreshed look at our latest release, Mandriva 2010.1, plus all the security and bug-fix updates which were done after its release, plus also lots of improvements, stability and performance fixes in many, many packages. Besides Mandriva 2010.2 time has come to announce the Mandriva 2011 release."

Super Grub2 Disk is a live CD that helps the user to boot into almost any operating system even if the system cannot boot into it by normal means. This allows a user to boot into an installed operating system if their GRUB installation has been overwritten, erased or otherwise corrupted. Super Grub2 Disk can detect installed operating systems and provide a boot menu which allows the user to boot into their desired operating system. Super Grub2 Disk is not an operating system itself, but a live boot loader which can be run from a CD or USB thumb drive.