All that is wrong with the world…

April 18, 2011

Thoughts on Slackware

Filed under: Tech — Tags: , , — allthatiswrong @ 11:40 am

Slackware is an interesting distribution known for being stable and having a minimal approach, two of the reasons why for a long time it was my favorite distribution. It is also the oldest still surviving distribution, which should speak for itself. When I started learning about Linux and getting into the low level details of computing, it was through Slackware that I learned a lot of what I know today, or at least the foundation. I had played with Red Hat, Debian and Caldera to varying extents, but they all needlessly obfuscated simple details. It was with Slackware that I had direct access to my system and the native utilities to interact with it. It was with Slackware that I was encouraged to read the documentation and learn how things work rather than use a poorly written GUI tool that tried and failed to make configuration seamless.

One thing I always liked about Slackware was that I always had the feeling of total control over my system. I knew where all my system scripts were that did everything, I knew where every file on my system was and if I didn’t I could find it. I knew how everything worked and if something was out of place, I would know it. This was less true of other distributions where there may be varying levels of obfuscation or several different locations where things may be placed. Slackware has somewhat of a reputation as being difficult to learn, but nothing could be farther from the truth. Everything is well documented and it is easy to do anything. Editing a configuration file is not any harder than having a GUI tool do it for you and for those who think it is they should probably get a Mac.

After traveling around and not having a PC for a few years I hadn’t used Slackware much. It isn’t used in production very often so I didn’t encounter it when working and I wasn’t using it personally, so it wasn’t until 2009 when I got a PC again that I got into using it. I knew I wanted to get up to speed on the Linux stuff I had missed and Slack seemed the obvious choice, especially given the alternatives. The core distributions had not changed in philosophy so much, while newer distributions such as Gentoo or Ubuntu offered no real advantages and many disadvantages. After installing and setting up 13.0 (which I will cover in a later post, the 64bit version is also very nice!) I was glad to see that things seemed mostly familiar. Yet, I also noticed a lot of changes, most of which were not positive. I noticed these changes mainly in the community but they were apparent in the design of the distribution as well.

The current community seems to be full of rabid Microsoft hating zealots who were unwilling to reason and happy to jump on any bandwagon criticizing Microsoft or Windows. This was not the community I remembered, that I had learned so much from. The community I remembered tended to be more mature than that, realizing that Windows and various Linux distributions both have strengths and weaknesses and that one is not automatically and always superior to the other. It isn’t surprising that the community is like this given Slackware’s relatively recent priority on being a desktop; however I wonder which came first? It seems like a chicken and egg problem….did Slackware change first and attract these new users or did they come to Slackware which caused it to adapt? Either way, it’s slightly disappointing.

Another major change I saw in the community was in the attitude towards learning and problem solving. Back in the day if I wanted to know how to do something there would always be people willing to explain things to me or I would be pointed towards the relevant documentation. Nowadays it seems more common that people will question why you want to do something in the first place assuming they know better or disapproving if it doesn’t meet their highly biased standards. An example of this might be that I had an issue with my soundcard module causing problems on occasion. In the days of old I would have been offered help in troubleshooting the issue and perhaps learning something from it. These days the most anyone would offer is a suggestion to reboot.

Another example of something I felt had changed was the recommendation and near requirement to do a full install. This is completely contrary to how I use Slackware, as I like to have quite a minimal install with just the programs I need and use and Fluxbox for a minimal GUI. However the current version of Slackware assumes that everyone is going to do a full install, which leads to stupid dependencies such as Mplayer requiring Samba just in case that niche functionality might be required. Aside from being a waste of space and increasing the risk of an attack, it encourages bad habits. Slackware was famous for adhering to the KISS principle but when a full install is the simplest way to satisfy dependencies, then that wouldn’t seem to hold true any longer. I don’t know that Bob would be happy with how things have changed. It might be OK if this was simply the recommendation from the Slackware team, except the community has blindly followed suit. When asking which package might contain a certain library you inevitably get bombarded with questions asking for justification as to why you didn’t do a full install.

I can’t help but feel that these changes are due to a desire to keep Slackware in the race for desktop Linux, and as a consequence has forgotten its roots. The community and distribution now seem closer to Ubuntu or Mandrake in the sense of target audience and community, which is a shame. It seems that many Slackware users of the past have migrated to Gentoo or Arch or various other distributions. I would not be surprised, as the Arch community and wiki is exactly the sort of community and advice I used to associate with Slackware. If it wasn’t for the cutting edge/rolling release aspect I would probably adopt it as my primary distribution.

