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 leftovers

  • MX Linux Review of MX-17 – For The Record
    MX Linux Review of MX-17. MX-17 is a cooperative venture between the antiX and former MEPIS Linux communities. It’s XFCE based, lightning fast, comes with both 32 and 64-bit CPU support…and the tools. Oh man, the tools available in this distro are both reminders of Mepis past and current tech found in modern distros.
  • Samsung Halts Android 8.0 Oreo Rollouts for Galaxy S8 Due to Unexpected Reboots
    Samsung stopped the distribution of the Android 8.0 Oreo operating system update for its Galaxy S8 and S8+ smartphones due to unexpected reboots reported by several users. SamMobile reported the other day that Samsung halted all Android 8.0 Oreo rollouts for its Galaxy S8/S8+ series of Android smartphones after approximately a week since the initial release. But only today Samsung published a statement to inform user why it stopped the rollouts, and the cause appears to be related to a limited number of cases of unexpected reboots after installing the update.
  • Xen Project Contributor Spotlight: Kevin Tian
    The Xen Project is comprised of a diverse set of member companies and contributors that are committed to the growth and success of the Xen Project Hypervisor. The Xen Project Hypervisor is a staple technology for server and cloud vendors, and is gaining traction in the embedded, security and automotive space. This blog series highlights the companies contributing to the changes and growth being made to the Xen Project and how the Xen Project technology bolsters their business.
  • Initial Intel Icelake Support Lands In Mesa OpenGL Driver, Vulkan Support Started
    A few days back I reported on Intel Icelake patches for the i965 Mesa driver in bringing up the OpenGL support now that several kernel patch series have been published for enabling these "Gen 11" graphics within the Direct Rendering Manager driver. This Icelake support has been quick to materialize even with Cannonlake hardware not yet being available.
  • LunarG's Vulkan Layer Factory Aims To Make Writing Vulkan Layers Easier
    Introduced as part of LunarG's recent Vulkan SDK update is the VLF, the Vulkan Layer Factory. The Vulkan Layer Factory aims to creating Vulkan layers easier by taking care of a lot of the boilerplate code for dealing with the initialization, etc. This framework also provides for "interceptor objects" for overriding functions pre/post API calls for Vulkan entry points of interest.

Logstash 6.2.0 Released, Alfresco Grabbed by Private Equity Firm

  • Logstash 6.2.0 Release Improves Open Source Data Processing Pipeline
    The "L" in the ELK stack gets updated with new features including advanced security capabilities. Many modern enterprises have adopted the ELK (Elasticsearch, Logstash, Kibana) stack to collect, process, search and visualize data. At the core of the ELK stack is the open-source Logstash project which defines itself as a server-side data processing pipeline - basically it helps to collect logs and then send them to a users' "stash" for searching, which in many cases is Elasticsearch.
  • Alfresco Software acquired by Private Equity Firm
    Enterprise apps company taken private in a deal that won't see a change in corporate direction. Alfresco has been developing its suite of Enterprise Content Management (ECM) and Business Process Management (BPM) technology since the company was founded back in June of 2005. On Feb. 8, Alfresco announced that it was being acquired by private equity firm Thomas H. Lee Partners (THL). Financial terms of the deal are not being publicly disclosed.

