| DistroWatch Weekly
|DistroWatch Weekly, Issue 241, 25 February 2008
Welcome to this year's 8th issue of DistroWatch Weekly! Great week for all the fans of FreeBSD - according to the project's updated release engineering page, the delayed FreeBSD 7.0 should be up on the mirrors within hours! In the news section, Ubuntu introduces the all-new Intrepid Ibex, Gentoo polls its developers on issues facing the project, gNewSense announces a new level of package freedom in its repositories, and PCLinuxOS sets up a dedicated forum board for security notices. Other topics in this week's issue include a quick tutorial on using the cut and paste commands for manipulating columns of data in text files and a brief introduction to Ultimate Edition, an Ubuntu-based distribution for the desktop. As always, happy reading!
Join us at irc.freenode.net #distrowatch
UNIX cut and paste
After last week's heated debate on the state of security infrastructures in Linux distributions, I am hoping for a quieter week with a more neutral and distro-agnostic topic as today's feature story. Ready for a quick and easy tips and tricks session?
Looking through the history of commands in my terminal, I've noticed that among the commands I use most frequently are "cut" and "paste". For those of you who are just entering the UNIX world, these have little to do with cutting and pasting chunks of text with a mouse or keyboard à la Windows; instead, these old UNIX commands are designed to extract and rearrange columns of text separated by delimiters. Let's take a look at an example. If you are on a Debian system and you run "dpkg -l" on the terminal, you'll get a full list of packages installed on your system in a tabular format. The end of the output might look something like this:
As we can see, there are four columns of data. The first one, consisting of two characters, indicates the status of the file (whether it has been fully installed, partially removed, etc.), the second column lists the names of the packages, the third one their versions, and the last one gives a brief description of each package. This is too verbose for my needs, so I decide to rearrange the columns so that they only contain the package names and versions. Also, I want to list fully installed packages only. This is how we do it.
First, we use the "grep" command to filter out all the lines that do not start with "ii", so we pipe (|) the original "dpkg" command to "grep" like this:
dpkg -l | grep "^ii"
Next, we'll start using the "cut" command. For this, we'll need to specify the delimiter, i.e. which character is used to cut off columns of text from the rest. In this case, the delimiter will be the "space" character, since this is the character that immediately precedes and immediately follows the second column. For specifying the delimiter we use the -d switch and enclose the space character in single or double quotes. For specifying the desired column we use the -f switch (as there are two spaces before the package name column, we'll be cutting off everything before the second space character and everything after the third space character, including the space characters themselves). This will expand the previous command as follows:
dpkg -l | grep "^ii" | cut -d' ' -f3
The result is a long list of package names and nothing else. We'll save it in a temporary file with the output redirection character (>):
dpkg -l | grep "^ii" | cut -d' ' -f3 > temp1.txt
You can also cut off more than one column by using the -f switch in this fashion: -f3-6. If you are following this brief tutorial in a terminal window, try to change a few variables (the delimiter, the column numbers) to get a feel for how each change affects the output.
Next, we are going to isolate the third column, the one that lists package versions. This is a bit trickier because the number of spaces between the second and third column varies depending on how long the package name is. As such, we cannot use the -d delimiter. Luckily we have another option: the -b switch, which stands for number of bytes (or a number of characters you want to cut off from the original list). We use the -b switch in this way:
dpkg -l | grep "^ii" | cut -b 46-
The above command will cut off everything from the beginning of the line until the 46th character on each line. In other words, it will only display text from the the 46th character onwards. The problem here is that we don't know where exactly the third column starts (it depends on several factors, including the width of your terminal window), so you will either have to count the characters to determine it or you can do a few test runs with different variables (46, 50, 54, etc.) to find the correct value. You will also want to cut off anything following the package version numbers, which we can do with another pipe to another space-delimited "cut" command:
dpkg -l | grep "^ii" | cut -b 46- | cut -d' ' -f1
Finally, we'll save it to a temporary file:
dpkg -l | grep "^ii" | cut -b 46- | cut -d' ' -f1 > temp2.txt
We have two temporary text files, both containing the same number of lines. We can now combine them into one file with the paste command:
paste -d^ temp1.txt temp2.txt
Here I used the caret (^) character as the delimiter, but you can use any other character you wish. (The caret is great, because it is rarely employed elsewhere, so it can be used as a delimiter fairly universally. Over the years I've really grown fond of using the caret as the delimiter of columns in my text files ;-). The end result now looks like this:
Now, as a home work, please pipe the above command to "cut" in such a way that it removes all text after the dash (-) character. (Yes, I am serious!)
Of course, you can combine all these commands into one line by joining them with "&&" or you can create a Bash script placing each command on its own line and make the script executable. The advantage of a Bash script is that you can also pass variables to it; in the above example, you can simply replace the number "46" with "$1", then when you execute it, you can specify the correct number as the first argument of the script.
By giving the above example I wanted to show how flexible and fast the command line really is. If you'd tried to perform the above in a spreadsheet, it would certainly take a lot longer to accomplish (the above commands will complete their run long before you open your OpenOffice.org Calc!), so by learning a few commands, you can sort through long columns of data with ease and elegance. You can further combine "cut" and "paste" with other useful commands, such as "uniq", "sort", "grep" and "sed" to display virtually anything from any text file. In fact, I've found that extracting an exact piece of information from a 600 MB Apache log file using these commands won't take more than a few seconds.
If you regularly work with data and text files, do spend a few minutes to learn how to cut and paste the UNIX way. You'll find that you'll be able to accomplish many seemingly complex, time-consuming tasks in a jiffy.
FreeBSD reaches 7, Ubuntu introduces Intrepid Ibex, Gentoo conducts developer survey; gNewSense "frees" software packages, PCLinuxOS announces security board, interview round-up
Let's start the news section with a rumour: the long-awaited FreeBSD 7.0 will be officially released tomorrow (Tuesday). This is further supported by the fact that, apparently, if you run your preferred FreeBSD upgrade utility today and recompile your system, you will end up running "FreeBSD-7.0-RELEASE". Which means that the development of FreeBSD 7.0 has been completed and all that remains to be done before the official release is to generate ISO images for all the different architectures, update the release notes and prepare the release announcements. FreeBSD 7.0 is a very big update and we'll take a closer look at it in next week's DistroWatch Weekly, but for now it's suffice to say that there are many exciting features that will make the operating system much easier to administer. However, don't expect this new version to be any desktop-friendlier than the older ones (for that you'll still need to reach for one of the FreeBSD-based desktop projects, such as PC-BSD or DesktopBSD).
* * * * *
The Ubuntu code names have become an integral part of the Ubuntu culture. Last week, Mark Shuttleworth announced that Ubuntu 8.10, scheduled for release in October this year, will bear the name "Intrepid Ibex": "And so I'd like to introduce you to the Intrepid Ibex, the release which is planned for October 2008, and which is likely to have the version number 8.10. During the 8.10 cycle we will be venturing into interesting new territory, and we'll need the rugged adventurousness of a mountain goat to navigate tricky terrain. Our desktop offering will once again be a focal point as we re-engineer the user interaction model so that Ubuntu works as well on a high-end workstation as it does on a feisty little sub-notebook. We'll also be reaching new peaks of performance - aiming to make the mobile desktop as productive as possible."
* * * * *
What are the most critical issues facing Gentoo Linux? This is a question that Donnie Berkholz (better known as "spyderous") sent to 50 developers on an internal Gentoo mailing list. The result? A neat chart that explains a lot about how an average Gentoo developer feels about his or her project: "Technical issues are way down on the list. Developers' top 5 issues are manpower, publicity, goals, developer friction, and leadership. It's good to see that we've been addressing at least a couple of them with the newly energized public relations project and work on the Code of Conduct. Other issues that have been ongoing for quite a while now are the lack of distro-wide vision and goals. The Council could provide those by increased activity and taking stronger stands in particular directions, and that's part of the reason I did this survey - to figure out which directions our developers care about. I think part of the problem is that nobody sits around pondering directions and ideas. Everybody's busy working in their own little areas and not thinking about the big picture."
* * * * *
Karl Goetz, a developer of gNewSense, has emailed DistroWatch with an important piece of news. According to recent communication, the main package repository of gNewSense is now officially free, as defined by the Free Software Foundation (FSF): "Following some last minute work by Brian, and some good work this week from Marco, Lee and I, I would like to announce the the gNS/Packages/MAIN repository, is now officially free (as defined by the FSF). It has taken quite a bit of effort to get there, and the number of contributors is a little large to list here. Needless to say, I'd like to thank all of those that helped in a small or large way, as any contribution is significant." The same announcement also reveals that the next release of gNewSense will be based on Ubuntu 8.04 "Hardy Heron" and will be released April this year.
* * * * *
Several interesting interviews showed up last week in the Linux media. First, it was CNET which has talked to Fedora's new project leader. Is there room for non-developers in an open source software project? Paul Frields replies: "Obviously, a big portion of Fedora is software development. But there's a whole host of other activities going on as well. In Fedora I've discovered big pockets of people like me: artists, writers, translators, evangelists, etc. In a project like this, there's a place for all these people, and not solely developers. The fact that I was recognized for my non-development work is a testament to the great things that non-developers can do within Fedora and within open-source projects. Fedora is about enabling the democratization of content. Our community reflects this."
* * * * *
Next, an interview with Kenneth Granerud, the creator of Wolvix. Wolvix is a Slackware-based live CD that is not particularly well-known, but those who try it tend to be rather impressed. But how did Wolvix come about? "The thought of creating Wolvix came a good while before I had the required knowledge to actually develop it. I don't remember all the details, but the idea came after seeing KNOPPIX for the first time. I thought it was great that you could run an operating system from a CD without installing anything to the hard drive. Like many others I wanted to make my own version of KNOPPIX and my initial idea was to make a live CD full of games and a few key applications like a web browser, text editor, audio player, etc. ... The first prototype of Wolvix was based on Feather. I found remastering Feather rather cumbersome and with my limited knowledge I managed to break the prototype so many times that I eventually gave up and scrapped the whole idea. It was not until some time later that I found SLAX while looking for a distro to run on my USB flash drive. Seeing how easy it was to add applications to SLAX, the idea of Wolvix was reborn."
* * * * *
One more interview, this time it's with Anne Nicolas, the director of engineering at Mandriva Linux. It's in French, but it's short (2 minutes), sweet and informal, and it's a video - the interview was conducted during last week's Solution Linux 2008 in Paris. It's a good way to (virtually) meet the person responsible for the excellent 2008 release and the unexpected resurgence of Mandriva as a distribution likely to give its bigger competitors a serious challenge in the coming months. Watch the brief interview with Anne Nicolas here.
* * * * *
Finally, a quick note on PCLinuxOS. Last week's discussions about security notifications in various distributions produced a number of heated exchanges, but it also led to at least one project introducing a more open security policy. A new PCLinuxOS forum section devoted exclusively to security was announced last week by Texstar: "Security updates on PCLinuxOS are fairly transparent to the end user as they are just part of the normal Synaptic update process. Most commercial distributions have a full time security officer who works 40+ hours a week doing security updates, testing and posting update notices. Since we are a community distribution without commercial backing this section has been established to keep you informed." While this is not quite the same as issuing real GPG-signed security advisories, it's definitely a step in the right direction. See the PCLinuxOS Security Update Notices forum for further details.
|Released Last Week
GoblinX Linux 2.6
Flavio Pereira de Oliveira has announced the final release of GoblinX 2.6 Standard edition, a Slackware-based live CD for the desktop: "GoblinX 2.6 is released. GoblinX Standard is the original edition which was first released in October 2004. It includes five windows managers: KDE, Fluxbox, Xfce, Enlightenment and WindowMaker. The main upgrades since release candidate 1: Added SLAX firewall; added more options to Isolinux menu; rebuilt GtkDialog interfaces to prevent resize action; corrected several errors and bugs; corrected Kill button in media manager interfaces; upgraded some libraries and packages, including xorg-server; corrected some sudo issues; removed X.Org default resolution; removed some libraries; added more services to boot; added more auto-start options; corrected Ivman issues." Visit the project's news page to read the release announcement.
GoblinX 2.6 - the default KDE desktop
(full image size: 1,343kB, screen resolution: 1280x1024 pixels)
Iuri Stanchev has announced the release of NetSecL 2.2, a security-focused distribution based on Slackware Linux: "NetSecL 2.2 is out! As you can see I have shrunk the distribution to 1 CD. The default desktop is Xfce from now on, but you can still run KDE applications. In this release you will find 106 updates and 20 fixes, Linux kernel 220.127.116.11 with GrSecurity also the pre-compiled kernel supports from 1 up to 8 processors. Major packages like Snort, iptables, firewall scripts and others were updated. The fixes in this release are updates as well. The mark i486_64 indicates that the package is executable from i486 machines up to 64-bit systems, it also indicates that it is compiled with Binutils that supports PT_PAX_FLAGS and with GCC with stack smashing protection." Read the release announcement and changelog for more details.
CentOS 5.1 Live CD
Patrice Guay has announced the release of CentOS 5.1 live CD: "The CentOS Development team is pleased to announce the availability of the CentOS 5.1 i386 live CD. This CD is based on our CentOS 5.1 i386 distribution. We used the tools from the Fedora livecd-tools project to create the CentOS 5.1 live CD image. It can be used as a workstation, with the following software: OpenOffice.org 2.0.4, Firefox 18.104.22.168, Thunderbird 22.214.171.124, Pidgin 2.0.2, Scribus 126.96.36.199, XChat 2.6.6, K3b 0.12.17, GIMP 2.2.13. It can also be used as a rescue CD with the following tools: Memtest86+ 1.65, full set of LVM and RAID command line tools, QTParted, Nmap and NMapFE, traceroute, Samba 3.0.25b with CIFS kernel support to connect to Windows file shares, System Log Viewer, GUI Hardware Device Manager." See the release announcement and release notes for further information.
Scientific Linux 5.1 Live CD/DVD
A live edition of Scientific Linux 5.1, a distribution built from Red Hat Enterprise Linux source packages and enhanced with extra scientific software, has been released: "Scientific Linux Live CD/DVD 5.1 has been released for i386 and x86_64 architectures. The Scientific Linux Live CD/DVD runs Scientific Linux directly from CD/DVD without installing. The following editions are available: Mini-LiveCD 32-bit with IceWM; LiveCD 32-bit with GNOME; LiveCD 64-bit with GNOME; LiveDVD 32-bit with GNOME, KDE and IceWM; LiveDVD 64-bit with GNOME, KDE and IceWM. Live CD/DVD features: fully writeable root file system; hardware auto-detection; can be installed to local hard disk; can be installed on USB key; can be mounted over NFS (as diskless client)." More in the release announcement.
Linux Caixa Mágica 12
Linux Caixa Mágica is a Portuguese desktop and server distribution based Mandriva Linux. Version 12 is the project's latest release available for both the i586 and x86_64 architectures. Some of the more interesting new features include: 3G access; support for national identity card readers; friendly desktop with 3D effects courtesy of Compiz Fusion; new hardware detection engine, OpenOffice.org 2.3.1 in Portuguese; new server software. The distribution is powered by Linux kernel 2.6.22 and includes X.Org 7.2, the default KDE desktop 3.5.7, GNOME 2.20, GIMP 2.4.3, Synaptic and APT for RPM package management tools, proprietary graphics drivers, and support for many popular media formats and browser plugins. For more information please read the release announcement and visit the product page (both links in Portuguese).
Volker Theile has announced the release of an updated version of FreeNAS, a tiny FreeBSD-based operating system which provides free Network-Attached Storage (NAS) services. From the changelog: "Upgrade Samba to 3.0.28; add attributes 'Guest account' and 'Null passwords' to 'Samba: Settings' advanced section in WebGUI; enhance WebGUI + rc-script to define additional group memberships for user accounts; replace uShare UPnP Mediaserver with MediaTomb 0.10.0; increase mfsroot size to 54MB for embedded version; add kernel patch to support ATI IXP600/700 PATA/SATA; switch back to SCHED_ULE scheduler; upgrade 3ware serial ATA RAID controller driver to 9.4.2; allow creation of users with empty passwords; upgrade ATAidle to 2.3; add SSL/TLS support to FTP service; use inadyn-mt instead of inadyn dynamic DNS client...." Read the rest of the release notes for more information.
* * * * *
Development, unannounced and minor bug-fix releases
|Upcoming Releases and Announcements
Summary of expected upcoming releases
New distributions added to database
* * * * *
New distributions added to waiting list
- Inquisitor. Inquisitor is a hardware testing and certification system, suitable for both enterprise and home use, customisable, modular and available in both serverless live CD/DVD format and server-controlled network boot production system. Based on Alt Linux.
- Zebuntu. Zebuntu is a Linux distribution based on Xubuntu, with some influences from Zeta (an operating system based on BeOS). The project's web site is in German only.
* * * * *
DistroWatch database summary
And this concludes the latest issue of DistroWatch Weekly. The next instalment will be published on Monday, 3 March 2008.
|• Issue 593 (2015-01-19): ReactOS 0.3.17, Unity on Mir, Bluetooth support, openSUSE election|
|• Issue 592 (2015-01-12): Mint 17.1, load averages, binary logs, GNOME Software|
|• Issue 591 (2015-01-05): Manjaro 0.8.11, systemd, Devuan, Torrent Corner|
|• Issue 590 (2014-12-22): Fedora 21, Ubuntu phone, expanding ZFS storage, Able2Extract|
|• Issue 589 (2014-12-15): Parsix 7.0, Ubuntu "Snappy", PC-BSD upgrades, How Linux Works|
|• Issue 588 (2014-12-08): PC-BSD 10.2, rolling-release Ubuntu GNOME, Bitrig, systemd|
|• Issue 587 (2014-12-01): Trisquel 7.0, Kubuntu 14.10 "Plasma5", FreeBSD on 64-bit ARM, Jolla and UbuTab|
|• Issue 586 (2014-11-24): Scientific Linux 7.0, Debian and systemd, Ubuntu MATE, application-level firewalls|
|• Issue 585 (2014-11-17): openSUSE 13.2, PC-BSD's "roles", MATE + Compiz on Mint, cleaning package cache|
|• Issue 584 (2014-11-10): OpenMandriva 2014.1, Debian freeze, trickle, systemd and boot times|
|• Issue 583 (2014-11-03): Ubuntu 14.10, ownCloud, Kylin interview, The Book of PF, Elive's commercial ways|
|• Issue 582 (2014-10-27): GhostBSD 4.0, Tumbleweed and Factory merge, systemd and fork of Debian|
|• Issue 581 (2014-10-20): SparkyLinux 3.5, Fedora's graphics stack, Debian and systemd, OpenBSD 5.6|
|• Issue 580 (2014-10-13): Rolling releases, Arch as best distro, GNOME on Wayland, MINIX 3.3.0|
|• Issue 579 (2014-10-06): PC-BSD 10.0.3, Debian's Jessie freeze, setting up home server|
|• Issue 578 (2014-09-29): Calculate 14, Debian's default desktop, Shellshock vulnerability, practical Tiny Core|
|• Issue 577 (2014-09-22): SymphonyOS 14.1, FreeBSD drops pkg_add, MINIX on ARM, GNU screen|
|• Issue 576 (2014-09-15): PCLinuxOS 2014.08, Mint's documentation, Debian's hardware database, CDE|
|• Issue 575 (2014-09-08): Porteus 3.0.1, Fedora's blivet-gui, Red Hat's Docker, systemd|
|• Issue 574 (2014-09-01): Ubuntu Kylin 14.04, Haiku and Linux kernel, Wayland support, Lumina, Bash completion|
|• Issue 573 (2014-08-25): SolydXK 201407, VPN gateway with FreeBSD, Ubuntu MATE, Raspbian, trusting binary packages|
|• Issue 572 (2014-08-18): ZFSguru 10.1, Fedora's Flock, beta installer for "Jessie", Ubuntu Core, rolling releases|
|• Issue 571 (2014-08-11): HandyLinux 1.6, LMDE update, default desktop in "Jessie", running out of disk space|
|• Issue 570 (2014-08-04): Neptune 4, Kubuntu's KDE Plasma 5, FreeBSD and UEFI, Linux servers|
|• Issue 569 (2014-07-28): Deepin 2014, Ask Fedora, Gentoo and LibreSSL, encrypted package downloads|
|• Issue 568 (2014-07-21): Antergos 2014.06.24, Mint based on Debian stable, upgrading CentOS, BinaryTides|
|• Issue 567 (2014-07-14): Manjaro 0.8.10, PC-BSD jails, Debian and glibc, Fedora's DNF, Xiki and Opera 24|
|• Issue 566 (2014-07-07): LXLE 14.04, OpenBSD's SimpleDE, openSUSE artwork, home security basics|
|• Issue 565 (2014-06-30): Chakra 2014.05, Fedora on BeagleBone, Matthew Miller interview, e-book readers|
|• Issue 564 (2014-06-23): Antergos 2014.05.26 and Q4OS 0.5.11, Debian LTS and glibc, Fedora DNF|
|• Issue 563 (2014-06-16): Mint 17, CentOS 7 pre-release, Debian MATE, accessing encrypted content|
|• Issue 562 (2014-06-09): GoboLinux 015, Gentoo interview, Fedora leader change, climagic tricks|
|• Issue 561 (2014-06-02): OpenMandriva 2014.0, Debian GNU/Hurd, Lubuntu and LXQt, Final Term, TrueCrypt|
|• Issue 560 (2014-05-26): KaOS 2014.04, Wayland and KDE 5 on Fedora, distros with commercial support, DenyHosts|
|• Issue 559 (2014-05-19): VortexBox 2.3, LTS-only Linux Mint, FreeBSD 11 ambitions, KDE 5 beta|
|• Issue 558 (2014-05-12): RHEL 7 Workstation impressions, LXQt and Lumina, Haiku interview|
|• Issue 557 (2014-05-05): Xubuntu 14.04, Ubuntu 14.10 roadmap, Fedora Workstation, ownCloud|
|• Issue 556 (2014-04-28): Ubuntu 14.04, LibreSSL, Lumina desktop, Deepin interview|
|• Issue 555 (2014-04-21): Robolinux 7.4.2, Ubuntu release day stats, Debian security, Porteus update|
|• Issue 554 (2014-04-14): Review of FreeNAS, OpenSSL bug, Fedora.next, Robolinux Stealth VM, measuring memory|
|• Issue 553 (2014-04-07): Puppy 5.7 "Slacko", end of Ubuntu One, file encryption with GPG|
|• Issue 552 (2014-03-31): Tanglu 1.0, Ubuntu GNOME LTS, SliTaz for ARM|
|• Issue 551 (2014-03-24): Linux Mint "Debian" 201403, call for end to proprietary firmware, LVM|
|• Issue 550 (2014-03-17): Review of NixOS 13.10, Lubuntu seeking feedback, Android-x86 4.4-rc1 impressions|
|• Issue 549 (2014-03-10): ClearOS 6.5 and UCS 3.2, Gentoo interview, Ubuntu app contest, Into the Core|
|• Issue 548 (2014-03-03): Review of Mageia 4, FreeBSD console driver, filtering web content, Pitivi fundraiser|
|• Issue 547 (2014-02-24): Chakra 2014.02, Ubuntu privacy, preventing unwanted remote logins|
|• Issue 546 (2014-02-17): Review of PC-BSD 10.0, Red Flag closure, Ubuntu and systemd, SlackE18, Fedora book review|
|• Issue 545 (2014-02-10): Impressions of FreeBSD 10.0, Debian votes systemd, Ubuntu file manager, server security|
|• Issue 544 (2014-02-03): Netrunner 13.12, openSUSE future, Ubuntu Touch in emulator, running commands in multiple places|
|• Issue 543 (2014-01-27): Review of Korora 20, FreeBSD 10.0, DNF, ZFS rescue CD, Bridge Linux interview|
|• Issue 542 (2014-01-20): QupZilla, Ubuntu with MATE, Arch on Raspberry Pi, best applications|
|• Issue 541 (2014-01-13): openSUSE 13.1 and Zentyal 3.3, CentOS joins Red Hat, Bodhi on Chromebooks|
|• Issue 540 (2014-01-06): SMS 2.0.6 and SME Server 8.0, Hawaii desktop, PHR statistics 2013, more on multi-part archives|
|• Issue 539 (2013-12-23): Centrych 12.04.3, Fedora 20 and its spins, dividing archives across multiple discs|
|• Full list of all issues|
|Free Tech Guides
C/C++ Essential Training
In this FREE video course, Bill Weinman dissects the anatomy of C and C++, from variables to functions and loops, and explores both the C Standard Library and the C++ Standard Template Library.