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

Programming Leftovers

  • To meet up or not to meetup

    I didn’t regret going to the meetup – quite the contrary – and I’ve since been to several, but it’s dreadful how low the turnout typically is. I’ve verified my numbers with some of the organizers of prior meetups: [...]

  • A look at development environments with specific tooling for Apache Camel Language

    A growing set of editors and IDEs provides specific tooling for development of applications based on Apache Camel. Historically, there was only Eclipse Fuse Tooling, which was based on the Eclipse Desktop IDE. Then, an IntelliJ plugin was created. Both of these tools are tightly coupled to the specific IDE APIs. Consequently, they have the drawback of not easily sharing the development effort.

  • mozregression update: python 3 edition

    For those who are still wondering, yup, I am still maintaining mozregression, though increasingly reluctantly. Given how important this project is to the development of Firefox (getting a regression window using mozregression is standard operating procedure whenever a new bug is reported in Firefox), it feels like this project is pretty vital, so I continue out of some sense of obligation — but really, someone more interested in Mozilla’a build, automation and testing systems would be better suited to this task: over the past few years, my interests/focus have shifted away from this area to building up Mozilla’s data storage and visualization platform. This post will describe some of the things that have happened in the last year and where I see the project going. My hope is to attract some new blood to add some needed features to the project and maybe take on some of the maintainership duties.

  • @Autowire MicroProfile into Spring with Quarkus

    Eclipse MicroProfile and Spring Boot are often thought of as separate and distinct APIs when developing Java microservices. Developers default to their mental muscle memory by leveraging the APIs that they use on a daily basis. Learning new frameworks and runtimes can be a significant time investment. This article aims to ease the introduction to some popular MicroProfile APIs for Spring developers by enabling them to utilize the Spring APIs they already know while benefiting from significant new capabilities offered by Quarkus. More specifically, this article covers the scope and details of the Spring APIs supported by Quarkus so Spring developers have a grasp of the foundation they can build on with MicroProfile APIs. The article then covers MicroProfile APIs that Spring developers will find helpful in the development of microservices. Only a subset of MicroProfile is covered.

  • Microsoft Makes Their C++ Standard Library Open-Source (STL)

    Microsoft has begun their next open-source expedition by open-sourcing an important piece of MSVC / Visual Studio... STL, their C++ standard library. In a surprising move, this week announced their C++ Standard Library used by their MSVC tool-chain and Visual Studio is now open-source. Microsoft's C++ Standard Library is available under an Apache 2.0 license and with the LLVM exception regarding linking, so all is well on that front.

  • Top programming languages of 2019 [Ed: Too reliant on biased Microsoft data such as GitHub]

    The most popular languages according to the world’s largest organization for engineering and applied science. It can be hard to gauge which programming language to learn — should you go for the most widely used language, the language developers enjoy using, or maybe the highest paid language? There’s no one right answer, but luckily there are no shortage of top programming languages lists ranking languages according to different criteria. The latest is the The Top Programming Languages 2019 list from IEEE Spectrum, the magazine for the world’s largest professional organization devoted to engineering and the applied sciences.