Servers and GPUs: Theano, DevOps, Kubernetes, AWS

  • Open Source Blockchain Computer Theano
    TigoCTM CEO Cindy Zimmerman says “we are excited to begin manufacturing our secure, private and open source desktops at our factory in the Panama Pacifico special economic zone. This is the first step towards a full line of secure, blockchain-powered hardware including desktops, servers, laptops, tablets, teller machines, and smartphones.” [...] Every component of each TigoCTM device is exhaustively researched and selected for its security profile based especially on open source hardware, firmware, and software. In addition, devices will run the GuldOS operating system, and open source applications like the Bitcoin, Ethereum and Dash blockchains. This fully auditable stack is ideal for use in enterprise signing environments such as banks and investment funds.
  • Enterprises identify 10 essential tools for DevOps [Ed: "Source code repository" and other old things co-opted to promote the stupid buzzword "devops"]
    Products branded with DevOps are everywhere, and the list of options grows every day, but the best DevOps tools are already well-known among enterprise IT pros.
  • The 4 Major Tenets of Kubernetes Security
    We look at security from the perspective of containers, Kubernetes deployment itself and network security. Such a holistic approach is needed to ensure that containers are deployed securely and that the attack surface is minimized. The best practices that arise from each of the above tenets apply to any Kubernetes deployment, whether you’re self-hosting a cluster or employing a managed service. We should note that there are related security controls outside of Kubernetes, such as the Secure Software Development Life Cycle (S-SDLC) or security monitoring, that can help reduce the likelihood of attacks and increase the defense posture. We strongly urge you to consider security across the entire application lifecycle rather than take a narrow focus on the deployment of containers with Kubernetes. However, for the sake of brevity, in this series, we will only cover security controls within the immediate Kubernetes environment.
  • GPUs on Google’s Kubernetes Engine are now available in open beta
    The Google Kubernetes Engine (previously known as the Google Container Engine and GKE) now allows all developers to attach Nvidia GPUs to their containers. GPUs on GKE (an acronym Google used to be quite fond of, but seems to be deemphasizing now) have been available in closed alpha for more than half a year. Now, however, this service is in beta and open to all developers who want to run machine learning applications or other workloads that could benefit from a GPU. As Google notes, the service offers access to both the Tesla P100 and K80 GPUs that are currently available on the Google Cloud Platform.
  • AWS lets users run SAP apps directly on SUSE Linux
  • SUSE collaborates with Amazon Web Services toaccelerate SAP migrations

Chrome and Firefox

  • The False Teeth of Chrome's Ad Filter.
    Today Google launched a new version of its Chrome browser with what they call an "ad filter"—which means that it sometimes blocks ads but is not an "ad blocker." EFF welcomes the elimination of the worst ad formats. But Google's approach here is a band-aid response to the crisis of trust in advertising that leaves massive user privacy issues unaddressed. Last year, a new industry organization, the Coalition for Better Ads, published user research investigating ad formats responsible for "bad ad experiences." The Coalition examined 55 ad formats, of which 12 were deemed unacceptable. These included various full page takeovers (prestitial, postitial, rollover), autoplay videos with sound, pop-ups of all types, and ad density of more than 35% on mobile. Google is supposed to check sites for the forbidden formats and give offenders 30 days to reform or have all their ads blocked in Chrome. Censured sites can purge the offending ads and request reexamination. [...] Some commentators have interpreted ad blocking as the "biggest boycott in history" against the abusive and intrusive nature of online advertising. Now the Coalition aims to slow the adoption of blockers by enacting minimal reforms. Pagefair, an adtech company that monitors adblocker use, estimates 600 million active users of blockers. Some see no ads at all, but most users of the two largest blockers, AdBlock and Adblock Plus, see ads "whitelisted" under the Acceptable Ads program. These companies leverage their position as gatekeepers to the user's eyeballs, obliging Google to buy back access to the "blocked" part of their user base through payments under Acceptable Ads. This is expensive (a German newspaper claims a figure as high as 25 million euros) and is viewed with disapproval by many advertisers and publishers.
  • Going Home
  • David Humphrey: Edge Cases
  • Experiments in productivity: the shared bug queue
    Over the next six months, Mozilla is planning to switch code review tools from mozreview/splinter to phabricator. Phabricator has more modern built-in tools like Herald that would have made setting up this shared queue a little easier, and that’s why I paused…briefly
  • Improving the web with small, composable tools
    Firefox Screenshots is the first Test Pilot experiment to graduate into Firefox, and it’s been surprisingly successful. You won’t see many people talking about it: it does what you expect, and it doesn’t cover new ground. Mozilla should do more of this.