this post was submitted on 16 Aug 2024
39 points (100.0% liked)

Linux

48395 readers
795 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've only ever used desktop Linux and don't have server admin experience (unless you count hosting Minecraft servers on my personal machine lol). Currently using Artix and Void for my desktop computers as I've grown fond of runit.

I'm going to get a VPS for some personal projects and am at the point of deciding what distro I want to use. While I imagine that systemd is generally the best for servers due to the far more widespread support (therefore it's better for the stability needs of a server), I have a somewhat high threat model compared to most people so I was wondering if maybe I should use something like runit instead which is much smaller and less vulnerable. Security needs are also the reason why I'm leaning away from using something like Debian, because how outdated the packages are would likely leave me open to vulnerabilities. Correct me if I'm misunderstanding any of that though.

Other than that I'm not sure what considerations there are to make for my server distro. Maybe a more mainstream distro would be more likely to have the software in its repos that I need to host my various projects. On the other hand, I don't have any experience with, say, Fedora, and it'd probably be a lot easier for me to stick to something I know.

In terms of what I want to do with the VPS, it'll be more general-purpose and hosting a few different projects. Currently thinking of hosting a Matrix instance, a Mastodon instance, a NextCloud instance, an SMTP server, and a light website, but I'm sure I'll want to stick more miscellaneous stuff on there too.

So what distro do you use for your server hosting? What things should I consider when picking a distro?

top 50 comments
sorted by: hot top controversial new old
[–] bjoern_tantau@swg-empire.de 20 points 3 months ago (1 children)

I love Debian for servers. Super stable. No surprises. It just works. And millions of other people use it as well in case I need to look something up.

And even when I'm lazy and don't update to the latest release oldstable will be supported for years and years.

[–] mdione@en.osm.town 6 points 3 months ago

@bjoern_tantau @communism That 'support for years and years' means security support. So even if the nominal versions stay stable, security fixes are backported. Security scans that only check versions usually give false positives: they think fixes in newer versions are not present when in fact they are.

Many others distros do exactly the same. I only chose Debian because the amount of software already packaged in the distro itself is bigger than any other, barring 3rd party repos.

[–] selokichtli@lemmy.ml 17 points 3 months ago

Debian. This is the way (for servers).

[–] daniskarma@lemmy.dbzer0.com 16 points 3 months ago (1 children)

Debian has been rock solid for me.

It's not insecure. Quite the contrary debian repositories only include packages that has been through extensive testing and had been found secure and stable. And of course it regularly introduce security updates.

[–] corsicanguppy@lemmy.ca 5 points 3 months ago

It’s not insecure.

There's the inconvenient truth: it's easiest to secure an OS, say for enterprise life, the farther you are from the bleeding edge: churn is lower, the targets move dramatically slower, and testing an install set (as a set) is markedly easier. It's why enterprise linux distros are ALL version-branched at a given version, and only port security fixes in: if you need to change a package and start the extensive testing, keep it to security fixes and similarly drastic reasons.

So most ent-like distros aren't insecure; not at all. Security is the goal and the reason they endure wave after yearly wave of people not understanding why they don't surf that bleeding edge. They don't get it.

Enterprise distros also offer a really stable platform to release stuff on; that was a mantra the sales team used for Open that we'd stress in ISV Engineering too, as we dealt with companies and people porting onto Open. But ISVs had their own inexperienced types for whom the idea of a stable platform that guaranteed a long life to their product with guaranteed compatibility wasn't as valuable as "ooh shiny". But that was the indirect benefit: market your Sybase or ProgressDb on the brand new release and once it's working you don't have to care about library rug-pulls or similar surprises for a fucking decade (or half that as you start the next wave onto the next distro release). And 5 years is a much better cadence than 'every week'.

So while it's easy to secure and support something that never moves, that's also not feasible: you have to march forward. So ent distros stay a little back from the bleeding edge, market 'RHL7' or 'OL31' as a stable LTS distro, and try to get people onto it so they have a better time of it.

Just, now devs have to cope with libs and tools that are, on average, 5 years stale. For some, that's not acceptable. And that's always the challenge.

[–] ikidd@lemmy.world 15 points 3 months ago (1 children)

Always, always, always: Debian. It's not even a debate. Ubuntu is a mess for using as a server with their snaps bullshit. Leave that trash on the desktop, it's a mess on a server.

[–] beeng@discuss.tchncs.de 3 points 3 months ago (4 children)

Snaps are meant for server applications but yeah

[–] ikidd@lemmy.world 5 points 3 months ago

