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

today's howtos

OSS Leftovers

  • The Power Of Open Source AI
    he open source software movement produced iconic innovations like the Firefox web browser, Apache server software and the Linux operating system—the genesis of the Android OS that currently powers 86% of the world’s smartphones. It also fostered a mindset around continuous improvement of tools that can be collaboratively shared, improved upon and distributed.
  • Apache Dubbo, the Java-based open source RPC framework becomes a Top-Level Project
    The Apache Software Foundation announced that the Java-based open source RPC framework used by giants like Alibaba, Apache Dubbo, is now a Top-Level Project. Let’s have a look at what this framework is all about. Apache Dubbo is a high-performance, Java-based Remote Procedure Call framework that has been in use at more than 150 companies, including giants like Alibaba Group or the Industrial and Commercial Bank of China. The Dubbo project was originally developed at Alibaba and open-sourced in 2011. It entered the Apache Incubator in February 2018 and the Apache Software Foundation announced that Dubbo is now a Top-Level Project!
  • Bridging divides with open source
    Application delivery is changing. At the risk of using buzzwords, it is being transformed – digitally. Continuous delivery has become the norm for DevOps (71 per cent plan on implementing, according to a study conducted by F5 and RedHat – NetOps Meets DevOps: The State of Network Automation), and continuous deployment must follow if business is to succeed in the era of Application Capital. While 73 per cent of organisations plan on pursuing continuous deployment, nearly half of them have yet to begin. A staggering 42 per cent have yet to automate a single component of the continuous deployment pipeline (according to a study conducted by F5 and RedHat – NetOps Meets DevOps: The State of Network Automation). [...] Applications themselves are mainly developed today from third-party components, a majority of them open source. Application infrastructure is increasingly built from open source components. From web servers to app servers, databases to ingress control, messaging to container runtimes and orchestration. IT operations are driven by open source tools like Puppet, Chef, Terraform, Helm, Kubernetes, and Ansible. These technologies are adopted because they answer multiple challenges: fast, frequent delivery and deployment along with a frictionless business model. They also encourage collaboration and innovation when entire organisations move to standardise on open source-based operations. None of that is possible without the passionate communities of developers who work tirelessly to improve their open source solutions. At F5, we appreciate the value of such communities. In a comparable example, our DevCentral community is based on collaborative innovation, guided by many of the same principles that drive open source projects. Code sharing and knowledge transfers across the community help the hundreds of thousands of members innovate and create new capabilities for our BIG-IP platform. With those solutions come new extensions, plug-ins, and libraries for open source projects like Puppet and Chef and node.js.
  • Open Source Analytics Platform Grafana Gets Update
    This week Grafana Labs announced the 6.2 release of its Grafana open source analytics platform...
  • Mozilla Revamps WebThings, its Open Source IoT
    Mozilla recently released its open source IoT platform, formerly called Project Things, as WebThings. Mozilla WebThings brings a series of logging, alarm, and networking features. Mozilla WebThings is an open source implementation of emerging Web of Things standards at the W3C. W3C Web of Things is an initiative that aims to reduce the IoT fragmentation, through the recently launched Web of Things Working Group. W3C started to develop the initial standards for the Web of Things, aiming to reduce the costs of development, lessen the risks to both investors and customers, and encourage exponential growth in the market for IoT devices and services.
  • WELL Health Acquires Ontario Open Source EMR OSCARprn for $876k
    WELL Health Technologies Corp. (“WELL”), a Vancouver, Canada-based company focused on consolidating and modernizing clinical and digital assets within the primary healthcare sector has acquired Ontario-based EMR provider OSCARprn – Treatments Solutions Ltd. OSCARprn is a trusted provider of EMR software, support and other services that work with OSCAR, an open source EMR platform developed by McMaster University in Hamilton, Ontario.
  • Carnegie Mellon’s Massive Open Source Initiative – Interview With the Leader Behind It
    In March, Carnegie Mellon University (CMU) announced an unprecedented initiative. Over the course of the year, they plan to release dozens of digital learning tools they have developed over the past decade on an open-source license. These include the learning analytics platform LearnSphere and their pioneering adaptive learning project the Open Learning Initiative (OLI). In all, CMU estimates $100 million in grants and university funding went into these efforts. The effort was spearheaded by the Simon Initiative, which continues the legacy of Nobel Laureate, Turing Award recipient, and CMU professor Herbert Simon.
  • iXsystems TrueNAS brings Open Source Economics to VMware vSphere [Ed: A BSD company is hooking up with a majot GPL violator]
  • André Laperrière: Executive Director at Global Open Data for Agriculture and Nutrition
    Andre Laperrière is executive director at the Global Open Data for Agriculture and Nutrition (GODAN) an initiative aiming to exchange ideas and knowledge to solve the world's looming food crisis
  • Open-source gene expression platform could yield more efficient food, biofuel crops
    An open-source RNA analysis platform has been successfully used on plant cells for the first time — a breakthrough that could herald a new era of fundamental research and bolster efforts to engineer more efficient food and biofuel crop plants. The technology, called Drop-seq, is a method for measuring the RNA present in individual cells, allowing scientists to see what genes are being expressed and how this relates to the specific functions of different cell types …. [T]he freely shared protocol had previously only been used in animal cells.

