It’s been a while since my last ‘Interview’ with Slackware and we’ve just had the new 13.0 release ( 26th August ), so time to brush up on Slackware as one of the premier distributions in the Linux landscape.
I wasn’t quite sure where to start with this article as all the goodness of previous releases shine through in this release. So I went back to my previous article to see what I had said and what I didn’t. I’ll keep to the differences with 13.0 and start with a quick rundown on the distro from a practical point of view. Check my 12.2 article for a more general overview of Slackware.
- 64-bit platform support! Many have been running unofficial 64-bit ports like Slamd64 ( thanks to the those packagers ) but you can now get your 64-bit official version direct from Slackware. I’ve yet to convert to the 64-bit version and have a no. of questions to satisfy myself, specifically regarding 32-bit app support so I will be testing this in the next few weeks and provide an update here.
- Updated kernels: we’re now at 184.108.40.206 with all the associated improvements in code and driver support
- Package management: new txz package container with compression of packages provided in the xz format and updated package utilities to deal with this of course
- Desktop environment: 13.0 now comes with KDE 4.2.4 switching from 3.5.x in 12.2 ( and Xfce 4.6.1 if you’re that way inclined )
- File-systems: support for ext4 ( as part of the supplied kernel )
- Development: GCC 4.3.3 and glibc 2.9
- XServer: xorg 1.6.3, an X config file is theoretically no longer needed
- updated pxe and usb installers
- Firefox 3.5.2
- GRUB support ( in /extra )
very little has changed here and once you get over the initial task of manually partitioning your disks, you can start the excellent ncurses-based installer and go from there. While the installer may appear somewhat complex to newbies, it’s more a case of giving choice, especially in terms of package selection. In addition, Slackware remains one of the few distro’s supporting mirrored boot disks ( yes that’s including the /boot partition/directory and swap if you want ). This is a manual process but at least you can be sure your whole root volume is protected ( I have a howto if anyone is interested ). Unlike 12.2 ( which [ may have ] had a slight issue with the Gutenprint package during install ), a number of installs of 13.0 to different hardware has yet to show any problems. Just make sure your ISO images are valid when you write them to disk ( use the checksums after downloading ) and write at a low speed to ensure compatible disks.
we’re now at 220.127.116.11 for the kernel and besides the usual array of driver updates and additions, filesystems are a big area of development. Specifically both ext4 and btrfs are included. I can’t recall doing fresh install for a particular machine but the root partition appeared to be automatically upgraded ( I’ve been following current in a single stream since 12.2 was released ) with the following parameters added – barrier=1,data=ordered. There have been a number of reports, especially from other distros adopting ext4 at an early stage, concerning file-system corruption and data loss following crashes. This mainly is a result of the change of default data journaling modes from ext3 to 4 and some apps that do not fsync data correctly. Suffice it to say that ext3 and 4 essentially have the same journaling modes and it’s only the default that has changed in ext4. Slackware 13.0 uses data=ordered mode to keep the default ext3 behaviour ( in keeping with its stability orientated vision ). You can always change this – this is a performance vs data consistency discussion and one better served in other articles – more here and here. Note that while ext4 has been getting all the attention, ext3 has been receiving some latency performance improvements in the kernel so don’t write it off just yet. Kernel 18.104.22.168 is available in /testing.
udev pretty much works as advertised with automated detection and mounting of all manner of devices. The addition of the xz compression protocol is due to its high compression factors ( like bzip2 ) with the performance of gzip. This allows a corresponding reduction in size of the distribution disks which is always handy.
Documentation for this release has been updated and those upgrading from a prior release need to take a good look at the UPGRADE file. For those new to Slackware, there are a number of documents in the root of the distribution disk relating to installation, which are important to make your first installation as smooth as possible. Read that manual. The slackbook project appears to be back on track with a revised edition at www.slackbook.org, a good starting point for all those new to Slackware.
everything and the kitchen sink – need I say more? Yes maybe:
The LAMP stack is now completely up-to-date with Apache 2.2.13, php 5.2.10 and MySQL 5.0.84 ( yes, 5.1 is the main stream now but 5.0 is still regarded as the ‘stable’ release ). I used to compile my LAMP stack due to older packages in the distro but this is no longer a necessity seeing as all these packages are bang up to date. The only requirement you may have is with certain support in PHP – I haven’t checked what support is built in the provided package yet – update to come.
In addition there is updated wifi and bluetooth support ( in tools and kernel ); about the only thing I’m missing is netcat ( netwrite is included but I’ve yet to try this one out ) and libnetfilter/libnfnetlink for connection tracking on iptables.
a number of new apps have made their appearance with updates to mostly everything else. Of interest is the mplayer plugin for browsers, Glew ( for MESA ), KDE 4.2.4 of course ( can’t miss that one out ), dc3dd ( a disk forensics tool – aka dd on ‘roids ), urwid for wicd, some new aspell internationalisation packages, tightvnc ( hmm interesting one ), Intel GPU tools, the taglib extras package ( for mp3 tagging apps ), thumbnailing support in KDE for videos using mplayerthumbs ( Dolphin and Konqueror ) and snownews ( a console rss reader ). There are also a number of rebuilt packages with support for xz compression, like tar and all the packaging utilities.
There has been some discussion in the forums as to why KDE 4.3.0 was not included but there appears to be some issues surrounding PolicyKit integration in the core OS – Robby Workman mentioned compiling both with and without PK, so I’ll just leave that storyline until -current starts up again. The KDE4 version of K3B is still a bit flaky so the KDE3 version is included along with the necessary KDE3 compatibility libraries.
Development tools are all upgraded with Perl 5.10.0, Python 2.6.2 and version control tools like git and subversion. Firefox is upgraded to the new 3.5 stream while Thunderbird remains at v2 seeing as v3 is still in beta ( I’ve been testing nightlys since b2 and it looks good although I’ve a few Bugzilla reports open ).
Other areas of 13.0 haven’t changed much in terms of usage and you can check my 12.2 article for more general details.
One area I will touch on is Gnome and I’m possibly being a bit ambitious here – running GSB 2.26.3 ( compiled for 12.2 ) on 13.0. For the most part, everything works fine but I’ve got a nasty performance degradation when running any Gnome apps. The X process clobbers one of my DualCores, bringing KDE/plasma specifically to a halt and continues to do so for about 2 minutes after I exit those apps. There was a previous issue with the Xorg 1.4.x server in 12.2 with the event handler code that caused similar issues but this should not be a problem with Xorg 1.6.3 in 13.0. I’ve spoken to both the GSB guys and Robby Workman but a resolution is still hidden to me ( thanks for the help Robby! ).
Package management and installation:
There is now a whole host of tools, internally and available from 3rd parties supporting package installation/tracking. My favourite at the moment is src2pkg but there’s also slacktrack ( in /extra ), build scripts at slackbuilds.org and checkinstall, amongst others. For package installs and updates, slapt-get, pkgsrc ( is anyone still using this? ), slackpkg and swaret provide the goods. I still don’t see Slackware’s internal lack of dependency checking an issue, but to each their own.
Out to Pasture:
the old raidtools package is now gone – I think this functionality is now all handled by mdadm ( now available from the boot disk to assist with pre-OS installation RAID setup ). Others include fvwm95, the older libxml and bison 1 packages, the Berkeley db1 and db3 libs and some printing utils like lprng ( handled by CUPS ) and ifhp.
Slackware remains my favourite server distro and personally stays on my desktop too ( it takes a bit more work here than some other distros perhaps but no matter ). 13.0 comes with almost everything you would expect in terms of applications, all at the latest versions and solid as usual. As a development workstation or LAMP/application server, I think it’s untouched. While it may not fill everyone’s expectations, you owe it to yourself to take a look if you haven’t before. For existing users, this is just another solid release. All that’s left to say is thanks to Pat and the rest of the gang – your effort is well appreciated. In conclusion, a parting quote from fortune:
“It is easier for a camel to pass through the eye of a needle if it is
— Kehlog Albran, “The Profit”
1. GSB 2.26.3 ( -current ) is now available in 64-bit form for Slackware 13.0 – announcement here
2. Techiemoe’s review
3. Why you should try Slackware – LinuxMag interview with Eric Hameleers
4. 32-bit support in Slackware64: AlienBob ( Eric Hameleers ) has both done the work of providing 32-bit support as well as written a great instruction manual for installing 32-bit support in Slackcware64. A quick note that after installing all the provided packages, it’s a good idea to restart your machine so that the appropriate Pango modules are built ( I ran into a problem with Thunderbird 32-bit which was sorted after a reboot ).
5. install your multilib support before your binary video drivers
6. K3B 1.66.0-alpha appears to be more solid than the supplied KDE4 K3B