Standards/Consortia: Wi-Fi, E-mail and Hindi

  • Wi-Fi Certified 6 Program Available for Products based on Broadcom, Cypress, Intel, Marvell, and Qualcomm 802.11ax Chips

    Last year the WiFi alliance introduces a new naming scheme for WiFi using numbers instead of IEEE standards so that WiFI 4 is 802.11n, WiFi 5 is 802.11ac, and WiFi 6 is the latest 802.11ax standard...

  • The Wi-Fi 6 Launches Officially for the Next Generation of Wi-Fi

    Wi-Fi Alliance announced today the availability of the Wi-Fi CERTIFIED 6 certification program for vendors to provide customers with the latest and greatest Wi-Fi experience. Unveiled last year in October, Wi-Fi 6 (also known as 802.11ax) launches officially today with up to 37 percent faster speeds than the previous Wi-Fi generation (802.11ac), increased bandwidth for greater performance with low latency, higher data rates for greater network capacity, as well as MU-MIMO (Multi-User Multiple Input Multiple Output) support for greater download performance on more devices at once.

  • Setting up a mail server with OpenSMTPD, Dovecot and Rspamd

    I’ll say it again:

    I don’t think that either one of the Big Mailer Corps are are evil or bad, I use some of their services on a daily basis, and most of the people operating them are genuinely seeking the greater good… however they have grown too big and there needs to be a balance in power because who knows how they’ll evolve in the next ten years, who knows how the politics of their home country will evolve in the next ten years, and recent news doesn’t paint them as heading in the right direction.

    I’ll conclude by recommanding that you see this excellent presentation by Bert Hubert (@PowerDNS_Bert) from PowerDNS, about how a similar problem is starting to happen with DNS and the privacy and tracking concerns that arise from this. Many, many, many key points are also valid for mail services.

  • #StopHindilmposition: Indian tweeps respond to Amit Shah's 'Hindi as national language' comment

    But, Twitter India doesn't agree. Why? India does not have a national language. Part XVII of the Indian Constitution designates Hindi as the 'official language' of the Union. And, English is used in official purposes such as parliamentary proceedings, judiciary, communications between the Central Government and a State Government. States within India have the liberty and powers to specify their own official language(s) through legislation. In addition to the official languages, the constitution recognises 22 regional languages, which includes Hindi but not English, as scheduled languages. The number of native Hindi speakers is about 25% of the total Indian population;

    The number of native Hindi speakers is only about 25 per cent of the total Indian population and 43 per cent of India’s population use Hindi as their first language. In some states, especially in the southern regions, Hindi is not used at all.

  • Hindi spoken most, can unite country: Amit Shah

    According to the Official Languages Act, 1963, Hindi and English are the official languages for the Union government and Parliament.

    A total of 22 languages of the country are recognised under the Eight Schedule of the Constitution.

Software: Lifeograph, LabPlot and LibreOffice

  • Lifeograph is an encrypted journal application for Windows, Linux and Android

    Keeping a journal is a nice way to reflect upon oneself. It can help you become a better person, nurture good habits, can be used for research, making budgets, make health related notes, or jot down anything else that you may want to keep a record of. When it comes to a diary application on computers, there aren't a lot of options. RedNotebook is probably the best one I have used. I wanted something better and that's how I stumbled across Lifeograph.

  • Chocolatey package for LabPlot available

    While we’re spending quite some time now finalizing the next release of LabPlot which will be announced soon, we continue getting feedback from our users and we try to incorporate as much as possible into the upcoming release. This feedback usually consists of different discussions around the existing features in LabPlot or features that need to be added in near future, around bugs, etc. Recently we’ve got a somewhat different feedback informing us about the availability of a Chocolatey package for LabPlot.

  • LineStyle Extension for LibO

    I update the LineStyles for LibreOffice for the 6.4 release but in addition I made an Extension for all users how like to have > 20 different predefined LineStyles.

  • BPMN Shapes for LibreOffice

    Two months ago I post my todo list for LibreOffice 6.4 and I my work is already available via LibreOffice extensions.

Canonical/Ubuntu: Design and Web, Ubuntu Weekly Newsletter and Introduction to MicroK8s

  • Design and Web team summary – 17 September 2019

    This was a fairly busy two weeks for the Web & design team at Canonical. Here are some of the highlights of our completed work.

  • Ubuntu Weekly Newsletter Issue 596

    Welcome to the Ubuntu Weekly Newsletter, Issue 596 for the week of September 8 – 14, 2019. The full version of this issue is available here.

  • Introduction to MicroK8s – Part 1/2

    Every developer, systems admin and tech enthusiast is interested in learning Kubernetes. Kubernetes is a complex container orchestration tool that can be overwhelming for beginners. Kubernetes has been the buzzword in the tech industry and for good reason. If you’re itching to get started with Kubernetes and not looking forward to the complexities involved, this first blog of a series is for you. We’ll walk you through getting up and running in a jiffy with a Kubernetes deployment using MicroK8s. The following blogs will do a deeper dive into add-ons and usage.