Language Selection

English French German Italian Portuguese Spanish

Slackware 12: The anti-'buntu

Filed under
Reviews

It's probably safe to say that today's desktop Linux users have come to expect a certain out-of-the-box experience ("OOBE"). This usually includes the following features:

  • An easy-to-use, graphical installer &em; either run from the context of a live CD, like PCLinuxOS and Ubuntu; or something more traditional, like Fedora Core's Anaconda. It usually includes a graphical utility to help you partition your hard disk.
  • A good-looking desktop (usually KDE or GNOME), pre-configured to come up after booting into Linux.
  • Graphical configuration tools that help the user take care of common chores like setting up hardware, without having to resort to the command line.

(OOBE or not OOBE? That is the question.)

And then there's Slackware, which is more traditional. Slackware is the oldest surviving Linux distribution; its first version came out in 1993. Version 12 was recently released. As its Wikipedia entry notes, it's got a reputation for sacrificing ease-of-use (in terms of configuration and package management tools provided by the distribution) in favor of letting the end user configure the system and its software by herself.

The two main desktops that come with Slackware 12 are KDE v3.5.7 and XFCE v4.4.1. (Slackware doesn't include GNOME; there's a community-driven project named dropline GNOME which will, eventually, have an easy-to-install version for Slackware 12.) Software is very current, and includes X.org 7.2, kernel 2.6.21.5, gcc 4.1.2, and Firefox 2.0.0.4.

 

Installation

Slackware 12 was recently released, and while you can find ISO images of the four installation CDs on some mirrors, I opted to download the complete installation DVD via bittorrent. After booting from it, it asked me if I wanted to use a keyboard map other than English (the default); asked me if I wanted it to configure my network card; and then prompted me to run the "setup" script.

Before running setup, however, you will need to parition your hard disk, if you haven't already. (I personally prefer to create partitions prior to installing a distro, regardless, using the GParted live CD.) Instead of providing a graphical partitioning utility (like gparted), Slackware offers you fdisk (which is completely command-line-driven) and cfdisk.

The "setup" script is a simple menu-based utility. The SlackBook, a well-written reference manual and tutorial on how to install and use Slackware, has a good walk-thru of the process (including screenshots). It's quite simple and fast, if you take the setup utility's recommendation and install everything (which avoids the setup utility asking you which packages you want to install).

