Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What linux distro should I start with?
35 points by bananicorn on May 30, 2017 | hide | past | favorite | 65 comments
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.




I suggest Lubuntu 16.04 (which I have running on an even older, lower spec laptop) or even the slightly more polished Xubuntu 16.04. They are standard Ubuntus with just different DEs. Both are far more lightweight compared to Unity. Good docs, lots of useful forums out there.

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 run XFCE Fedora, but I've used all of the 'buntu derivatives. I think Lubuntu/Xubuntu are great suggestions. The Lightweight Desktop Environments are less 'convoluted' in my opinion, in the sense that the just seem to work the way people expect a computer to work. (Think Windows 98 vs. using OS X or Win 10).

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.


Yes. I've been hopping around on too many distros in the past and always come back to LTS versions of xubuntu. Everything else just creates a lot of unanticipated pain or annoyance after some usage. Lubuntu would be the next best, if you really can't get xubuntu to run properly... But I would give xubuntu a serious try first, as it is so much more of a proper OS. Shouldnt be too far from lubuntu performance-wise if turning off some of the window animations etc.


Lubuntu and Xubuntu are also good and easy to use. Puppy Linux is great for hobby but I think the idea of learning to develop would be helped by the more stable Lubuntu or Xubuntu.


I've already run puppy linux from a thumb drive on it, but I'm not too keen on the whole OS running in RAM, even though it worked really smoothly.

I'll give xububtu or lubuntu a try though :) Edit: fixed typo


Puppy can be installed to the hard drive. I did it three or four years ago on a Satellite 1800-s203. [1] I even compiled the latest Emacs from source (not quick on an 800mhz Celeron and 192mb of RAM.)

[1]: http://support.toshiba.com/support/staticContentDetail?conte...


I find 32 bit version of Ubuntu to work better on low-spec systems.


Arch would be a nice choice for your description - the base install comes with a minimal selection of software, so you can easily add what you want without there being any bloat. However it doesn't come with a graphical installer. A derived distro like Antegos with a graphical installer might be a good choice otherwise.

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.


I'm a bit hesitant to try arch, since it seems quite daunting to start with such a trimmed down distro - and yet I really like the idea.

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?


I would suggest Antergos based on Arch, in that case. You can select xfce as the starting de, and then install wm on top of it, or individually. You will get a working distro quite easily, and after that you can customize as much as you want, without having to go through the base Arch distro installation, which requires you to follow the excellent Arch wiki guides. I installed Antergos on a 4 years old laptop that I got recently, and it works fine seamlessly.


agreed I love antergos, my favorite distro by far, esp. with i3 window manager.


It depends on how you define beginner. If you're careful, and follow the installation guide on the wiki, you should be fine. Often people recommend installing distros in virtual machines to get a feel for the process. However, if it's an older laptop as you said and not your primary machine, then you can always just go for it and if something goes wrong, you can format the drive and start again.

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!


Now I'm armed with two sticks - one with the official Arch distro, and one with manjaro, in case I don't manage to get regular arch working. I'll probably stick to the first distro I can get running with i3, working wireless and gcc, so arch probably has a good chance to be my final choice (if I like pacman)


You might also try "Arch-Anywhere". It's got a very nice install script, and is minimal. You'll end up with a very basic installation of Arch, probably similar to the one you'd get with a more manual installation. This is how I got started using Arch, and I've learned more about Linux than I ever would have been able to with Ubuntu or Debian.

https://arch-anywhere.org/

Arch has turned out, surprisingly to be much easier to maintain, since things are well documented and consistent.


> 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.


If your first installs are going to be gcc and i3, then I think you should give the standard Arch install a shot. It takes a basic understanding of what's happening during the install process, and I'm guessing if you're kicking off with i3 then you're comfortable with things like partitioning and configuring a window manager. If that's the case, installing Arch will teach you things that an Ubuntu install definitely won't, and you get a fresh clean minimal install too.


There is a community distro of Manjaro which already includes i3: https://sourceforge.net/projects/manjaro-i3/

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.


Whether or not you use Arch Linux itself, the documentation at wiki.archlinux.org is really truly fantastic. I learned so much by setting up and customizing my Arch system(s), but it was those docs that helped me learn more than anything specific to the Arch distro/code/tools itself.


If you're willing to learn, then definitely. When doing it for the first time, you should be prepared to take your time and go through the installation guide paragraph for paragraph to make sure you're not skipping some obscure, yet important step.

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