Open Hardware: Adafruit Feather and Stanford Doggo

  • Feather Plus Blackberry Equals Open Source Fauxberry
    The keyboard is a superior means of input, but to date no one has really figured out how to make a keyboard for small, handheld electronics. You could use tact switches, but that’s annoying, or you could use a touch screen. The best option we’ve seen is actually a Blackberry keyboard, and [arturo182] has the best example yet. It’s a small handheld device with a screen, keyboard, and WiFi that’s ready to do anything imaginable. Think of it as an Open Source Fauxberry. In any case, we want it. This project is actually a breakout board of sorts for the Adafruit Feather system, and therefore has support for WiFi, cellular, or pretty much any other networking of connectivity. To this blank canvas, [arturo] added an accelerator/magnetometer sensor, a single Neopixel, and of course the beautiful Blackberry keyboard. This keyboard is attached to an ATSAMD20G, a microcontroller with a whole bunch of I/O that translates key presses into I2C for the Feather.
  • Students from Stanford's Robotics Club Releases Open-Source Robo-Dog Online
    Robotics isn't cheap by any means, and no one knows this better than the students of the Extreme Mobility Team of Standford University's Robotics Club (SEMT). The materials used by university robotics clubs can cost upwards of tens of thousands of dollars, making it that much harder for many high schools and less well-funded colleges and universities to invest heavily in this important field of research.
  • Watch this open-source dog robot do backflips [Ed: This is more likely to be used in military rather than in aeronautics and astronautics (luxury of the rich)]
    “We’re hoping to provide a baseline system that anyone could build,” says Patrick Slade, graduate student in aeronautics and astronautics and mentor for Extreme Mobility.
  • Meet Doggo: Stanford’s cute open-source four-legged robot
    Doggo follows similar designs to other small quadrupedal robots, but what makes it unique is its low cost and accessibility. While comparable bots can cost tens of thousands of dollars, the creators of Doggo — Stanford’s Extreme Mobility lab — estimate its total cost to be less than $3,000. What’s more, the design is completely open source, meaning anyone can print off the plans and assemble a Doggo of their very own.
  • Stanford Students Built This Adorable, Bouncy, Open-Source Robot Dog
    Nearly all of the parts used to create Doggo were bought intact through the internet, while the rest can be easily 3D-printed. The total costs involved in building Doggo—including shipping and handling—amounted to less than $3,000, Kau and his team claim. Via the website Github, the team has also released all of the relevant information you would need to create your Doggo, including software coding, supply list, and manual instructions. From there, any enterprising roboticist could tweak the design to create an even more capable Doggo.

Programming: JavaScript, Perl, Python and C++

  • SD Times Open-Source Project of the Week: Knockout
    This week’s open-source project is Knockout (KO) and it works purely on JavaScript. KO is a JavaScript MVVM (a modern variant of MVC) library that enables developers to create rich, desktop-like user interfaces with JavaScript and HTML. KO uses “observers” that help the UI stay in sync with an underlying data model and declarative bindings to enable productive development, according to Knockout’s page on GitHub.
  • Why I love Perl 6

    love Perl 6 because, if that solution seems too scary to you (too infinite, too lazy, too concurrent, too pipelined, too Unicoded, too declarative, too functional, too much like something that an Erlang guru would code), then Perl 6 will equally allow you to write a plain and simple version: one that's imperative, iterative, block structured, variable-driven, pure ASCII, and more-or-less exactly what you'd write in Perl 5, or even in C: [...]

  • Python's creator thinks it has a diversity problem [Ed: Python has Microsoft entryism problems (far more urgent than this)]
  • Evennia: Creating Evscaperoom, part 1
  • Evennia: Creating Evscaperoom, part 2
  • Dissecting boost::astar_search
    Right now, I am having a hard time understanding BGL’s (the Boost Graph Library) template spaghetti, so decided to write a blogpost while I decipher it, one at a time, documenting the whole thing along the way.
  • KTextEditor/Kate Bugs – Scratch Your Own Itch