A few notes about the installation process:

  • You can specify mount points for all of your pre-existing partitions, including NTFS and FAT32 partitions, although configuring the system to let a regular user read (and, for FAT32, write) to them is left up to you.
  • You're given the option of making a bootable USB stick (although for some reason, mine didn't work in either of my two computers).
  • The installer lets you choose a custom console font, which is a neat addition.
  • LILO is Slackware's default boot manager. If you'd rather install GRUB than LILO, you can skip the LILO installation. Later, you can boot from the rescue CD (or DVD), specifying your root partition, then mount the installation CD, install the GRUB package from the /extra directory, and then run the "grubconfig" script. Grubconfig will walk you through the process of installing GRUB and creating its configuration file ("menu.lst"). (Since I already had another distribution's GRUB controlling the boot process on my computer, I chose not to install LILO, and simply added an entry for Slackware to my existing GRUB setup.)

When you're done with the installation process and reboot your computer, you end up at a bash prompt, and are left to log on as "root". So now what?

Now it's time to get busy adding a regular user account and configuring the X server. There are two utilities you can use to configure X, "xorgconfig" and "xorgsetup". The former will prompt you to provide quite a bit of detail about your hardware; the payoff is an "xorg.conf" that's extremely well-commented (i.e. the purpose of each section is explained). The latter will do the configuration automagically, but leaves the comments out.

If you're planning on installing the proprietary NVIDIA driver, this is a good time to do it. If you installed everything, you'll already have the needed kernel source. Using "xorgsetup" is the better than using "xorgconfig" if you're going to install the NVIDIA driver. I chose to let the NVIDIA installer write its own entries to "xorg.conf" after running "xorgconfig", and it made a huge mess of the comments.

After configuring X, you can log into whichever window manager you chose during setup. If you chose KDE, like I did, switching to runlevel 4 will bring up kdm, the KDE Display Manager, and from there, you can log in and configure KDE to your liking. (Note that Slackware's set up so that, by default, you can only switch to text console "tty6" if you want to go back to a text console in runlevel 4. This can cause some confusion. You can edit /etc/inittab to change this behavior.)

     

Make your desktop look the way you want it to

 

Software and Package Management

My guess (by looking at my package logs) is that the entire Slackware distro proper consists of somewhere around 800 packages, give or take. (Contrast this with Debian's pool of around roughly 18,000 packages.) Package management centers around three simple utilities: installpkg, removepkg, and upgradepkg, which do exactly what you'd expect. Dependency resolution is mostly left up to the user.

These utilities can be supplemented by a command-line utility named slapt-get, which emulates its Debian cousin. There's also a graphical interface to slapt-get named GSlapt (which is a separate download). These utilities make installing software from the Slackware repositories very easy.


GSlapt in action

To help you compile programs from source, there's a utility named checkinstall. After running the standard "./configure" and "make" commands in your source directory, you run "checkinstall" instead of "make install", and it will create a Slackware package for you (and also install it, if you choose). See checkinstall's README file for more information. (Although checkinstall was included in the "/extra" directory of the Slackware installation media until the very last minute, it was removed due to some sort of incompatibility. As of this writing, a new version hasn't been released yet.)

There are a couple of sites offering precompiled Slackware binaries: LinuxPackages, which hasn't caught up with Slackware 12 yet, and Slacky, an Italian site.

Finally, there's also an interesting project at SlackBuilds.org, which allows you to download the source code to a large number of programs, along with a wrapper script that compiles them into Slackware packages, which can then be installed using "installpkg". (See their HOWTO for more information.)

Compiling from source can sometimes be frustrating, but that's usually the fault of the software developer. For example, Slackware includes a nice bittorrent client named "bittornado" in its "/extra" repository, but doesn't include wxPython, which you need to install in order to run bittornado in GUI mode. While there are precompiled Slackware packages for wxPython available, thus far they're only for Slackware 11, which included Python 2.4, rather than Slackware 12, which includes Python 2.5. Long story short, there's lots of documentation available on how to install wxPython, and some of it hinted at the answer, but none of it addressed the problem of how to get the current version installed. In the end, I had to find the proper configuration file to edit, and figure out what line to change, in order to get wxPython properly installed in /usr/lib/python2.5/site-packages.

Eventually, a precompiled version (or a SlackBuild) of wxPython for Slackware 12 will come out, and that problem will go away.

 

In Conclusion...

If you want an easy-to-use Linux distribution that doesn't make you work too hard, Slackware might not be for you. On the other hand, if you want a distro that's quick to set up, and know how to configure it by hand (or aren't afraid of learning to), you might fall in love with Slackware. It's definitely an interesting way to learn how to use Linux. And it's definitely a way to get a stable server up and running in very little time.

 

More Slackware Resources

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

u don't need wxpython

I run slackware 12.0 updated from slackware 11.0 which was updated from slackware 10.2.
I downloaded the wxpython build script from www.slacky.eu and wxpython source code and compiled by myself.( Remember wxpython requires the libgnomeprint,libgnomeprintui,libgnomecups etc)

If u don't want to do it, u can use ktorrent an excellent torrent.
slackware is the best distribution of all. It does what u want to do.
Slackware users are the masters.
If u want a distro b/c it is fast,stable and simple then use slackware.

re: typing

What do you do with that vast amount of time you save by typing "u" instead of "you", and "b/c" instead of "because"?

Cure cancer, write a Broadway play, solve obscure math theorems, what?

wxPython

wxPython does not need libgnomeanything; I'm not sure where you got that information.

Thanks!

I've been meaning to post this earlier, but thanks for the references, eco2geek - we appreciate it Smile

--
http://slackware.com/~rworkman/
http://rlworkman.net/
http://slackbuilds.org/

More in Tux Machines

Leftovers: KDE

  • CentOS 6.8 image with Qt5.7, Python 3.5, LLVM 3.8
    While trying to bring my setup to package KDevelop standalone for Linux into a shape where it has a nonzero probability of me picking it up again in half a year and actually understanding how to use it, I created a docker base image which I think might be useful to other people trying to package Linux software as well. It is based on CentOS 6.8 and includes Qt 5.7 (including QtWebKit), Python 3.5 and LLVM, all built against the old CentOS libs (and thus e.g. compatible with most glibc versions out there). If you want to use it, simply install docker, and
  • Marble Maps in KDE Randa Meetings 2016
    One more year of fun and intense productivity in Randa came to an end just a few days back, and I feel so good to have been a part of it. Much progress was made by the Marble team this year by Dennis, Torsten, Friedrich, David and me. I mostly worked on the Marble Maps Android app’s navigation feature, and would like to mention the changes here very briefly...
  • KStars on Windows – Midterm evaluation
    Midterm evaluation has passed and now it’s time for a new blog post! There are a couple of weeks from the last time I’ve talked about my progress with my Google Summer of Code project.
  • Kaffeine 2.0.4 Released, Includes Major Improvements for Digital TV
    Kaffeine version 2.0.4 has been released today, substantially improving its already excellent Digital TV (DTV) support!
  • GSoC -Breath and Review
    A couple weeks ago I went to Randa Meetings, a sprint of KDE, and there I did a lot of work in Umbrello.
  • Plasma 5.6.5 and Frameworks 5.23 available in Kubuntu 16.04 Backports
  • Remote searching [KRunner/Blade]
  • Kubuntu Dojo 2 – Kubuntu Ninjas
  • Kubuntu Podcast goes Open and Unplugged
    Podcast fans will know that we were struck down with lucky show thirteen. Google Hangouts crashed out twice, and we lost the live stream. We ended up half an hour late, with no Hangouts, and a hastily make-shift YouTube live stream hooked together in record time by the #awesome Ovidiu-florin Bogdan.
  • Hacking Kdenlive at Randa
    The Randa meetings 2016 just ended, and they were a big success for everyone involved (thanks to Mario and his team for organizing this). We went there with an aim to work on Kdenlive's Windows port, and we managed to achieve more than 80% of the build process.
  • The Road of Trials
    In my last blog post I said that I would work on extending support for paint operations like 'fill'. I have done so, albeit more as a necessity in fixing the assistant code. Moreover, I have fixed a number of other paint operations which are vital in painting the various assistants Krita offers currently.
  • Randa Meetings 2016 Part II: Marble
    The Randa Meetings 2016 were centered on bringing KDE technology on every device.
  • System Settings review
    we have also a design for some single KCM’s 80%. In plasma 5.7 you will see the new Desktop Theme module, but we also have some mockups for other KCM’s here you see the appearance KCM’s
  • State of the KF5 Android CI
    I would have liked to say, “Yeah the Android CI runs!” – But we are not there yet; pretty close actually, and close enough that it already makes sense to tell about it, yet a few last Jenkins settings remain to be done and real life issues cause this to take a few more days. So, I will give a short primer on what we prepared in Randa.
  • Mid-term post.
    My midterm evaluation target was to create a static histogram in Labplot with an option to add new histogram among the given types and set visible advanced settings.

Leftovers: Software

  • Calamares 2.3 out now
    I’ve just released Calamares 2.3, a feature release with a major focus on disk encryption support (see full release announcement). Calamares is a distribution-agnostic system installer, with an advanced partitioning feature and support for third party branding and modules. It is used by several distributions, including Netrunner, Manjaro, Tanglu, OpenMandriva, KaOS, Chakra and many others.
  • QBittorrent 3.3.5 Released – Install on Debian/Ubuntu/Linux Mint and Fedora
    qBittorent is a Bittorent client which is developed to provide free software alternative of utorrent. It’s a Cross platform torrent client which provides the same features on all the major platforms like Linux, Ubuntu, Mac OS X and Windows.
  • 7 Best File Comparison and Difference (Diff) Tools for Linux
    While writing program files or normal text files, programmers and writers sometimes want to know the difference between two files or two versions of the same file. When you compare two computer files on Linux, the difference between their contents is called a diff. This description was born out of a reference to the output of diff, the well known Unix command-line file comparison utility.
  • 14 Best IDEs for C++ Programming or Source Code Editors on Linux
    C++, an extension of well known C language, is an excellent, powerful and general purpose programming language that offers modern and generic programming features for developing large-scale applications ranging from video games, search engines, other computer software to operating systems.
  • Calibre 2.61.0 eBook Viewer and Converter Updates Driver for FNAC (BQ) eReaders
    Today, July 1, 2016, Calibre developer Kovid Goyal has been happy to announce the general availability of yet another maintenance release for his popular, open-source and cross-platform Calibre ebook library management software. Coming only one week after the debut of Calibre 2.60, the Calibre 2.61 maintenance update brings only two new features. These are an updated driver with new firmware to allow users to connect their FNAC (BQ) eReader devices, as well as support for automatic removal of all links from a missing resource (the option is available in the Check Book component under Edit Book).

User’s Review On Linux Lite 3.0 – Simple, Fast & Free Linux Desktop

Linux Lite 3.0 is the recently released free operating system based on the Ubuntu LTS (Long Term Support) and hence you can be assured that you’ll get support for the next 5 years. Linux Lite 3.0 offers a complete out of the box experience and it is lightweight, easy and simple to install. One of the main aspects that is being lauded by experts and everyday Linux users is the compactness with which Linux Lite 3.0 has been released. This means you can install Linux Lite and start working with it in less than few minutes. Read more

Series on GNOME Shell