As a recent emigre from the Ubuntu Linux distribution to Manjaro, I’ve had the chance to survey the field as I chose a new distro, and I realised that there’s a whole world of operating systems out there that we all know about, but which few of us really know. Hence this is the start of what I hope will be a long-running series, in which I try different operating systems in my everyday life as a Hackaday writer, to find out about them and then to see whether they can deliver on the promise of giving me a stable platform on which to earn a living.
For that they need an internet connection and a web browser up-to-date enough to author Hackaday stories, as well as a decent graphics package. In addition to using the OS every day though, I’ll also be taking a look at what makes it different from all the others, what its direction and history is, and how user-friendly it is as an experience. Historical systems such as CP/M are probably out of the question as are extremely esoteric ones such as the famous TempleOS, but this still leaves plenty of choice for an operating system tourist. Join me then, as I try all the operating systems.
A Distro From The 1990s, Today
When deciding where to start on this road, there was an obvious choice. Slackware was the first Linux-based distribution I tried back in 1995, I’m not sure which version it was , but it came to me via a magazine coverdisk. It was by no means the first OS that captured my attention as I’d been an Amiga user for quite a few years at that point, but at the moment I can’t start with AmigaOS as I don’t have nay up-to-date Amiga-compatible hardware.
July 2023 also marks the 30th anniversary for the distro making it the oldest one still in active development, so this seems the perfect month to start this series with the descendant of my first Linux distro. Slackware 15 comes as a 3.8 GB ISO file download for 64-bit computers, and my target for the distro was an old desktop PC with an AMD processor and a big-enough spinning rust hard disk which had been a high-end gaming system a little over ten years ago. Not the powerhouse it once was, but it cost me nothing and it’s adequate for my needs. Installed on a USB Flash drive the Slackware installer booted, and I was ready to go.
Slackware’s philosophy is stated as providing the most UNIX-like Linux distro, and to contain packages most faithful to their upstream sources without modifications. This isn’t a distro that’s trying to set itself apart with flashy desktop environments or semi-proprietary packaging systems, instead you’re getting the straightforward GNU/Linux experience from a pre-assembled distribution.
What this means in practice is that it’s a powerful and usable distro that doesn’t require a beard down to the waist to install, but it’s also a distro which expects the user to be prepared to get their hands dirty to some extent. This is immediately obvious when starting the installation, because the first requirement is to run fdisk
and partition the destination disk. Pretty much every major distro will now have an option to let it choose the partitioning automatically for you, but Slackware users must do it for themselves. It’s not too difficult and anyone prepared to pull up fdisk’s help screens and maybe consult the web for assistance can pretty quickly make a main partition and a swap partition, but the overall feel is the same as distro installation in the 1990s.
The rest of the install is through a straightforward text-based installer which is easy enough to use, but those ’90s vibes are enhanced when it installs lilo instead of GRUB as a bootloader. I can’t remember, but I think it must be at least 20 years since I last had a machine with lilo on it. Finally it leaves me booted into my new system at the prompt, with only the root user as a login. I must create my normal everyday user myself with the adduser script, and once I’m logged in with normal-strength privileges I must type startx
at the prompt if I want the graphical desktop. Nobody is holding my hand on my Slackware journey.
Not A Distro For The Novice
I now have a Slackware machine in front of me, and it’s a modern full-featured Linux distro so of course it does a fine job of being a daily driver. I chose the KDE desktop, and I can go straight into working on Hackaday. There’s thus little point in discussing its usability for my work as I might with some operating systems, instead it’s worth looking at the other ways I interface with my OS. What’s it like installing and updating software on a Slackware machine?
Just as on a Debian machine I’d reach for apt
and on a RedHat descendant I’d reach for rpm
, on Slackware the package management is done through slackpkg
. Slackware packages are compressed archives containing all the necessary files in their paths ready for extraction into the filesystem, and reading up on them I was mildly alarmed as someone used to other distros to note that resolving dependency issues isn’t part of the equation.
Running slackpkg update
refreshes the list of latest software, and the first time I ran it I had to uncomment a line in the mirrors file before it would let me do that. Then it was time for slackpkg upgrade-all
, to upgrade everything to its latest version. I’m used to Debian, so I’d do the equivalent there on a new install with apt upgrade.
On many distros this would be a straightforward process of waiting for the packages to install and getting on with life, but here again we’re reminded that this is not a distro for the faint hearted. It casually informs me that since the kernel has updated I must rebuild my initrd and run lilo again, my machine is essentially now broken without more wizardry. It’s not impossible and a very quick web search reveals /usr/share/mkinitrd/mkinitrd_command_generator.sh
which generates the commands to fix it, but it’s not a task for everyone.
My brief sojourn into Slackware nearly three decades after I first tried it has been a success, and I have a machine with a distro that’s the match for any other. It’s been an odd experience though, one of traveling back to the 1990s when Linux distro installs required patience and some level of work. As a daily driver it’s without fault, indeed I’ve written most of this piece on it, but for anyone else perhaps I’d describe it for those unafraid of diving into their distro rather than simply using it. Give it a try, you’ll come away learning stuff.
“back to the 1990s when Linux distro installs required patience and some level of work”
I remember downloading Slack on a stack of floppies (25?) back then. I remember it was a ‘Yessss’ moment when the command prompt showed up! Come a long ways. Moved on from Slack to Red Hat a few years later. Now on KUbuntu.
I, too, remember FTPing 3.5 inch disk images. What a wonderful day it was when Walnut Creek CDROM made it possible to order CDs with the latest distribution on them!
Yep, and then they started coming on ‘sets’ of CDs, then DVDs came out and you were back to one disk for awhile, then sets of DVDs started to emerge again :) . Now it is nice to just download one .iso and build your system from there. Progress … supposedly…
I remember when Ubuntu first came out and they’d send you a disk FOR FREE! That was a big deal when downloading an ISO took several days.
We were masochist back then.
Looking forward to the rest of the series. Too often you find reviews stating something like that the new Ubuntu release isn’t that great because of the boring screen background. Nice to get some better comparisons.
> I try different operating systems in my everyday life as a Hackaday writer, to find out about them and then to see whether they can deliver on the promise of giving me a stable platform on which to earn a living.
So, basically, if it can run any sorry excuse of a browser, you are set. That’s not a particularly high bar to pass…
(Not that strictly speaking I _absolutely needed_ anything beyond a sorry excuse of a remote desktop to _earn a living_, but that’s still not where I draw the line.)
With correctly set up ci/cd, using the editors built into github/gitlab, it’s possible to do good software development with just a good browser, too. Or run doom, or process data through ML, or emulate an x86 computer. It may not seem like a high bar, but there isn’t one much higher.
Well, could be an interesting challenge, live only with a Chromebook and a Pi4 or some other equivalent SBC with no screen as a homeserver, so that you don’t need to rely on a third party, for a month.
The Chromebook being the todays equivalent of a VT100 terminal this could be fun.
Or “Fun”. ^^’
That describes what I was using as my home setup, until the chromebook aged out of getting updates. (Now imagining an equivalent situation with a VT100…)
You could try your luck with a community driven version, ChromiumOS for example. Or outright install a normal Linux.
But yeah, devices no longer getting updates is a sad thing. I understand when the underlying hardware is just too slow, but then i could still “support” it in a way that says that i don’t want to actively support it but you can still run my stuff on your machine but you are on your own and not actively block you.
I got mine because i wanted to find out what the fuss was all about by the way. And i got it at a steal with 75%(!) off when the Saturn in Essen Steele closed shop, ~150€ for some halfway decent Acer branded one, would need to dig it out for the exact model number.
Nice idea for a series. I look forward to more like this one.
Slackware was my first Linux, and having used Unix on Mainframes for years was at least talking the same general language. My work had retired a bunch of 486 PC with 4Mb RAM that booted up fine into a single floppy Slackware. Adding a bunch of 10base2 cable to network them all together an 8 node Beowulf cluster was born, but little else that I recall. More fun with the hardware was had playing (Dos based) networked Doom. Ah the second half of the 90’s – nice era.
Back in 2000’sh I’ve managed to squize Slackware 8.1 LAMP server on old 486 with 180 MB hard drive. It was slow but my buddy was able to test some web development skills.
I.had less trouble with Slackware than Debian in 2000. I actually got.my Slackware in a clearancecopy of Slackware Linux for Dummies.
This is great! First Linux was Slackware in 1995/6 it really makes you know what’s your machine is made of and understand the system itself. Used to build my own kernels on it as well… It really made a speed difference back then! Don’t think I have the patience for it these days…
The Slackware.com site claims there first beta released in April 1993 and wiki states the first 1.00 release was July 17 1993.
https://en.m.wikipedia.org/wiki/Slackware
The first official RedHat release was May ’95, and my school had been using pre-release betas months before that. IIRC, Slackware was the first Linux release, but that was in ’93.
Slackware was the first distro I installed myself, from a magazine cover disk. I can’t remember how long I ran it for, but I soon switched to RedHat which I ran for several years. Newcomers today don’t understand just how frustrating dependency management could be when building from source in the early days. I remember building apps from source and adding their libraries manually, only to discover multiple missing library dependencies, followed by building those libraries from source only to discover that they too had missing dependencies. When you were stuck at the end of slow (metered) dial-up, or reliant on carting code home on floppies from the office that at least had T1 connectivity, simply installing an application could easily turn into a 5 day affair. It was a steep learning curve, but I learned a lot. RedHat’s first killer app was rpm. It was far from perfect in that dependency management could still be painful, but it was a massive leap in the right direction. It wasn’t until yum that dependency satisfaction became easy.
I too compiled many kernels. I remember the satisfaction of getting accelerated 2D windowing working after compiling the kernel with then experimental support for S3 Virge/DX with its whopping 4MB of graphics RAM. I also remember the disappointment of trying to get the Creative Soundblaster AWE 64 Gold completely working. That took several recompilations, and whilst the basics all worked, I don’t think I ever managed to get all of its advanced features working. ISTR that it effectively functioned as an AWE32 under Linux, at least until such time as I’d moved on to a PCI-based system, which was irritating because it hadn’t been a cheap purchase.
Aside from a couple of brief sojourns with Mandrake and Gentoo, and quick dalliances with Debian, Suse and Ubuntu, I’ve lived with RH-based systems on my daily drivers for over 20 years now, nearly all of it Fedora. I’ve worked extensively with CentOS too professionally on servers and appliances, but on the desktop I prefer the more cutting edge Fedora. I’ve always preferred the aesthetics of Gnome to those of KDE (that in earlier days just seemed to being doing its utmost to copy Microsoft Windows). I wish that Enlightenment WM had become more mainstream. It has always been beautiful but it has always remained on the experimental sidelines, often lacking in stability.
I started with Slackware as my first distro back in 2008 because I wanted to learn how it all works. Maybe I was just the right kind of novice but it helped me greatly.
I still recommend more technical people to jump into the Linux deep-end with something like Arch, break things, and learn from the experience.
Different operating systems? Aren’t these all just different linux distros or are you really going to look at different operating systems?
What would I look for if I was searching for the best linux distro — for me.
– it certainly would need to run a browser and my email client of choice
– it would need to run compilers, editors, KiCAD, android studio, …
– it would need to offer desktop choices (xfce, kde, gnome, …) I like xfce
– it would need to have a well tuned package system (dnf, pkg, whatever) kept up to date
Beyond that, it is good if a system is popular. Not just to jump on the bandwagon, but because popular systems tend to be well supported, packages get frequently updated, lots of discussion in forums when questions arise. I have tried using “on the fringe” systems long ago (NetBSD) and you suffer a lot.
It is a lot of work keeping packages up to date. Someone has to do it, and it seems like a thankless task from my perspective. A system with a big user base and perhaps a commercial side is more likely to put the effort into doing this (and maybe pay people to do it).
For me, I have things I want to do. Fiddling with my distro is the LAST thing I want to do. I want to get it installed and have it get out of my way and give me as little hassle as possible. I want someone else to build packages and take care of all that.
“For me, I have things I want to do. Fiddling with my distro is the LAST thing I want to do. I want to get it installed and have it get out of my way and give me as little hassle as possible. I want someone else to build packages and take care of all that.” +100
That is my thinking ‘now’ too. I am way way ‘past’ tweaking kernels, building packages built by someone else, etc. Leave that for the dedicated young’ns who have time on their hands :) . I just want to program, and smoothly run applications like FreeCad, Kicad, LibreOffice, etc.. Right now the latest KUbuntu LTS meets my requirements. Only slight discontent is the use of snap for Firefox but it does really work fine as is.
Should add that means distro hopping is over too — For the most part, Linux is, well, Linux regardless of distro. So I just settled on an LTS that I don’t have to ‘upgrade/install’ every 6 months and use a GUI that runs with my workflow and then just forget about it…. Works for me.
But how many bogoMips do you get?
“… in which I try different operating systems in my everyday life as a Hackaday writer, to find out about them and then to see whether they can deliver on the promise of giving me a stable platform on which to earn a living…”
Can one assume, then, that this new “OS Review” column will deal only with established OSs (whatever that means), and that non-mainstream efforts–whatever that means–such as reactOS, Haiku, KolibriOS, etc, will be ignored?
Can one assume that Unix-based OSs (FreeBSD, NetBSD, DragonflyBSD, etc) will be reviewed?
…or will this new column be reserved / dedicated strictly for / to Linux distributions?
I must admit, I’d be interested in a review of CP/M.
Using Wordstar to write articles, then a modem & Bulletin Board / dial up FTP server to submit.
That would, indeed, be a good candidate, especially the CP/M part.
A very similar combination was responsible for the blow-out success of Radio Shack’s TRS 80 Model 100 in the mid ’80s (which had a 20-hr battery life, a–somewhat–Wordstar-compatible word processor, and a dynamite keyboard). The combination you suggest was what made the Model 80/100 the darling of the journalistic-reporter contingent–as well as very many others, numbering in the millions.
…love to see a current review of CP/M, though it’s doubtful that it fits within the parameters of this proposed new series…
Slack still doesn’t do dependency management? Ouch. Given how complex software is these days, I don’t think it’s reasonable to expect the user to keep track of everything.
You’re not expected to. The official policy of Slackware is that hard drives are cheap enough that there’s no reason not to install every package in the repository — a full install of Slack 15 comes out to around 16 GB, which is still considerably less than modern Windows.
If you want to do a minimal install and optimize the packages, that’s on you and it’s expected that you’d know enough about the system to understand the dependencies involved. If it’s the kind of thing you do often, you’ll probably be using tagfiles which tell the installer exactly which packages you want rather than having to interactively select them from the menus.
Yes, it’s been 20 years, at least,, since I did a selective install. Limited harddrive space, when that cleared up no sense fussing.
Ahhhhhh… THIS is the missing piece of info I needed…
So, presumably the next question would be: Do they have *everything* one might otherwise choose to apt-get?
I just did some searches for software I use every day and failed to find any of them. neovim, newsboat, elinks, mpd, pv, mbsync, msmtp, doas, picocom. Combined with manual dependency management, this is why I moved on from Slackware 20 years ago: it just doesn’t have packages for the things I use. It’s a bit sad to see things haven’t changed in that time.
Imagine a “Unix Poet” not knowing how to build/install a package from source. Yikes.
Wow, Lilo!
That’s been a while.
I’m 54 yrs old and .. yes my first distro was a Slackware!
Buy I never forget about It … Infact my home server Is still running a slack! (13 actually)
No graphical environment … only server … Only Shell
And It runs with low resources … And low Power ;)
Slackware was my first distro in ’95 too.
I remember reinstalling several times because I was trying to configure the right screen resolution and graphics drivers, but every time I broke X config I didn’t know how to fix it without reinstalling.
I quit using at least one distro back then because backing up the /etc/X11/xorg.conf didn’t work
Give me Gentoo or give me death.
Slackware is my first and last distro. Impressive enough that somebody else still runs it! haha!
Still I tested a bunch of distros, including Gentoo, RedHat, Debian based, SUSE, etc… I have a couple of PIs on Ubuntu.
The Dependency Hell™ taught me a lot damn more than I had wished for, but is a solid base that helps me a lot on thoubleshooting my daily dose of problems. Using it since 1997 (v 3.4)!
Thanks, Patrick!
This is hardly a review of the OS, but a small short story of installing it and doing a single upgrade. Slackware is a tried and true solid as a rock base system. Of which, you can expand and customize if you hold the knowledge to do so. It comes complete with almost every bit of Linux dev programs pre-installed. I can get a source tarball from anywhere and just build and install it. Or make an official Slackware package with it. The skies the limit. Slackware has served me well for decades, and will for many more. As once you’ve installed, you can go hog wild and make it your own. Upgrade whatever you want, as long as you know how to fix it. As for tools, there’s plenty of them out there, and they are all just as wonderful as Slackware itself is. There’s a reason Slackware has lasted for 30 years. It’s done right.
Lilo, fdisk, startx…. what else do we need ? :-)
Slackware was my first Linux as well, in the early to mid ’90s. I don’t remember what version of Slackware it was, but it used an 0.9x kernel, pretty early. I last used it as a router on an old 486 around 2003. After that I switched to commercial routers, and for a while, overlapping with Slackware, RedHat. When they switched to Fedora, I had trouble with it and switched to Centos and then Kubuntu.
Slackware is still, without a doubt, my favorite distribution. Short of Linux From Scratch, I think it’s the best way to really learn GNU/Linux. Without the hand holding, it forces the user the be methodical. Without the hand holding, it encourages learning how to utilize a manual. And when you’re in a pinch, the people at IRC ##Slackware are the best in the open source community.
The picture for this article is beautiful! Kudos to the artist! ❤️
Definitely some Robert Tinney vibes there.
I started with Linux back in ’92 with 0.99 p11. Ftp’d one floppy, booting to a blinking cursor. A bit later, a whole mess of double density 3.5 floppies with x11 even. Delvedi into Desqview too… The only other distro to really cut your teeth on linux and have a true understanding might be linux from scratch.
So what does Sackware (latest) use out-of-the box these days, xBSD-like init, System V, or systemd (ugh)? What should I try as a unix-ish well-behaved 64-bit desktop; Slackware, FreeBSD, or OpenBSD?
I tried OpenBSD on an old notebook I had laying around. It was nice ! The documentation is top-notch so no rage-inducing struggles. Resource usage was similar to a minimal Linux install. I managed to setup a nice little sofa-coding machine. The system itself feels like a very orthodox Unix with the best man pages known to man.
The notebook screen being too bad for sustained use, I didn’t follow up beyond a few months, but I will probably get back to setup a NAS.
For a *nix, none of the above, Try NetBSD–runs on anything.
…Oh, and…
“…What should I try as a unix-ish well-behaved 64-bit desktop; Slackware, FreeBSD, or OpenBSD?”
FreeBSD and OpenBSD are not ‘unixish’; they are Unix.
“Nobody is holding my hand on my Slackware journey”
But they give you Slackbook. Great introduction – I found it easier to install Slackware than Windows XP on that time since XP required floppy disks for SATA drivers (which were delivered on CD).
Around 20 years ago Slackware gave me enough knowledge to become semi novice :)
This post made me do take a look at Slackware again (in fact I was thinking about it already some time ago). I used it for some time around Slackware 10 and 11. On that time it impressed me with following:
– Slackbook was a good starting point to learn Slackware and made installation easy.
– Famous text mode instalation was actually menu driven and simpler than Windows except for fdisk part (which is simple with slackbook). I found it more easy than many GUI driven installers.
– It was fast, responsive, stable desktop. Booting faster than Windows and using very little RAM at start (I think around 50MB but for sure less than 100MB).
– Resource usage was great – with 1,5 GB RAM it rarely went above 512MB when used, and almost didn’t use SWAP. My Windows at start took 700MB of RAM and the same amount on page file.
– everything was done through file editing. Some configuration tools were menu driven text mode. Except they didn’t look modern they were equally easy and simple to use.
Thanks to the author for giving me a push to research it again. I wonder what is her experience with slaptget/Gslapt. Those were suppose to solve dependencies and are still developed.