If you're a beginner, and the intent is to learn C programming, I would start with ubuntu since it's stable and lots of linux questions asked online are often asked by other ubuntu users. Learn how the system is put together and get a feel for the tools. After a while, maybe try out Arch or some other start-from-scratch distro. I say this as someone who runs Arch on my work and personal laptop. I really like Arch, but it certainly requires some upfront knowledge and you can really shoot yourself in the foot.

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!


Antergos is arch, but super user friendly.. I was sick of ubuntu (crashed a lot for me) and antergos runs very smoothly, for added pleasure I recommend trying i3 window manager once you learn tiles you'll love it--esp. if you do any web development.


If you have a well supported wireless card, you can use wifi-menu (which uses a curses interface) and it should all just work (tm). It should also work when you're running from the USB installer.


Random advice from the internet.

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.


Actually, I might be able to use the ram from my "old" laptop, which has just died a week ago, so I think I'll give it at least a try. Thanks!


I'm going to throw an alternate thought out there just for you to chew on... try Slackware first. The common rhetoric is that Slackware is difficult to work with and not for the weak of heart.

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. :-)


I recommend you try Fedora.

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.


I second this. I've been running Fedora on my MacBook Air, and all my desktops for around a year with no problems, except the occasional wifi issue.


Firstly, what I use and where I'm coming from: I've distro hopped in VirtualBox (so I can experiment) for more than 5 years, trying out every distro I can find. I currently run Debian with i3 natively / on the host machine. It certainly classifies as "lightweight", running in not much more than 100MB of RAM. It's blazingly fast on my 32GB i7 desktop or my 10 year old laptop.

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...


I have been using Linux since 1999. I currently use Linux Mint on two different systems. If you go to https://www.linuxmint.com/download.php you can choose from the modern Cinnamon, Mate and KDE to the legacy supporting XFCE.

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.


NixOS is great for development, particularly C since C doesn't have a language-specific package manager / build system. http://nixos.org/

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/


Please don't use distrowatch as a metric, it is utterly useless as a general usage metric due to it considering only within itself and not as a general statistic.


Well, if you have a better one, I'm all ears. I guess google trends could work, but that shows Kali Linux as absurdly popular compared to everything else.


Get a few USB disks and try the most popular ones. Don't mess around with virtual machines, a USB disk costs less than 12$ these days. You can start a complete Linux system from USB.

If you need to work immediately: Manjaro XFCE, Ubuntu Mate, Fedora.

If you have a lot of time: Gentoo, Linux From Scratch, Arch, Slackware.


A small update on my current situation: I've successfully(?) installed arch, but I'm still setting everything up, but the internet is accessible without problems. I'm struggling with the video drivers, but that's mostly since I never had to install any on linux. I'm also learning a LOT.

At the same time I'm tempted to try out almost all distros mentioned here (even gentoo, to really get the hang of compiling and makefiles), but I'll probably try and set up Arch first, until I'm happy with it and then maybe mess around with other distros on another partition, or in a VM (but probably on another PC). Obviously armed with all the knowledge gained in the process.

Thank you all so much for your suggestions, and I hope I'll get around to trying them all one day :)

Until then, I'll continue configuring (and maybe borking) my Arch install and enjoy the discussion taking place here.

PS: The arch documentation is AMAZING.


If your aim is to learn C and if the computer already has Windows on it, you might consider installing a C compiler.


That's actually what I did on my previous PC, (with cygwin and mingw), but cross-compiling was kind of a pain in the ass, so I'm really looking forward to the native linux tools for handling that :)


Not even Python works well on Windows.

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.


My take on learning C is that you just need a C compiler and your programs are simple enough that you do not need anything from the system besides reading and writing file handles.


I use Arch but if you are starting out I would recommend Ubuntu. It's probably got the most youtube videos, online articles, troubleshooting questions online. This make things a bit easier. For example, you mention i3 - probably the best i3 tutorial on youtube is running ubuntu. -> https://www.youtube.com/watch?v=j1I63wGcvU4


I recently put a "lightweight Ubuntu-based Linux distro" on my gf's underpowered laptop. It really sucked. Hardware support was shot, software selection is limiting, and in general it's just not set up the way the rest of us expect. Get a standard distro, even if it might not be the ultra-fastest build out there. All the help forum search results you will find are based on the standard distros, and this will make it easier to fix problems and learn quickly.

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!


