Ask HN: What linux distro should I start with?
I just got myself a used Fujitsu Lifebook E8410 - the thing's around 6 years old, maybe older.
I'm aiming to use it to learn C and wanted to install a gnu/linux on it, but I don't know where to start. A gui would be nice though, maybe not even a DE, I might just put i3 on it.
I've used debian before, but I'm open for any lightweiht distro with support for older hardware.
I'd love to hear your recommendations and/or warnings.
66 comments
[ 1014 ms ] story [ 3661 ms ] threadFor certain less popular desktop distros (e.g. slackware, arch, and to a certain extent fedora, debian, etc.) there are lots of little things where you find some decent documentation, but you have to know how to adapt it to your particular OS version. Things like that kill a beginner's curiosity, because in the beginning, you just want to get some random thing working, not debug linux kernel versions and package repositories!
But, as always, this sort of thing is highly subjective, and there is no 'best solution'. My recommendation would be to try out a few different ones and see which one you like. Even a distro generally labelled on the heavyweight side will run perfectly on old hardware, especially if you install their 'minimal' or 'server' option (and add the software you want on top).
Remember, that apart from the package management system and some underlying system choices, most distros are fairly similar to use on the surface (unless you plan on using it as a server - then you'll find large differences between ubuntu based and redhat/fedora based distros).
Having said that, if you install a desktop distro like ubuntu it can be difficult to switch DE's since the configuration is integrated so much.
The hardest part will probably be setting up the wireless connection, and getting the WM set up. Do you think arch is suitable for a relative beginner?
By the way, setting up wireless in the install process usually only consists of running wifi-menu, and a WM is as simple as `pacman -S i3` (or which ever wm you want) and launching it from the DM or .xinitrc. ;)
Another advantage of starting from a bare install like arch, or a trimmed down version of another distro, is that you get a feel for how the system is held together (what software is installed, how the disks are partitioned, etc.). Sometimes comes in handy if you need to debug something!
https://arch-anywhere.org/
Arch has turned out, surprisingly to be much easier to maintain, since things are well documented and consistent.
Agreed. I've moved all my private servers [1] to Arch, despite everyone warning that it will break all the time, and I've never experienced any sort of breakage (except when I did stupid things myself).
[1] Currently, there are three: one physical machine as a homeserver, and two VPS for public services.
It was a big help to get more into i3. It also includes a lot of helper scripts. I used them in the beginning to get things done and later switched over to the "real" commands. inst -> pacman is an example for that.
Reduce as many variables as you can while getting started, and running ubuntu is certainly a great way of doing that. Plus, a lot of shops run ubuntu in production, which makes that experience pretty valuable. Good luck!
Also, since there are a lot of standard steps involved, I recommend that you document what you're doing, either as a plain text file of notes, or as some sort of configuration management playbook/recipe/template. I started doing that two years ago and it really took the pain out of bringing up new Arch systems, or reinstalling existing ones: https://github.com/majewsky/system-configuration
Puppy Linux is another good one, but it's quite different and finding help when it's needed is a bit of a problem.
I don't know if you know this already, but you can try out any number of distros non-destructively. Just write a downloaded image distro to a pen drive, boot off it and select "try without installing"[1]. This is how I tried out a number of distros and settled on Lubuntu.
[1]: https://help.ubuntu.com/community/Lubuntu/InstallingLubuntu
I'll give xububtu or lubuntu a try though :) Edit: fixed typo
[1]: http://support.toshiba.com/support/staticContentDetail?conte...
Ubuntu is a good choice because Apt and dpkg are both easier to use then DNF/YUM, and Ubuntu has basically everything in its repositories. On top of that, the package groups make things really easy to install if you want to try another desktop environment, etc. Plus most of the help you will find when you Google linux problems are from Ubuntu derivatives, which is another good reason to choose one when starting out.
[0]http://livecdlist.com/
I currently use Cinnamon on an i5 Samsung laptop and I use XFCE on an eMachine that is ten years old. %99.9 of Ubuntu packages will also run on Linux Mint. The desktops for XFCE and Cinnamon / Mate are easy to navigate. There is great support and a large community.
There is also a rolling distribution using Debian which is a distro that does not need to be upgraded since it is constantly getting updates. Does not run Ubuntu packages, but you will learn better development skills and this is what powers Ubuntu and Linux Mint. https://www.linuxmint.com/download_lmde.php For an older Laptop this may not be a good choice.
If you want to focus on development and at the same time have a system that can handle modern stuff like Netflix, LibreOffice and Google Chrome then try Linux Mint XFCE.
It looks like that model shipped with 1GB of RAM and 1 empty slot but is upgradable to 4GB. [1] My advice would be to upgrade the RAM if it practical [2]. This would make just about all distros practical. It's probably worth considering a cheap SSD as well...it can always be installed in another system later.
Of course, those are suggestions that involve spending a little money and the reason is that I would generally recommend standard Ubuntu. Not because it is better but because it has its own StackExhange site for getting help: https://askubuntu.com/. For me AskUbuntu is the killer app that trumps pretty much every other consideration. That's not to say that I don't use ArchWiki and other resources (like man pages) but the Q&A format focused on Ubuntu can provide more focused advice and solutions. Ubuntu also feels more beginner friendly than some other distributions of similar size, the defaults (arguments about Unity and sysmd aside) are relatively sane and there is a large selection of binary packages so the joys and sorrows of compiling from source can be approached with on gently graded slope. Worry not, there's enough sources of WTF and frustration for someone new to Linux without working with source.
Good luck.
[1]: https://www.cnet.com/products/fujitsu-lifebook-e8410-15-4-co...
[2]: US ebay shows a 2GB stick of PC-2 5300 can be purchased for ~$4.00 including shipping and 3GB is enough to make "mainstream" Linux distros an option.
If you need to work immediately: Manjaro XFCE, Ubuntu Mate, Fedora.
If you have a lot of time: Gentoo, Linux From Scratch, Arch, Slackware.
I was constantly having to tweak and install things to make libraries compile without error. The second I went to OS X or Ubuntu, everything worked out of the box.
If you've used Debian before, stick with it. Your system's specs are fine; you don't need a 'lightweight' distro for it. [1]
Debian has a couple more warts than Ubuntu, as the latter is more user-friendly by design, but Debian is 'cleaner'. You'll also have an easier time if you use Debian Stable or Ubuntu LTS releases (and just upgrade necessary packages). 'Rolling distros' are more up-to-date in general, but they can break on you (fine if you don't mind fiddling, but annoying if you just want to get on with stuff). Rolling distros become less painful as you skill up in unix-ese.
[1] actually, depends on the ram of the system. the CPU is fine, but I misread max supported ram as current ram. If you've got 4GB, you're fine. If you've got 1GB, go for a lightweight dekstop (and stay away from modern websites).
That has absolutely been my experience too (I still have my 1995 Infomagic Slackware CD... the horror.)
But are YOU the weak of heart? Perhaps not, coming here to ask such questions. And, IMHO, what you learn from fighting with a more raw linux distribution like Slackware is actually a useful learning tool. You can learn a lot about drivers and hardware systems by having to fight to get them to work.
And as soon as you get sick and tired of it, install something else that someone more forgiving has already mentioned. :-)
You honestly start with something incredibly common like Debian, Ubuntu (both mostly the same but with important differences in usability) or Fedora. The simplest way to try different distros is to make /home a separate partition for your user files; everything else is disposable.
If you have a lot of time on your hands, try LFS. If you want to see a stripped-down but not "minimalist" distro, try Slackware. If you want to install lots of distros and try them out one by one, use QEMU, VMware Player, VirtualBox, etc and install each one and play with it, but hardware-specific changes you'll only find by installing it natively.
You are actually incredibly lucky to be using a 6 year old machine. The newer the machine, the less Linux support there is for it. I recently got back to Linux with some modern laptops and it was a friggin' nightmare to get everything working. One distro's installer didn't properly support the naming convention for a hard drive controller. A bunch of the media keys aren't supported. Getting hybrid graphics to work took days. Apparently my wifi card has unfixable problems with 802.11n networks in Linux. And I am still unable to connect to a bluetooth headset. Stick to the old hardware, try different web browsers until you find one that won't crash with only 1GB of RAM, and have fun!
Even though Ubuntu is beginner-friendly at first sight, in very short time you'll see that all the benefit you're supposed to get from a community are actually hacks to solve things like: GUI issues with Unity, some services not starting, services crashing randomly, and so on.
Fedora is often taken as somewhat unstable because of its fast release cycle and lack of a long-term support release, but, in my experience, it has proven itself to be very reliable and stable for my workflow.
Although it's going down: https://distrowatch.com/dwres.php?resource=popularity If you want a distro on the upswing you should instead look at GuixSD; it emphasizes the "GNU" part of GNU/Linux. https://www.gnu.org/software/guix/
Fujitsu Lifebook E8410 has Intel graphics and Atheros wireless, it's also perfect for running a BSD. They are simple systems to learn and use, especially OpenBSD where all configuration is in one directory. Here's all you need to know as a casual user in one post https://news.ycombinator.com/item?id=10797171
Secondly, to answer your question "What Linux distro should I start with?" If you've used Debian before, and you know what i3 is, you aren't a Linux novice. So I would recommend staying with the Debian/i3 combination. It will run perfectly fine on the 6 year old laptop you mention.
I think the strongest piece of advice I could give you is "choose one distro/DE combination and stick to it - when the use of that environment becomes second nature you'll have more mental capacity to focus on and learn other things (like C)"
There was a mention of Fedora down below, and I have to give this a big thumbs up. Every time I use Fedora, I find it "just works". Problems with Mono/MonoDevelop on Ubuntu? Works perfectly on Fedora. Problems with GOPATH/PATH with Visual Studio Code on Debian? Works perfectly on Fedora. If it wasn't for the fact that I've spent the last 10 years becoming familiar with the Debian/Ubuntu way of doing things, I would swap to Fedora in a heartbeat. And to be honest, every time I look at the Fedora community, I just have this gut feeling that it's the right place to be.
P.S. I wrote up a bit of an article about something similar last year. If you're interested, you can find it at https://brendaningram.com/article/ram-usage-of-various-linux...