this post was submitted on 23 Sep 2023
53 points (94.9% liked)

Linux

46794 readers
941 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I have made a decision to start a Linux server for some projects (files, media, etc.). However, I don't know what would be a good server for me to use. Is there any good choices for me to use? I use EndeavourOS for my laptop and my desktop, if that matters.

Server specs: 2GB RAM 240GB SSD

(This is my first server, hopefully I will be able to upgrade after some time)

all 49 comments
sorted by: hot top controversial new old
[–] [email protected] 43 points 11 months ago (1 children)

For servers stability is most important, so Debian.

[–] [email protected] 30 points 11 months ago* (last edited 11 months ago)

Can't go wrong with Debian on servers. Stable, secure and long term support. Very minimal install also.

Maybe also look into Alpine. It might be a bit lighter, if that's an issue.

[–] [email protected] 23 points 11 months ago

Debian, maybe?

[–] [email protected] 20 points 11 months ago* (last edited 11 months ago) (3 children)

You will need a pretty light distro since you only have 2GB of Ram. Normally I would recommend containerized workloads, but 2GB RAM are just a bit too small.

Your distro choice should also be made based on the frequency of maintainance and package availability.

In the server space you have some contenders.

Release based distros: Ubuntu is your beginner friendly go to recommended distro. Very well documented and with automatic security updates. In my opinion its okay but a tad bloated. Ubuntu has yearly release cycles but the LTS versions have longer support so you don't have to upgrade your whole distro. Ubuntu uses apt package management.

Debian would be the next normal choice. Also apt based with almost yearly releases. No bloat, but also no auto features. You are more on your own. Similar to Ubuntu.

Fedora server is also a more beginner friendly got it all distro with better modularity and very recent packaging. Fedora uses dnf. Be aware that fedora has tight release cycles on which you have to upgrade every time. Fedora has virtually only a small grace period between releases.

Centos/AlmaLinux/RockyLinux are all RedHat Linux clones without the enterprise support but with the same packages. Rock solid distro used in the enterprise server industry. Very well documented and known. Due to enterprise world also a bit outdated. But I found packages that are newer here than in the Debian repos. Those distros also use dnf/yum.

OpenSuse Leap is also a Good distro. I can't say much to it because I didn't use it so much. Opensuse is well known and has a good knowledge base. There is also opensuse Tumbleweed wich is a rolling release distribution.

Rolling releases: Rolling releases are distros wich don't have real release cycles but are more or less "rolling" no big upgrades needed but more of a once a mont maintenance type distro.

There is centos, archlinux, nixos, opensuse Leap and probably a lot more. Nixos is pretty special and I don't really recommend it so much for beginners.

Last category auto updating, immutable micro distros wich are mostly used for container hosts. This distros are made for only hosting containers. You have to take care of the right storage setup and be aware of all the special quirks it comes with. Best ones are Fedora CoreOS, Flarcar Linux and Opensuse MicroOS. Those are "low maintaince" but only if you really know what you are doing. Steep learning curve and non standard procedures.

Hope this helps a bit.

Feel free to correct me :)

[–] [email protected] 7 points 11 months ago (1 children)

Fedora has virtually only a small grace period between releases.

This part is inaccurate. Fedora releases every 6 months, like Ubuntu interim releases, but supports them for 18 months. Additionally, Fedora supports skipping a single release. So, for example, you could run Fedora 35, skip 36, and upgrade straight to 37. While not supported as long as the Ubuntu LTS, Fedora is supported for longer and more flexible than the Ubuntu interim releases.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago)

Yes that's correct. But I see 18 months maintaine windows for a complete distro upgrade is fairly often. Ubuntu Interim is in my opinion not really suited for server applications due to the small support windows.

Rocky Linux9 security EOL is in 8 years for the other end. In that context fedora is a lot more "short lived".

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago) (1 children)

"There is also opensuse Leap wich is a rolling release distribution."

Leap is not a rolling release. Tumbleweed is the rolling release.

[–] [email protected] 3 points 11 months ago

Thanks for pointing out, corrected it right away.

[–] [email protected] 2 points 11 months ago (1 children)

My server is 2 GB, and for self hosted stuff it's good enough. Granted, I use Gentoo, but I wouldn't expect debian would be much higher unless you're running something.

I run postgres and a file server on mine. I've previously ran NextCloud. It was a liiittle slow, but I think I was CPU bound (raspberry pi).

[–] [email protected] 2 points 11 months ago

Tbh all modern mainstream distros are lightweight I give you that. But there are always exceptions. Something like PopOS (I know not a server distro) can hog a lot of resources, so those are not suited.

[–] [email protected] 13 points 11 months ago

Ger more RAM if you can.

Use Debian. It's super stable and the deb format is the most popular.

Don't use Ubuntu because Snaps will eat all your space and RAM. Avoid like the plague!

[–] [email protected] 13 points 11 months ago

I think the key here is to favor stability than latest features as you don't want your server stopping due to bugs.

So the systems being recommended here, like Debian and Ubuntu LTS are good.

[–] [email protected] 11 points 11 months ago (1 children)

If you want remote desktop then it sounds like you want a desktop OS instead of a server OS. For servers you usually just SSH in without a graphical interface.

[–] [email protected] 8 points 11 months ago* (last edited 11 months ago)