I tried them by standing up a snap based docker server and it was a nightmare. Never again.

load more comments (3 replies)
[–] 2xsaiko@discuss.tchncs.de 14 points 3 months ago (1 children)

I run NixOS. It (or something like it, with a central declarative configuration for basically everything on the system) is imo the ideal server distro.

[–] gomp@lemmy.ml 7 points 3 months ago (1 children)

I think I can sense your love/hate relationship with nixos from here :) you are not alone

[–] 2xsaiko@discuss.tchncs.de 3 points 3 months ago

Very true haha. NixOS is great and the best I've got right now but I would lie if I said it has never been painful.

Especially for desktop use I want to build my own distro which takes a lot from NixOS, mostly in terms of the central configuration but not much else (I definitely want a more sane package installation situation where you don't need stuff like wrapper scripts which are incredibly awful imo), but also other distros, and also with some unconventional things (such as building it around GNUstep). But who knows if that ever gets off the ground, I have way too many projects with enormous scale...

[–] mypasswordis1234@lemmy.world 14 points 3 months ago
[–] TheBigBrother@lemmy.world 13 points 3 months ago (1 children)
[–] ouch@lemmy.world 4 points 3 months ago (4 children)

This is the way.

Add unattended-upgrades, and never worry about security updates.

load more comments (4 replies)
[–] Revan343@lemmy.ca 10 points 3 months ago

Always Debian. I'm most comfortable in an environment with apt, and that's even more important on a server

[–] savvywolf@pawb.social 9 points 3 months ago

I switched mine to NixOS a while ago. It's got a steep learning curve, but it's really nice having the entire server config exist in a handful of files.

[–] ginza@lemmy.ml 8 points 3 months ago

My server is running headless Debian. I run what I can in a Docker container. My experience has been rock solid.

From what I understand Debian isn't less secure due to the late updates. If anything it's the opposite.

[–] phoenixz@lemmy.ca 7 points 3 months ago

Debian and Ubuntu server which, barring some differences in versions, are basically the same thing

They're both awesome

[–] danielquinn@lemmy.ca 7 points 3 months ago (2 children)

Debian, with a Kubernetes cluster on top running a bunch of Debian & Alpine containers. Never ever Ubuntu.

[–] TDK3D@discuss.tchncs.de 2 points 3 months ago (3 children)

Never ever Ubuntu

Why's that?

[–] danielquinn@lemmy.ca 10 points 3 months ago (1 children)

Because Ubuntu is the worst of both worlds. Its packages are both old and unstable, offering zero benefit over always-up-to-date distros like Arch or the standard Debian.

Especially when you're running a containerised environment, there's just no reason to opt for anything other than a stable, boring base OS while your containers can be as bleeding edge, crazy, or even Ubuntu-based as you like.

load more comments (1 replies)
[–] pupbiru@aussie.zone 4 points 3 months ago

it’s just less reliable, more corporate, more bloated debian

… so why would you?

load more comments (1 replies)
load more comments (1 replies)
[–] ampersandcastles@lemmy.ml 7 points 3 months ago

Proxmox so I can run a bunch of other distros.

[–] Estebiu@lemmy.dbzer0.com 5 points 3 months ago

I've been running arch for like 3 years now. Why arch? Because it just works (and its the only one i have esperience with). Maybe ill try nixos one day.

[–] thedeadwalking4242@lemmy.world 5 points 3 months ago

I use nixos, due to the incredible state management. You know exactly what versions of packages are on your machine, can build all packages from source yourself or download from a binary cache. 100% reproducible. Steep ass learning curve but tbh it's well worth it. Saves you configuration time and energy in the long run. I've stopped distro hopping the implementation is so good. If you are concerned about security you can definitely harden it. There's a lot more to security then package version. And even then nixos gives you the choice.

[–] asap@lemmy.world 5 points 3 months ago* (last edited 3 months ago) (5 children)

uCore spin of Fedora CoreOS:

https://github.com/ublue-os/ucore

  • SELinux
  • Supports secure boot
  • Immutable root partition (can't be tampered with)
  • Rootless Podman (significantly more secure than Docker)
  • Everything runs in containers
  • Smart and secure opinionated defaults
  • Fedora base is very up-to-date, compared to something like Debian
load more comments (5 replies)
[–] secret300@lemmy.sdf.org 5 points 3 months ago

I just use debian cause it's rock solid and most of what I set up are in containers or VM'S anyways

[–] Olap@lemmy.world 4 points 3 months ago

openSUSE worth a consideration. More frequent releases than debian, but still pretty conservative

[–] Andromxda@lemmy.dbzer0.com 4 points 3 months ago

Debian if you are new to Linux servers and self-hosting. Alpine if you get more advanced and just want something very light-weight and minimal.

[–] Wolfram@lemmy.world 4 points 3 months ago (2 children)

I use Alpine Linux. It's exceptionally stable, great for pretty much any device and is best for small VPS with limited space/ram. Nice package manager too, but it is limited in packages.

It works great for me since I only use docker containers, but some things outside docker may require something like Debian instead.

load more comments (2 replies)
[–] wolfie@lemmy.zip 4 points 3 months ago

Personally, I use Rocky Linux on my servers. It’s stable, and has plenty of support since it’s RHEL-based. It’s supported until 2030 or so, and it doesn’t have any of the cloud-init or netplan stuff that Ubuntu Server has.

It’s also pretty simple to set up docker/podman containers, although you need the EPEL for podman-compose and for a lot of other packages, but once you get your setup the way you like it, it just keeps running and running.

[–] itslilith@lemmy.blahaj.zone 4 points 3 months ago

NixOS for my homelab that I like to tinker with, Debian as Docker host for the server people actually rely on

[–] LeFantome@programming.dev 3 points 3 months ago

I mostly use Proxmox these days which runs on Debian be default.

[–] Johnny123123@lemmy.ml 3 points 3 months ago

You don’t wanna use rolling release distros trust me, the whole point of server is automation and less maintenance. I got couple personal servers running, after things i need got setup and all of them running at a decent capacity, i just turn them on and never worry about them. Old package and software doesn’t necessarily mean less security, quite opposite actually, i suggest you take a look at how stable distros distribute their software, such as Debian. For a Debian package becomes stable, it has to go through several stages, experimental, unstable, testing, and finally stable, that’s why their packages are old, and because they are old, they are secure. It might be quite opposite than what you expect.

Mostly i use Debian for my personal servers, some of them are stable and some of them are testing, because of Podman’s new feature Quadlet. Honestly many features of Debian feel really old, like APT’s source list, preferences, and the way to deal with unattended upgrades. It’s kinda hard to get it at first and it’s easy to shoot yourself in the foot, especially many people tend to unintentionally mix and match packages from different suites for new software. But once you get comfortable with it things just work.

As my experience, no matter what distros i use, the worst distros are always those that i don’t understand and in a hurry to put them into production. Just pick one popular server distro and learn the ecosystem, you will find out what distros you like really soon.

[–] hagarashi8@allthingstech.social 3 points 3 months ago

@communism Debian is an easy pick, but sometimes I can do alpine. Generally, it's all in containers anyway, so doesn't really matters.

[–] pastermil@sh.itjust.works 3 points 3 months ago

Debian!

I've heard good things about Alma Linux.

Also, Ubuntu's not that bad. You'd see this a lot in corporate settings.

[–] kuneho@lemmy.world 3 points 3 months ago* (last edited 3 months ago) (2 children)

I used to use Ubuntu, but nowadays I just go with Debian for servers (as well), but you said you wish to choose something else, so I can't give you any meaningful inputs...

I don't know how real the outdated packages threat, but I would assume, a server never really wants the bleeding edge software and Debian usually gets the critical security updates and patches.

But I'm no expert.

It is true that Bookworm is kinda old now, though.

load more comments (2 replies)
[–] traches@sh.itjust.works 3 points 3 months ago* (last edited 3 months ago) (2 children)

It’s not conventional wisdom, but I’m happiest with arch.

  • I’m familiar with it
  • can install basically any package without difficulty
  • also love that I never have a gigantic version upgrade to deal with. sure there might be some breaking change out of nowhere, but it’ll show up in my rss feeds and it hits all my computers at the same time so it’s not hard to deal with.
  • Arch never really surprises me because there’s nothing installed that didn’t choose to put there.
  • arch wiki

Tempted by nixos but I CBA to learn it.

[–] pupbiru@aussie.zone 3 points 3 months ago* (last edited 3 months ago) (9 children)

arch is great if you don’t really care about your server being reliable (eg home lab) but their ethos isn’t really great for a server that has to be reliable… the constant update churn causes issues a lot more than i’d personally like for a server environment

load more comments (9 replies)
[–] k4j8@lemmy.world 3 points 3 months ago (1 children)

I agree and use Arch as well, but of course I wouldn't recommend it for everyone. For me, having the same distribution on both server and desktop makes it easier to maintain. I run almost everything using containers on the server and install minimal packages, minimizing my upgrade risk. I haven't had an issue yet, but if I did I have btrfs snapshots and backups to resolve.

load more comments (1 replies)
[–] Asudox@lemmy.world 3 points 3 months ago* (last edited 3 months ago) (2 children)

Ubuntu server, though I am thinking of using arch even though it is a rolling distro. It doesn't really matter. As long as docker is supported, I am fine using any.

[–] steeznson@lemmy.world 3 points 3 months ago

I wouldn't personally use Arch on a server. The rolling release could cause a lot of problems, especially since you lack the ability to seamlessly integrate older versions of packages like with gentoo masking.

[–] djsaskdja@reddthat.com 2 points 3 months ago (3 children)

Do you have a plan on how you’d do version controlling on Arch? It’d be annoying to upgrade, something breaks, and you can’t easily roll back.

load more comments (3 replies)
[–] bl_r@lemmy.dbzer0.com 2 points 3 months ago

I have tons of experience with enterprise linux, so I tend to use Rocky linux. It’s similar to my Fedora daily driver, which is nice, and very close to the RHEL and Centos systems I used to own.

You are slightly mistaken with your assumption that debian is insecure because of the old packages. Old packages are fine, and not inherently insecure because of its age. I only become concerned about the security implications of a package if it is dual use/LOLBin, known to be vulnerable, or has been out of support for some time. The older packages Debian uses, at least things related to infrastructure and hosting, are the patched LTS release of a project.

My big concerns for picking a distro for hosting services would be reliability, level of support, and familiarity.

A more reliable distro is less likely to crash or break itself. Enterprise linux and Debian come to mind with this regard.

A distro that is well supported will mean quick access to security patches, updates, and more stable updates. It will have good, accurate documentation, and hopefully some good guides. Enterprise linux, Debian and Ubuntu have excellent support. Enterprise linux distros have incredible documentation, and often are similar enough that documentation for a different branch will work fine. Heck, I usually use rhel docs when troubleshooting my fedora install since it is close enough to get me to a point where the application docs will guide me through.

Familiarity is self explanatory. But it is important because you are more likely to accidentally compromise security in an unfamiliar environment, and it’s the driving force behind me sticking with enterprise linux over Nixos or a hardened OpenBSD.

As a fair word of warning, enterprise linux will be pretty different compared to any desktop distro, even fedora. It takes quite a bit of learning, to get comfortable (especially with SELinux), but once you do, things will go smoothly. ~~you can also use a pirated rhel certification guide to learn enterprise linux~~

If anything, you can simply mess around in a local VM and try installing the tools and services needed before taking it to the cloud.

[–] data1701d@startrek.website 2 points 3 months ago

Debian backports security updates to most software, including popular server software. Stable also always uses an LTS kernel, which stays supported upstream. So long as you’re using latest Debian Stable (Bookworm as of this writing), run apt update often (in fact, ‘’’unattended-upgrades’’’ is probably not the worst idea in this case) and do common sense security practices like a firewall and (brain is not working), you should be good.

In brief, it’s totally fine to use Debian and in fact one of the best options in my opinion.

[–] robinj1995@feddit.nl 2 points 3 months ago (2 children)

CentOS Stream 8. Which I regret. Because they ended support without upgrade path.

load more comments (2 replies)
[–] Nomecks@lemmy.ca 2 points 3 months ago (1 children)

Red Hat, because it's free for developers and used by a lot of enterprises.

[–] corsicanguppy@lemmy.ca 3 points 3 months ago (1 children)

Red Hat, because it’s free for developers

Not really.

and used by a lot of enterprises.

Not really. We're moving to a surprising alternative, but the source for a paid enterprise Linux is drifting away collectively from RedHat. It started with 7 - ironically people choosing a 7 equivalent from a clone, like a paid centos almost, just because they were so pissed at the quality free-fall that began with 7. In short, paying a competitor for their clone of a bad release because they're so pissed at RedHat for making that release. Really weird.

Now that RH is starting to wobble and falter, these also-rans are trying to get into the lead as flagship. If RH post-Lennart can't get its quality back up to EL6 level, the cracks will get noticeable. As they keep on pitching every product under the sun except linux, we worry their focus won't get back to it in time and they'll lose the flag - if not already - to someone else.

It's not SuSE. That combination of Slackware and (I wanna say SLS) is an experience, but not a joy. It seems like a good idea, but their culture is still weird for the west.

load more comments (1 replies)
load more comments
view more: next ›