One of the things I always liked about Slackware was that it took a minimalistic approach. There was always only what was necessary or what would actually make things easier present, nothing unnecessary or in the way. This no doubt helped Slackware to maintain its reputation for stability as well. It was easy to install specific programs without having to install all the related programs you didn’t actually need. The packages tended to be quite vanilla, which was useful when you were compiling your own software. It was easy to add 3rd party packages without interfering with the rest of the system. There were no kernel updates as Slackware just used the vanilla kernel, which most people knew how to build and update themselves.

One aspect of Slackware that had always received constant criticism was its package management. When compared to offerings such as rpm and apt-get it may seem lackluster, yet at a time when those systems suffered from a dependency hell worse than any windows version had been afflicted with Slackware was a breath of flash air. Originally a Slackware package was simply a collection of compiled binaries and config files inside a tarred gzip file, with an additional text file including a package description and some basic instruction. The installpkg command would extract the files in the right places and place an entry in /var/log/packages where you could easily see what packages you had installed and the files belonging to each package.

Of course most software was not offered in a Slackware package format, although this was not a concern. Using the program checkinstall you would just grab the source tarball, and run checkinstall instead of make install. This would install the program while creating the appropriate entries in /var/log/packages, allowing for an easy uninstall if desired. This is probably the area Slackware had matured the most in in the few years I had not kept up with it. checkinstall was no longer being developed, however the much more diverse src2pkg had appeared to take its place. Slackpkg had been introduced and is now an official tool in the distribution. It is an awesome tool that allows for installing and checking for updates all from one interface. It also makes it easy to create templates which allow you to setup other machines the same way in a very easy way. One of the nicest features is that you can search all packages for a particular file which makes satisfying dependencies trivial. I had a script to do this but having such functionality available natively is much better.

Probably the biggest change was the appearance of Slackbuilds. Slackbuilds are simple build scripts for pretty much any software not officially included with Slackware. You simply grab the source and the associated Slackbuild and run the Slackbuild script, and then install the resulting package. They are easy to configure and understand, and available for most software you will encounter. They don’t tend to be kept so up to date, but since the compiling process doesn’t change so much it isn’t much of an issue most of the time. For the few packages that don’t have Slackbuilds src2pkg works like a charm.

The last thing I would note about Slackware is that it has suffered from some odd decisions preventing it from moving forward. Things like a non graphical boot or sticking with stable versions of programs rather than newer cutting edge versions is all fine. Other decisions seem odd, such as still sticking with LILO over GRUB. It’s true that LILO works fine, however GRUB has a number of distinct advantages over LILO. In which case it is worth asking why not switch to GRUB? Then there is PAM. Slackware is the only modern distribution to have support for PAM. Back in the day, Linux-PAM was a mess and the justification somewhat made sense, however it no longer does. The option to use PAM should at least be included as without it, it makes it hard to use many programs, or even stuff like SELinux which is now native kernel functionality.

Despite everything I still have a lot of love for Slackware and it is still my distribution of choice. I like the hands on simple approach and the easy configuration. I like the simple yet powerful package management which despite the FUD being spread, has no disadvantages over more complex package management systems. I like the most of the packages are compiled from vanilla source without various buggy patches incorporated. Slackware remains a simple and reliable distribution that is easy to use, learn and maintain. For my needs which consist of a stable and minimal install without having to update constantly Slackware is the only option. It is getting harder to keep a minimal install however after doing the initial work the configuration can be kept with tagfiles. As packages continue to have unnecessary dependencies it is becoming easier/necessary to compile my own versions. This is only true for very few packages at the moment and hopefully that won’t change.

Slackware has changed from a distribution which was plain and simple to understand while being easy to configure and slim down for your needs to a distribution which now recommends a full install and tries to accommodate the typical needs of a desktop user. It is made more difficult now to remove unwanted functionality or to integrate 3rd party programs into the distribution. I find Slackware less convenient for my needs and fine myself less wanting to interact with the new community; however this doesn’t mean it is worse than it was before. It just means that it is catering to the needs of its users as they changed and adapted. Still, it is possible to learn a lot on Slackware and I hope much of the community can one day move past their rabid anti MS hate and mature, learning something in the process.

I don’t know if I would still recommend Slackware to new users wanting to learn the ins and outs of Linux, as the community and distribution no longer seems suited to that where something like Arch does. I still use it daily and suggest it to people; I was just disappointed to see it change from how I remembered it in a direction I felt was less true to its user base and principles. I want to give a lot of thanks to Patrick Volkerding who has put in so much work into Slackware, which allowed and encouraged me to learn so much so many years ago. I also want to stress that my opinions should not be taken as a slam on Slackware and I will continue to use and support it, or at the least remember it fondly.

About these ads