Sorry, I meant remote desktop server software (like RustDesk's server).

[–] [email protected] 9 points 11 months ago

+1 for Debian

[–] [email protected] 9 points 11 months ago (1 children)

I use DietPi which is Debian with nice installers that set things up for you for a lot of things you would want in a server. You can run it on a ton of devices including an x86 desktop.

[–] [email protected] 2 points 11 months ago

@stellarforce @tester1121
Same here! I've been using DietPi for my server needs on a Raspberry Pi and it's been fantastic.

[–] [email protected] 8 points 11 months ago

I use Arch on my personal computers but on servers I usually opt for Debian unless I'm planning to run bleeding edge software.

[–] [email protected] 7 points 11 months ago (1 children)

files, media etc

Sounds like you're after a file/media server primarily? If so, you should check out TrueNAS. It's based on FreeBSD, which has lower resource usage and better networking performance compared to Linux, also, it has native support for ZFS, which is one of the best filesystems you can use for file storage.

[–] [email protected] 9 points 11 months ago (1 children)

although I wouldn't run TrueNAS in 2 GB of RAM

I generally spin up Debian on servers and VPS

[–] [email protected] 1 points 11 months ago (1 children)

Raw requirements scale with storage size, 2GB for a small SSD is plenty

[–] [email protected] 2 points 11 months ago (1 children)

TrueNAS Docs would disagree with you

[–] [email protected] 1 points 11 months ago

Link? I don't think I had a problem unless fucking around with deduping or too many services

[–] [email protected] 7 points 11 months ago

Slackware, Debian, NixOS/GUIX

[–] [email protected] 6 points 11 months ago

Unless you need some special "enterprise" functionality I think just about any can be an effective server.

[–] [email protected] 6 points 11 months ago

Nixos for everything 😹

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago)

There are advantages and disavantages for using rolling release or release based distros.

Generally speaking rolling release distros needs maintenance more often (such as running updates and stuff), however you may choose not update. Anyway, rolling release distros are more up-to-date with the packages, if you care about it.

Release based distros requires less maintenance, cause its base is more defined. The maintenance would be update once in a while for security patches. Despite this kind of server may be installed for years with low maintenance, for once in a while you'll be required to do a full update, changing the base.

I'm personally on the rolling release side. I run Arch Linux as a private VPN server in a old laptop. For once in a while I run pacman -Syyu (maybe once in a week) and that's the maintenance I do with no issues. Arch Wiki itself is hosted on a Arch Linux server as well.

Anyway, if you want a release based distro I recommend Rocky Linux or Fedora Server. If you like rolling releases more, I'll suggest Arch.

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago)

What's the goal? Reliable hosting or an educational experience for yourself? Do you want to specifically learn Linux or do you want to learn about reliable hosting?

For files/media/storage I personally use FreeBSD with ZFS storage for the server. I access my media from my Linux (pop os) devices using Jellyfin, samba, ssh/sftp, nfs, etc.

[–] [email protected] 5 points 11 months ago

Ubuntu has good documentation.

[–] [email protected] 4 points 11 months ago

Alpine stable

[–] [email protected] 4 points 11 months ago

Alpine Linux would be one of the lightest distributions to make the most of your hardware. I use it myself to host my docker services.

[–] [email protected] 4 points 11 months ago (1 children)

I have openSUSE MicroOS on my server as it comes with great (for me) defaults and has grrat SELinux base without much config.

[–] [email protected] 3 points 11 months ago

MicroOS has been great for me as well. Run essentially everything as a docker container, manage it using portainer, use caddy as the server/proxy, and everything is easy peasy now. It restarts every night for an update but you can adjust that if needed. Rock solid.

[–] [email protected] 3 points 11 months ago

I recommend Debian for a server, if you value stability and stuff just working. Plus, a lot a guides are written with Debian/*buntu in mind!

[–] [email protected] 3 points 11 months ago

The big choice here is: do you want rolling release or stable? Most servers are stable, but endeavour is rolling.

Stable release means your distro's repository's packages rarely change behavior. This is because they lock the versions and only bring in security updates. Pros: things will almost never change when you update, which means you won't have to be fixing things when updating (unless updating major version of your distro). Cons: you're stuck with frozen versions. Those can be years old sometimes. As long as you're okay with not using new versions of what you're using, you should be fine.

If you like stable, go with debian stable for 5 year release / update cycles, debian testing for 2 (or Ubuntu server), or the red hat one for 6 months (I forgot its name).

Rolling release means you have to update frequently and you always get the latest version, remaining very close to upstream. This is unpopular for servers as it means an update might bring changes you don't expect, and you might have to change a configuration or maybe even more. If you like this, OpenSUSE tumble weed is a good choice, or good old Arch.

You also have Gentoo and NixOS, but I don't know if you'll be wanting those.

[–] [email protected] 2 points 11 months ago (1 children)

Don't use arch, a lot of server software I use don't have arch builds so I had to use distrobox to get the software.

[–] [email protected] 2 points 11 months ago (1 children)

I just use docker/podman containers on my Arch Servers, not a single time I needed to rely on distrobox for anything

[–] [email protected] 1 points 11 months ago

Yeah, well distrobox is just a wrapper around podman. I prefer installing some server software outside of containers though. Interaction with distrobox is closer to the feeling of using software outside of a container. Dealing with docker networking and storage can be kind of a pain.