Everybody will present their favourite distribution as the "best", regardless of knowing nothing about your skill-set, or personal preferences.

Perhaps you like a GUI, perhaps you like to choose all your software.

I'd suggest instead that you pick whichever distribution you know "local" people are using. Nothing beats having somebody nearby to help/chat with, if you do have problems.


I find Alpine Linux to be very good on low-spec systems. The package manager is similar to Debian's. It has a very comprehensive packages collection. I mainly use it on low-spec servers so I don't install GUI - can't comment on how good they are. I prefer to use Ubuntu on my desktop - but that is pretty well spec'd out.


For development these days I use generic Debian stable install with guix package manager. You can install a dozen different versions of gcc if you want and isolate your project from the rest of the machine with guix environment https://lists.gnu.org/archive/html/guix-devel/2015-10/msg009...

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


Start with Ubuntu latest version, Ubuntu is easy to use and has large community to dig into in case of bugs


I don't know the specs of your laptop but if it will run Windows 10 then just install the Windows Subsystem for Linux then you can have bash, gcc, all the gnu tools, etc. right there without relying on Linux as your OS.


I would suggest Manjaro. It is based on Arch and has a GUI installer. My experience with Arch's package manager (pacman) has been far better that Ubuntu's.


Ubuntu.


I agree, simple safe choice. There a various lightweight versions if the base version doesn't work well on the machine.


And, annoyingly to those who prefer other distros, one major selling point for *ubuntu distros is that nearly every aspect of setup/configuration/adjustment is documented somewhere, be it a blog post, wiki, stack exchange, forum post, etc.

For 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!


Definitely agree! Ubuntu have tons of support all over internet. Virtually any problem has been already solved by someone on the internet which is incredible if you are beginner. As for lightweight version of Ubuntu I would recommend Ubuntu Mate.


Just my two cents, if you plan on employment in an enterprise setting I would go with Centos as that will get you used to working with RHEL which in my experience is the most commonly deployed distro in production environments. If it's for fun I would go with Fedora. Finally if you have a project in mind and your project needs compatibility with various hardware platforms I would go with vanilla Ubuntu.


I personally really like ubuntuGnome! http://ubuntugnome.org Ubuntu as always is really easy to use and has wide ranging support. All without that terrible unity front end. Mind you the next major release of Ubuntu will be use Gnome so this distro is mostly pointless now.


Ubuntu is good, just pick a flavor you like. I currently enjoy Ubuntu Budgie, which is a new official spin on Ubuntu. If you want something different that is truly worthwhile check out openSUSE, it has more packages than a lot of distros I've seen and they do a lot to contribute to other Linux distributions.


Try out Tiny Core Linux. You can run it on almost anything. It is crazy fast and can boot entirely to RAM. It isn't as full featured as other OSs but it can boot of pretty much anything including floppy disks. If you want something more full featured I would recommend Debian.


Since your intention is to learn the C language, I'd recommend Gentoo. Building is at the heart of the distro, so you'll be piggybacking learning how deploying and installing works, what are the challenges of bootstrapping, and compile flags as you go.


I found this site here[0], that should come in handy for testing different distros:

[0]http://livecdlist.com/


I would start with gentoo. This is a horrible, horrendous distro to actually work with (I will make a few friends here...) but there is nothing better to understand how Linux works.

You have to painfully install every bit of the system and you gain fantastic knowledge on the way.

Then, once it is installed, you can delete it and install something which works, namely Ubuntu (which is obviously the best system on earth). I do not know for desktops, I only use Linux on servers.

Source : I forced all my admins through that 15 to 20 years ago and that still talk to me.


Slackware is right up there with Gentoo.


I love Debian, it feels "natural" to me :)


Puppy Linux kicks ass at reviving old computers.


peppermint!


If you're not familiar with linux much, the best distros to start with are the ones with the largest communities. That means more support for edge-case stuff.

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).


Just an idea, install an 'easy' OS like Windows or Ubuntu. Then try out different distros in VMs. Once happy make the one your like your main PC distro, if you like.


Wouldn't running distros in VMs be difficult if the notebook has minimal RAM and a relatively slow CPU? AFAIK only paravirtualized kernels would run with acceptable performance and not all distros provide that option.


Xubuntu! I've tried many flavors of Ubuntu, and Xubuntu is my favorite.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: