I woke up this morning to find a very nice email in my inbox – Slackware 13.37 has been released!
So continuing on from previous articles in my interview series, it’s time to take a look at Slackware 13.37. One thing is for sure about the development process – Pat has been having some fun. The odd version number is because he has always wanted a cool name for a release and 1337 ( leet ) fit the bill. Instead of simply being called RC4, the 4th release candidate is labelled as RC 3.14159265358979323846264338327950288419716. Furthermore, the 5th rc is called 4.6692 ( first Feigenbaum constant ).
Let’s take a look …
In development, this release has seen a massive amount of updates and bug fixes. This includes new versions of the Mozilla stable of browsers to fix the recent Comodo certificate vulnerability. Other updates, changes and fixes include:
- upgrade to KDE 4.5.x series ( AlienBob is maintaining 4.6.x for the -current series and 13.37 )
- mplayer phonon backend for KDE ( to supplement gxine and gstreamer support )
- bind is upgraded to 9.7.3 ( includes fixes for cache poisoning attacks )
- Firefox 4 takes over from 3.6 as the main browser
- the huge update to xorg-server 1.9 ( xorg.conf no longer required )
- rpm2tgz now supports txz packages
- nvidia nouveau driver added
- LAMP stack now has php 5.3.6, apache 2.2.17 ( supports DSO and SSL ), mysql 5.1.55
- Ian Lance Taylor’s new ELF linker ‘gold’
- yasm, libplist, rfkill, moc console audio player, libsndfile, ddrescue ( my fav app ), iptraf-ng, chrome added
- lxc linux containers based on cgroups support
In other areas, GPT partition support, memtest86+ and virtio modules have been added to the install initrd as well as the usb/pxe installers. Slackware now supports btrfs fully with the btrfs-progs package ( moved from testing ) although you may want to use something else for the /boot slice. Support has been updated for 6xxx series and Wireless-N Intel wifi controllers. Gdisk can be used to partition large disks ( GPT ) instead of fdisk.
The ncurses-based installation mechanism continues to be simple and to the point. Support for GPT partition layouts makes use of Slackware on large drives ( ~2TB+ ) easy and virtio modules means that it is now easier to use Slackware as a kvm guest. While not an automated install function, it’s straightforward enough to enable kvm guest support after the install process ( thanks for help from Eric, Ponce and Rambuld in the LinuxQuestions forum ).
The installation procedure is:
- boot and login
- partition ( using fdisk/cfdisk/gdisk ) any disks that you need for installation
- start the installation program – setup
- answer the install questions ( see below )
- install and reboot
- install 3rd party package management tools ( like slapt-get and src2pkg )
- install binary video drivers ( Nvidia / ATI-AMD ) if required
- set default init level to 4 ( for desktops )
- customise as required
- setup swap disk
- choose partition(s) for Slackware ( btrfs available )
- choose source media ( NFS, FTP, HTTP and Samba shares supported )
- choose package sets
- choose install mode ( full is fine )
- create a usb boot stick
- choose frame buffer console resolution
- select the lilo boot destination
- choose mouse options
- setup networking addressing
- select startup services
- set timezone
- choose windows manager
- set a root password
Once you’ve finished the install, exit to the prompt and reboot your machine. Done!
Installing as a kvm guest with virtio requires some additional steps – if setting up kvm guest ability straight after quitting the installer:
add the following to /mnt/etc/lilo.conf
disk=/dev/vda bios=0×80 max-partitions=7
- make sure the root filesystem is mounted on /mnt ( eg. mount /dev/mda2 /mnt )
- mount -t proc proc /mnt/proc
- chroot /mnt
- /sbin/lilo /etc/lilo.conf
- reboot your VM
One of the best advantages of Slackware over other distributions, is the ability to setup a raid 1 mirror for the boot disk, something that is a little convoluted to do on other distros ( and not doable at all using their installer GUIs ). With a fairly current kernel, Slackware has good support for most hardware out-of-the-box. USB and PXE can be used for installation – I’ve used the PXE method extensively and it makes for a very quick network install option for Slackware. Eric Hameleers ( AlienBob ) also maintains a full USB-only install method. Another bonus in 13.37 specifically, is that Eric has added a PXE install server directly to the DVD boot image – I’ve not tried this yet but it should make setup of remote Slackware, a doddle.
Slackware 13.37 includes the 184.108.40.206 kernel ( 220.127.116.11 in /testing ) as standard with 2 kernel options available – huge and generic. Huge of course supports every piece of hardware available in the Linux kernel while generic is a trimmed down kernel for use with an initrd. The mkinitrd_command_generator.sh script ( in /usr/share/mkinitrd ) is used to generate an initrd post-install ( those with systems using the aic7xxx module, will need to specify this manually as part of the -m option to mkinitrd ).
There is a big addition, in terms of performance, to the 2.6.38 kernel, otherwise known as the 200 line patch – it is designed to automatically create task groups per TTY in an effort to improve the desktop interactivity under system strain. So it’s a pity 2.6.38 is not the default kernel however, it is included in /testing for those who’d like to try it.
Considering the recent issues in 2.6.38.x with high power usage, it’s just as well that Pat decided to stick with 2.6.37
Slackware includes not only kernel support for all current peripheral types but also distro support – so your pcmcia, firewire and other equipment should just work. Udev dynamically manages the setup of equipment as they are connected ( and disconnected ) to/from the system.
Slackware, like all Linuxes, supports pretty much every form of networking available. IPv6 is available out of the box, although you will need to obtain the Router Advertising Daemon ( radvd ) for practical purposes. Someone has created a radvd package and init scripts for Slackware 13.0 – I’ll be looking at adapting the init scripts for 13.37 shortly.
Network tools are 2-a-penny: netcat, tcpdump, iptraf, netwatch and nmap amongst others are available. Network services include NFS, DHCP, Bluetooth, dnsmasq for dhcp/dns/tftp/bootp, bind for dns and wireless support.
Security as always, is a high priority in Slackware: the base install uses mostly sane defaults and one can always tinker with these should you require something tighter. Network security is full catered for in the form of OpenSSL, OpenSSH, OpenVPN and GnuPG.
General Package information
Slackware has stayed fairly constant in size since moving to DVD format a few years ago. That doesn’t mean however, that it’s limited on the apps side. The full ( current ) LAMP stack is provided along with dhcpd, dns and server apps. CLI purists have access to a number of terminal apps like mutt, tin and lynx while GUI versions of basic internet apps are available in the form of firefox, thunderbird, akregator, ktorrent, kopete, etc.
Multimedia support is well served in the base release ( with mp3 and ogg/vorbis support, libraries and players ) however, if you want the full shebang, head on over to AlienBob’s alternative tree for a range of apps including the ubiquitous media player VLC, brilliant video tool avidemux and swiss-army knife of media, ffmpeg.
While a few browser-based plugins are provided, you’ll want to look towards a 3rd party repository like SlackBuild.org for others. A slackbuild script is included in /extra for Flash and you can download Acrobat Reader from Adobe directly – the installation is straightforward.
KDE in Slackware is at the 4.5.5 release and provides for a very stable and fast graphical environment. It is stock so don’t expect any bling, however, that plays to both the Slackware ethos and my own preferences. Compositing/acceleration works well with both ATI-AMD and NVidia binary drivers, while additional work has been done to make KDE work well with the ever-insufferable Intel drivers.
Eric Hameleers maintains a 4.6.x release for those who would like the latest KDE release, and all dependencies are catered for in his tree. As well, the requirement for HAL is now completely removed.
For those looking to use the Gnome environment, the GSB project has a -current release of Gnome 3.0 and it may yet be ready for the release of 13.37.
Alternatively, fluxbox, fvwm, windowmaker and xfce are available.
Slackware continues to be available in 32- and 64-bit editions. The 64-bit edition does not include 32-bit compatibility, however Eric Hameleers has a multilib setup to enable this configuration. Eric’s instructions are precise so you shouldn’t have any issues installing these packages. The result is a system that can compile/execute 32-bit applications which is fairly useful when there is no 64-bit version of an app ( think Skype ).
Skype 18.104.22.168 was released earlier this month ( including 64-bit ), but it crashes after logging in and I’ve not had the time ( or patience ) to look for solutions.
As always, Slackware makes for a great development environment. Versioning tools are abundant while scripted programming languages like Python and Perl are at current release levels. QtDesigner and KDevelop are available for graphical development.
Slackware uses a simple packaging method ( pkgtools ) which makes installing applications a doddle. However, in true Slackware fashion, dependencies are not catered for. This is by design ( and choice ) … while some may complain about the lack of dependency checking, I’ve never had an issue with this, although one does need to keep track of applications you install and their requirements.
slackpkg is bundled with Slackware and provides a wrapper for the OS packaging tools by automating the download and installation of distribution apps and updates. sbopkg does a similar job, but in this case, for additional 3rd party applications from the slackbuilds.org site.
The Slackware ecosystem
Pat Volkerding has been the prime developer of Slackware since the very beginning in 1993. In recent years however, a number of people have been helping Pat in bringing the latest versions of Slackware to fruition. Whether it’s assistance with patches to the core system during the development phase or 3rd party application repositories, this help enriches the Slackware experience.
Support is a community function in Slackware – the LinuxQuestions forum is vibrant and busy, with a touch of the Wild West. IRC support is available on #slackware. The largest 3rd party app repository is maintained at SlackBuilds.org which uses the slackbuild method for building packages that is native the distribution itself. sbopkg is an automated app browser and installer, building directly off the SlackBuild.org site.
Eric Hameleers maintains his own impressive repository while there are many others that provide packaging options. As always, security and stability remain fundamental to Slackware – even releases as far back as SW 8 are kept current with security updates.
If you’re looking to do more than just use Linux, then Slackware fits the bill. And for rock solid secure server performance, it can’t be beat. This release may be just an evolution of Slackware, but it still thrills …
In this day and age, fast-food lives seem to be the norm. The majority want everything easy and done for them – instead of getting down and dirty fixing that problem, you just pay someone to do it for you. There’s something to be said for ease of use, but there’s a point beyond which we start dumbing ourselves down. Slackware provides the alternative option, the tinkering option, the thinking option.
Slackware is not necessarily for the masses or those wanting a quick fix. But therein lies the beauty of something which can challenge you rather than deliver on a silver plate.