9 Comments »

  1. Well I first got interested in Slackware when I read somewhere “ if you learn Ubuntu you learn Ubuntu, but if you learn slackware you learn Linux” .

    I’m making slow steps towards slackware , and have got as far as Zenwalk, I’m now looking at Salixos which was suggested to me by the slackware group on Linkedin.

    One question I put to a slackware group was this “ is slackware just for experts” I was a bit disappointed with the reply “yes it is , and always should be !”.

    Ubuntu is easy to use, but as it develops it gets more and more complicated so its good to use for newbies ,but bad for newbies that want to learn Linux.

    I think there is an element of pomposity, and superciliousness in some users of Linux, that they are
    superior or something than Window users. That’s all very well but while thy sit in their ivory tower, Microsoft just gets its coffers bigger and uses that money to further spread & promote Windows.

    I ‘ve read a recent piece by Richard Stallman who wants everything to be free. The trouble with this is that there is no money to pay for instance for support, nor an office with a marketing team nor anything else.

    Somebody will say you don’t need a paid support , you have the forums and I say yes but you tend to get replies on subjects that interest the geeks and you get the impression on some questions that the geek is thinking something like “ that guy must be a moron , I won’t even dignify his question with an answer”.

    I agree with you on not having to use startx to get a desktop manager window up; also I haven’t found it easy to find a simple explanation on what file ,and how to edit it, to just get the OS to boot up to a gui log in. Here is another issue, the general documentation resource of Linux info and wiki’s are too assuming and leave out chunks , because the writer just assumes the reader knows it.

    If anybody wants Linux to be taken up big time they have to realize that the not so bright make up 95% of the population; so unless you only want 5% of the population to use Linux you are going to have to spoon feed the rest of us.

    Comment by andy brookes — May 29, 2011 @ 9:53 am

    • Hi Andy,

      I do think it is true that if you learn Ubuntu you learn Ubuntu, and if you learn Slackware you learn Linux. Simply because Slackware still teaches you to use the generic standard tools, while distributions like Ubuntu tend to obfuscate some things through distribution specific abstracted interfaces.

      Slackware is in no way only for experts however….the community is very open and welcoming, it is easy to use and intuitive out of the box and Slack is famous for adhering to the KISS principle. I don’t think you should have any concerns on trying it out, you may be pleasantly surprised.

      Comment by allthatiswrong — May 30, 2011 @ 1:36 am

      • well in the end I did take a plunge and have been using Slackware for about two years now. Some say Slackware ts dated but I say as long as you can install packages like skype then I would say your up to date like everybody else. I used src2pkg and found it easier than writing my own slackbuild scripts. Using slackbuilds written by other people like say Alien Bob is a piece of cake. of course

        Comment by andy brookes — July 20, 2013 @ 9:18 am

        • I must say I’m impressed you came back here after two years. I am also impressed you decided to use Slackware. Congratulations on both accounts :)

          As far as the article goes, I must admit the full install thing pisses me off to no end. I’m a long time user (more than 8 years plus a few bits back in the 90s) and with each release I feel the pain of selecting only the packages I need.

          Comment by slacker — November 19, 2013 @ 10:05 pm

          • The full install thing is against the spirit of Slackware, and shows they lost their way.

            Comment by allthatiswrong — January 5, 2014 @ 9:44 am

            • Well on a none technical issue either Slackware gains supporters or loses them and then suppose uses drop to less than a 1000; would Patrick Volterding wake up one day and think why bother?
              One problem with Slackware is that some users instead of helping to perpetuate Slackware as a brand they are deluded and instead perpetuate the myth that Slackware is for “experts”. Finding a place for someone like me where I can discuss Slackware is a problem; there is LInux questions dot org for specific technical questions but I would like a place to talk about more general issues. I joined the main group at Linkedin – I had a problem with graphics and assumed this was to do with Nvidia issues due to my geforce card. I asked about creating a module for Nvidia and blacklisting Nuveau. I managed to do it, but for example one reply was “this is not ubuntu your playing with- Slackware is for experts”. As if to say your not up to be using Slackware.

              Comment by brookes (@andybrookestar) — January 5, 2014 @ 10:14 am

  2. > Slackware is the only modern distribution to have support for PAM

    not to have support for PAM

    Comment by bijumon — December 17, 2011 @ 11:49 pm

  3. Try Crux. You will like it.

    Comment by puddu — February 1, 2012 @ 8:05 am

  4. If 13 or whatever is all about a full install and a gui, how easy is it to just use the older versions?

    Comment by Scott Scoville — April 18, 2012 @ 8:59 pm


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

The Silver is the New Black Theme. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 74 other followers

%d bloggers like this: