Is Salix the perfect distro? Some might argue that it is, others will argue that it isn’t. Basically, it all depends on what you want from a distro: Do you want the system to be as exposed as possible (and therefore as configurable as it possibly can be), or do you want a distro that shields you from the nitty-gritty, and just offers an array of GUI tools to configure everything.
If it’s the latter you’re after then let me be clear: Salix is not for you.
Who is it for, then? Well, the expert, experienced, and intermediate users will find Salix very easy to master. Despite of what other reviews or guides say, I’d even argue that Salix might be suitable for people who’ve tinkered with Linux a bit, and aren’t scared of the command line. And with a bit of a stretch, I’d even suggest (not recommend) it to people who’ve installed Ubuntu, but are looking for a distro that will present them with a challenge. Salix might be a bit of a stretch for these people, but they’re guaranteed to learn a few things. Either way, here’s why I think you should give Salix a try, based on my experiences.
What to expect?
Ok, what is Salix all about, and what -if anything- sets it apart from all of the other distro’s out there? Well, it’s based on Slackware but aims to be 100% backwards compatible with the distro that spawned it. Unlike some of the other Slackware-based distributions.
Slackware itself is quite a lot different than many of the more popular (and newbie friendly distro’s). This means that, like its dad, Salix is: stable, not bleeding edge, fast, low on resources, simple (from a system point of view), and doesn’t include an awful lot of GUI tools and other bells and whistles.
However, despite of its Slackware genetics, Salix has tried to apply the same KISS philosophy to its user interface. So people who have previously tried Slackware, but found resolving dependencies manually hard, or just too time consuming and tedious will be delighted to here that Salix comes with a package manager that resolves (to a certain degree) the dependencies for you – Neat! But, I here you say, is it as good as rpm or apt-get, or pacman or,… Not exactly? Well, than, why bother?
Let’s compare Salix, as a system, to Fedora/Red-Hat (based on the mentioning of rmp earlier): Salix is free, RedHat isn’t. Fedora is more bleeding edge, but less stable. So if you’re not really after all that bleeding edge stuff, and the stability issues it can bring with it, then Salix is the better option here.
How about Arch (pacman): compared to arch’s minimal installer, the ncurses based installation of Salix is a doddle. It really is. Again, Salix is not quite as cutting-edge as arch is, and the rolling release model is appealing, but Salix is a lot easier to set up. It’s easier to use on a day to day basis, requires a lot less tinkering to set up the way you want it (at least, I didn’t have to tinker as much), and it is -again- more stable. Both are lightning fast (in case of Arch, I should say it can be fast). But say you’d have to teach a newbie to use either one of these excellent distro’s: I’d much rather have to explain Salix than Arch. No contest. It’s just so much easier
Now the big one: Ubuntu and its creed (Mint, Lubuntu and all that lot). I’m not a big Ubuntu fan, but I have to admit: apt-get is probably the best package manager there is. The installation procedure is as easy as breathing in and out. It’s fairly stable (not as stable as Salix, though). So at this point it looks like Ubuntu has the upper hand. BUT:
Ubuntu is a resource hog. The community is not the nicest one: either arrogant I-am-an-expert users, or shouty newbies. Cannonical claims to listen to this community, but if it does, it certainly doesn’t show (Mir, Unity… ftw?). Ubuntu(-based) distro’s have developed this incredibly frustrating, and plain stupid tendency of providing half-baked GUI tools for just about anything you can think of. Half of them don’t work properly, and if you “tweak” your distro (ie install a second window manager), the package will contain all of the system tools of that window manager, too. So you end up with Gnome’s network too, KDE’s own tool, possibly one or two more… but in the end, you’ll probably want to install Wicd anyway. Let’s be honest: that’s silly… no, madness more like it. Salix’s biggest strength over these types of distro’s is that the people behind it have a wonderfully simple, yet refreshing, mantra:
One tool per task. No more, and to all intents and purposes, no less. How brilliant is that? If you’re a key member of the Ubuntu community: take note. In the end, most users want just one tool, the one that works best.
So what does it mean: well, a clean install of Salix uses little resources, but comes with one office suite pre-installed: LibreOffice. If you need Wifi, you’ve got Wicd. You’re free to install a second window manager, like KDE, but its office suite is packaged up separately. Don’t install Calligra, unless you want to. So allow me to sum it up in a quotable way:
Quite apart from the system being laid out almost as simple as Slackware is (which is very traditional, conservative and therefore intuitive), and being so low on resources, and the easy installer and the stability and the decent package manager, this one tool per task business is what got me sold on Salix.
Before I decide to install a new distro on my main desktop machine, I have this old laptop that I use to test-run new distro’s . It’s an old dell laptop with a first-generation centrino processor with 2Gb of RAM. On this machine, I had Slackware installed (14), and I absolutely loved it. So much so, that Slackware had graduated to the point where I had installed it on my desktop machine, too.
The desktop machine is a bit more up-to-date (an intel i5, 8Gb RAM, and a 1TB 7200 HD), which has to dual boot linux and windows 7.
Like most people who’ve worked with Linux for a fair amount of time (just over ten years in my case), I’ve tried out various distro’s. Before working with Slackware, I’d used Redhat, Debian, Ubuntu, Mint and OpenSUSE. The lack of a serious package manager (yes, it has slackpkg and SlackBuilds, but that’s not the same), meant that Slackware was a tad too cumbersome to be a valid, everyday desktop distro. It makes sense as a server environment, but as a desktop machine (which, by definition HAS to be versatile), it’s just too much work. Since I’d been a bit too careless when trying out new things, I had to repair my Linux installation, but felt that what I actually needed to to was install a new distro.
Salix, then, being presented as a Slackware based distro “for the lazy slacker” looked the answer to all of my woes.
I loved the simplicity, and predictability of Slackware. The system is layed out very, very logically. Everything is where you expect it to be. I like that in a distro, so whatever was going to replace Slackware had to have this same clean and simple layout. Salix being Slackware based should fit this description.
The main difference between Salix and Slackware at first glance is that Salix has a package manager (called
slapt-src). Each of these tools have a gui front-end for those wonder:
The testing phase
So I installed Salix 14.1 FXce 32bit on the old laptop. The installer was all very familiar: it’s almost exactly the same as the one you get with Slackware. Though not looking very fancy, it’s a very intuitive and straightforward installer. If you find yourself doubting as to what to do next, sticking to the defaults will work just fine most of the time.
For the inexperienced users the partitioning of the disk will prove the most challenging step of the whole undertaking. Like Slackware, you partition the disk using
cfdisk, which is well documented and is available on all major distro’s anyway, so anyone can install Ubuntu, and play around with cfdisk, learning the ropes. TIP: write down which partition is where (/dev/sda1 -> linux, /dev/sda2 -> swap, /dev/sda3 -> windows, for example).
After the system is installed, there have been made some rather pleasant additions to the installer: Slackware doesn’t have any user management tool out of the box. If you want a user, you have to do so using the command line. If you want to create a group, ditto. If you want to add a new user to certain groups: the command line is ready for you.
Not a big deal for those who know about
groupadd, but a bit strange at first. The Salix installer is helpful enough to tell you it’s disabled the root user, and prompts you to create a new user. You can then create groups, and add them to certain users.
In the end, you can have the installer auto-generate the LILO configuration. It didn’t quite work on my laptop, and I don’t really trust auto-generated configs for things that are as critical as bootloaders, so I manually configured the bootloader both times around.
LILO is undeniable less common than grub is, but really: configuring this loader couldn’t be easier. The only thing you really have to know is where what system lives (
/dev/sda[0-9]+ most of the time). Basically, write down the partition table you’ve created using cfdisk earlier on, and you should be able to work your way through the expert LILO config setup. That’s how easy it really is.
Living with Salix
Just like any other distro, there are some applications that you need to install ASAP, some tweaking to be done and all that, just to make the OS feel like home again. On Slackware, because there’s an awful lot of manual dependencies to resolve, this usually takes me a day or 3 (not full time, but you know what I mean). Salix aims to be 100% backwards compatible with Slackware, so I expected to do a fair bit of dependency resolving the first few days, too. I had to do some, but not nearly as much as I’d anticipated.
The package managers do attempt to help you along (if you
slapt-src -i vagrant for example, it’ll automatically attempt to install virtualbox as a dependency). There are some noticeable caveats, though: if a
slapt-src package has a dependency that is available as a binary package (through
will not mention it*. It’ll just download the source, run the classic ./configure && make && make test && make install && make clean commands (well, that’s not completely accurate, but that’s another matter), and only then you’ll get an error if a dependency is missing. That’s when you have to run slapt-get -i <missing>, and then you’ll have to run
All in all, though, I installed most of the software I need in less than a day, and got the system up and running just like I wanted it to. Of course, as time progressed, I did notice some differences between Salix and Slackware, and other issues with the package manager did show up from time to time (more on that later), but nothing serious.
Over a 4 week testing period, I didn’t encounter a single issue that 2 minutes on google couldn’t solve (most of the time, the slackbook contained the right answer anyway). Nothing major happened to put me off Salix, and at no point did I feel like I was missing out on the ease of use that some fancier distro’s claim to offer. Yes,
slapt-src aren’t perfect, and
apt-get is in many ways a better package manager when it comes to dependencies, but I asked myself this simple question: Would I give up Salix, and go to Lubuntu just for the package manager? The answer was a resounding NO.
I wouldn’t dream of it. I’ve used Ubuntu, Kubuntu and Lubuntu, and I still use Ubuntu (well, a personally tweaked version of it… Cubuntu if you will) at work. But after these 4 weeks of testing, I think it’s far more likely for me to ditch ubuntu at work, and install Salix there, too.
So after these four weeks, which ended yesterday, I’ve installed SalixOS 14.1 XFce 64bit on my desktop machine (the i5, 8Gb ram machine). Again, installing it was a breeze, and installing the first bits and pieces of software I needed was a real walk in the park. Right up to the point where I wanted to install virtualbox (as a vagrant dependency). Sadly, the slackbuild script doesn’t work on 64bit systems, so I had to revert to downloading the generic linux installer from virutalbox’s own site. No issues with that, however:
slapt-src insisted that it had to install virtualbox as a dependency, and tried to compile it, even though I had virtualbox installed, and I knew the compilation would fail.
Bummer, I had to install vagrant manually, too, which I did by manually extracting the vagrant 64 bit RPM, and
sudo cp-ing all of the files to their rightful places. This worked like a charm, despite it all being really quite hacky.
As a result, though,
vagrant is still listed as a src package that I haven’t installed, so upgrading and deleting it will be another hacky, and messy undertaking.
As was my first install of redis.io. On my test machine, I chose to use the GUI frontend (sourcery) to install redis. Sadly, this did not set up redis to controllable using
sudo service start redis-server, instead, I was forced to search for the source files (which contain the default config and init.d scripts), edit them and move them to their respective locations. It’s not a lot of work, but it was annoying: if you offer a package manager, that builds from source, I want to be able to pass arguments to the compilation commands, and I want to be able to choose how and where to install something.
For that reason, I’ve opted to bypass
slapt-src for certain pieces of kit: redis.io, I have installed from source straight up, without any packaging tool being involved. I installed it just the way I like it, and wrote a custom, nice and simple
rc.redis script to put in my
/etc/rc.d directory, without there being a need for me to check existing init scripts for odities, or ways in which it differs from the distro that spawned it, I just assumed that Salix’s rc.d directory would be exactly like the one you get with Slackware, and it is.
That, to me, confirmed that like the Grandad of all distro’s, Salix is a simple and elegant distro from a system’s point of view, too.
The first time you boot into a freshly installed version of Slackware, you will be presented with a bone-dry CLI-login screen. After logging on, you’ll get a funny quote and a bash prompt. There is no graphical login manager/window. You have to log on using the command line, and then run
startx to start the GUI.
For those who care: Salix does have a login manager, and therefore, you immediately boot into your GUI of choice. And you really do have a lot of choice: XFce, LXDE (not tested by me), Mate, KDE, Ratpoison,… quite a long list.
Again: comming from slackware, where adding a wifi connection still required me to do
wpa_passphrase ESSID "pass" >> /etc/wpa_supplicant.conf, having Wicd installed from the get-go is a really nice, and thoughtful addition. Just as the fact that LibreOffice comes pre-installed was a nice bonus.
I’ve already menationed a couple of problems with the package managers, but despite there still being room for improvement, one thing they already do, and do well is updating installed packages: Salix notifies you if updates are available, and you can easily check for updates, and upgrade all of you packages in one go. Easy.
The pro’s are:
- KISS (Slackware’s version of this principle)
- KISS (From the User’s point of view)
- One task, One tool… love it.
- Package manager
- Very easy to maintain
- Well equipped
- Good documentation (not the best, but better than most)
- Slackware based
- LILO bootloader
The Con’s are:
- Not bleeding edge
- Package manager (slapt-src, mainly)
- Not the biggest community to fall back on (yet)
- Slackware based
- LILO bootloader
Now I listed Slackware based as a con simply because, for non-slackers, there is something about slackware that seems to worry them. It could be the enigma surrounding the BDFL behind Slackware, or the fact that the fanatic slackers seem to mock other Linux users for wanting a package manager. Whatever the reason, it’s as much a Pro as it is a con.
For much the same reasons, I’ve listed LILO as both a pro and a con argument. Most people, nowadays are used to grub. Yes, I know it’s more powerful in some ways, but the elegance and simplicity of LILO is what I really look for in a tool. When it comes to keeping things simple, LILO wins hands down.
All things considered, I’m completely sold on Salix. Considering what I need to do on my computer, Salix is a perfect distro. It’s a solid build environment, with lots of libs that are easily installed through slapt-get or slapt-src. It’s fast, uses little resources (so there’s plenty of room for me to run 4 vagrant boxes), and is very, very stable.
The system is predictable and beautifully simple, and even though it offers a lot more GUI tools to configure and manage the system than it’s dad does, none of these tools interfere with the system itself. You can still ignore these tools, and manually edit the config files from the command line. Something that distro’s like Ubuntu and family don’t do.
For an everyday distro, Salix hits most of the criteria I look for: it’s stable, well supported, a lot of software is available for it, it’s fast, low on resources, very customizable, flexible and in many ways intuitive.
As fas as I can see, it has only 2 potential drawbacks: I don’t know if
slapt-get is capable to manage the packages reliably once you start compiling bleeding-edge software outside of its scope (so without
slapt-get). Stick to the boundaries set by the slapt-get, and you should be fine, though.
The other problem simply is Slackware: as much as I love it, it’s a very secluded community. A relatively small, close knit community can be a blessing aswell as a curse.
For Slackware, it has worked for over 20 years, and thanks to the BDFL Patrick Volkerding, I believe this model will stay successful for quite some time to come. Salix has managed to build on Slackware’s model over the past five years, and from where I stand, they’ve done a fantastic job. Let’s hope they keep it up, so I never have to look for a new distro to try out again.
(*) Update: Last night, I installed a couple of applications using
slapt-src. It would seem that, since one of the more recent system updates,
slapt-src has gotten smarter: it actually told me to look for a dependency using
slapt-get. It would make more sense, still, if
slapt-get would be merged into one application, so the dependencies can be installed in one go. But this definitely is a step in the right direction.