this post was submitted on 19 Apr 2025
289 points (99.0% liked)

Linux

53392 readers
618 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
 

One of the strongest points of Linux is the package management. In 2025, the world of Linux package management is very varied, with several options available, each with their advantages and trade-offs over the others.

top 50 comments
sorted by: hot top controversial new old
[–] haroldfinch@feddit.nl 13 points 1 day ago (1 children)

Nix (and more specifically, NixOS) made me switch to Linux as my daily driver.

I had been using Windows since 3.11 as my daily driver, MS DOS before that. This was for web browsing, gaming, and development. Linux was my sandbox on the side, and mostly server OS throughout the years.

Goes to show how powerful packagemanagers can be, it made me make the full switch after ~30 years. I love how my OS is now idempotent/declarative.

[–] Laser@feddit.org 8 points 1 day ago (1 children)

NixOS as the first Linux distro is an interesting choice, definitely not bad, but probably not what most people would go for

[–] haroldfinch@feddit.nl 4 points 1 day ago

Oh it certainly wasn't the first I have ever used.

Debian, Ubuntu, Kali, and more.

This is just the first one that has made me 'want to make the shift', so to speak.

I specialize professionally in hyper automation of all sorts of things. Long time user of PowerShell, custom built C++/C#/Java backend services. More recently also utilizing Python and Rust.

The declarative nature of NixOS (incl. Flakes, idempotent ❤️) is what I love about it. Although I am well aware it can be quite daunting for those that prefer imperative scripting, or even ClickOps.

Ehhhh I disagree that package managers handle cleanup correctly, I've certainly had tons of dotfiles left in ~/ mucking things up when reinstalling apps, even those that have been purged by package managers.

The package manager, much like the windows installer/uninstaller, relies on the developer to be responsible in declaring how the package is meant to be managed. If users have manual steps at installation, they will have manual steps at uninstallation as well.

[–] phoenixz@lemmy.ca 19 points 1 day ago (3 children)

Wow, something positive about Linux package managers?

I've been hearing nothing but bitching and moaning for the past 10 years for no reason, to the point where I'm suspecting that this is Microsoft sponsoring a bunch of assholes to keep posting negative things about Linux.

Package managers are awesome and always have been afaiac.

[–] caseyweederman@lemmy.ca 3 points 1 day ago (1 children)

Package managers are great.
You've been hearing about Snaps specifically.

[–] phoenixz@lemmy.ca 2 points 21 hours ago

Oh no, snaps are the worst.

I'm talking apt and RPM, specifically

[–] OmegaLemmy@discuss.online 2 points 1 day ago

These package managers are essentially the utopic vision of what apple and Microsoft wishes it could be

[–] vga@sopuli.xyz 1 points 1 day ago

Perhaps the message is changing now, after they have kind of caught up finally. How long did it take, 20 years?

[–] LeFantome@programming.dev 37 points 2 days ago (2 children)

Flatpak is literally installing a second Linux distribution on your machine, just without a kernel. All the dependencies right down to the C library are installed in the Flatpak environment. This why you can run a Glibc Flatpak on a musl distro.

Microsoft could support Flatpak “natively” on Windows. It could use the same kernel and GUI glue that WSL uses but you have no need of specifying a distro or getting to the command-line. The experience could just be that you go into Flathub, install and remove apps, and everything would just work.

Apple could do the same with macOS.

If they did that, Flatpak could be a universal app distribution method on all three systems. Devs would only have to create and maintain a single version if they wanted.

Microsoft will not do that of course. If it really was a brainlessly simple alternative application store, they could OS/2 themselves and loose control of the platform.

Too bad though. It would be cool. No reason it could not be done independent of Microsoft of course but it would never be as popular if it was not built in.

[–] prole@lemmy.blahaj.zone 5 points 1 day ago

Flatpak is literally installing a second Linux distribution on your machine, just without a kernel

This also makes them pretty big and they start to add up quick...

[–] dkc@lemmy.world 22 points 2 days ago (2 children)

In 2025, the package manager and frequency of updates are the only real differences between most distributions. I’ve been enjoying Flatpak for years now and hope it continues to build momentum. It offers the possibility of shared effort between distributions who depend on legions of volunteers constantly updating debs/rpms/whatever.

It feels like one of the last hurdles to eliminate so much of the duplicated effort associated with all these distributions.

[–] TerHu@lemm.ee 2 points 1 day ago* (last edited 1 day ago)

i very much agree for graphical programs, though i feel like cli tools should partially be an exception. i don’t really want my tmux to be a flatpak i think 😅

[–] wolf@lemmy.zip 3 points 2 days ago
[–] LordKitsuna@lemmy.world 44 points 3 days ago (12 children)

pacman is the best and I'll stubbornly refuse to entertain any other opinion. It's in my experience the least likely to just randomly rip the system to shreds. I don't know if it has more through prechecks or what bit I've had debian and Fedora (apt and dnf) rip the system asunder trying to jump multiple major versions in an update of a system that hadn't been online in a long time.

I don't care if jumping multiple releases at once "isn't supported" it shouldn't be that frail and arch will happily update something many years behind as long as you update the keyring.

Even in the event your system somehow does get hosed you can fix almost everything by just chrooting in, grabbing the static pacman binary, and running "pacman -Qqn | pacman -S -" I've recovered systems that had the entire /bin wiped (lol oops moment with a script) and as far as i know apt and dnf have no equivalent easy redo all.

[–] Max_P@lemmy.max-p.me 25 points 2 days ago (1 children)

Pacman just does a lot less work than apt, which keeps things simpler and more straightforward.

Pacman is as close as it gets to just untar'ing the package to your system. It does have some install scripts but they do the bare minimum needed.

Comparatively, Debian does a whole lot more under the hood. It's got a whole configuration management thing that generates config files and stuff, which is all stuff that can go wrong especially if you overwrote it. Debian just assumes apt can log into your MySQL database for example, to update your tables after updating MySQL. If any of it goes wrong, the package is considered to have failed to install and you get stuck in a weird dependency hell. Pacman does nothing and assumes nothing, its only job is to put the files in the right place. If you want it to start, you start it. If you want to run post-upgrade, you got to do it yourself.

Thus you can yank an Arch system 5 years into the future and if your configs are still valid or default, it just works. It's technically doable with apt too but just so much more fragile. My Debian updates always fail because NGINX isn't happy, Apache isn't happy, MySQL isn't happy, and that just results in apt getting real unhappy and stuck. And AFAIK there's no easy way to gaslight it into thinking the package installed fine either.

[–] Aatube@kbin.melroy.org 13 points 2 days ago (1 children)

If you want to run post-upgrade, you got to do it yourself.

That’s just wrong. Pacman has hooks, and easy hooks are one of the reasons Pacman is loved. In a normal weekly upgrade I see Pacman run over 30 hooks. I do not think simply not updating user-modified config files is just the bare minimum needed.

I think this boils down to Arch’s philosophy: the users should know their system, and when something could break things, don’t assume things and do it automatically; have the user do it instead. Thus when shipping config updates to a user who had already changed their config, Arch does not overwrite the configs and instead ships the updated vanilla config with a .pacnew suffix. The user is expected to review such pacnews, a process that’s just like normal git merge conflicts when you use the pacdiff tool.

[–] Max_P@lemmy.max-p.me 8 points 2 days ago* (last edited 2 days ago)

In that specific context I was still thinking about how you need to run mysql_upgrade after an update, not the regular post upgrade scripts. And Arch does keep those relatively simple. As I said, Arch won't restart your database for you, and also won't run mysql_upgrade because it also doesn't preconfigure a user for itself to do that. And it also doesn't initialize /var/lib/mysql for you either upon installation. Arch only does maintenance tasks like rebuild your font cache, create system users, reload systemd. And if those scripts fail, it just moves on, it's your job to read the log and fix it. It doesn't fail the package installation, it just tells you to go figure it out yourself.

Debian distros will bounce your database and run the upgrade script for you, and if you use unattended upgrades it'll even randomly bounce in the middle of the night because it pull a critical security update that probably don't apply to you anyway. It'll bail out mid dist-upgrade and leave you completely fucked, because it couldn't restart a fucking database. It's infuriating, I've even managed to get apt to be incapable of deleting a package (or reinstalling it)/because it wanted to run a pre-remove script that I had corrupted in a crash. Apt completely hosed, dpkg completely hosed, it was a pain in the ass.

With the Arch philosophy I still need to fix my database, but at least the rest of my system gets updated perfectly and I can still use pacman to install the tools I need to fix the damn database. I have all those issues with Debian because apt tries to do way too fucking much for its own good.

The Arch philosophy works. I can have that automated, if I asked for it and set up a hook for it.

[–] IsoKiero@sopuli.xyz 13 points 2 days ago (2 children)

I have absolutely zero experience on pacman, but I could argue the very same with dpkg/apt with the same arguments. The Debian kind, not the abomination Ubuntu ships with today.

as far as i know apt and dnf have no equivalent easy redo all

It's similarily possible (dpkg --get-selections, some sed/cut/awk wizardry to cut unnecessary stuff from the output, xargs to apt install --reinstall on that and you should be good to go, maybe there's even a simpler way to achieve that) with Debian.

But that's just me. I've been with Debian for quite a while. Potato was released 2000, but I think I got my hands on it 2001/2002 and I've been a happy user since. And even if I've worked with pretty much any major distribution (RHEL, CentOS, SuSe, Ubuntu and even Slackware back in the day) around I still prefer Debian because that's what I know and learned over the years on how to fix things if something goes sideways.

load more comments (2 replies)
[–] msage@programming.dev 2 points 2 days ago (1 children)
[–] matcha_addict@lemy.lol 2 points 1 day ago

Anyone looking for the best package manager needs to look only at portage/emerge and nix

load more comments (9 replies)
[–] GalacticGrapefruit@lemmy.world 34 points 2 days ago (6 children)

Don't mind me, being a casual user since 2014 taking down notes as I'm reading the debates in the comments.

But I finally found out why Steam kept crashing. Snap broke it. I forced it to run as a flatpak, and now it works exactly as intended. Literally what made me finally switch from Ubuntu to Mint.

load more comments (6 replies)
[–] tryagain@lemmy.ml 28 points 2 days ago
[–] lord_ryvan@ttrpg.network 4 points 2 days ago

I'm just happy my boi nix got a shoutout.

I love having a packages file and a lock file, both user-specific rather than system-wide, offering reproducibility, stability and a good, central place where I can see what I did to debug.

[–] pineapple@lemmy.ml 11 points 2 days ago (1 children)

Thanks for posting that was really informative i was always intending on learning more about package managers at some point. What I wonder is when you want a package and it's available as both a dnf package and a flatpack which one should you chose?

[–] MonkderVierte@lemmy.ml 6 points 2 days ago* (last edited 2 days ago) (2 children)

Native then Appimage then Flatpak. Security is the same in the end, but in Flatpak with extra steps, while Flatpak has a huge framework that can fail too.

[–] pineapple@lemmy.ml 3 points 2 days ago (1 children)

Appimmages seam a lot like reverting to the old way of downloading packages like the installers you see in Windows and macos are appimages somehow better or different?

[–] MonkderVierte@lemmy.ml 3 points 1 day ago (1 children)

I would rather compare appimage to PortableApps, except it bundles dependencies too.

[–] pineapple@lemmy.ml 2 points 10 hours ago

OK that makes sense, thanks.

[–] BaconIsAVeg@lemmy.ml 1 points 1 day ago (2 children)

Native, Containers, Appimages. Flatpak not in a million years.

I really don't know how to feel about all the Mint/flatpak supporters. It feels like a swarm of Windows refugees that have no interest in learning about the existing culture.

Flatpaks, Gnome, KDE, they're all just bloat. Back in the 90's, Unix/BSD/Linux were everything that Windows wasn't. Fast, stable, infinitely flexible. I cherished grepping for Exim config settings in /etc rather than searching through 250 management console tabs for MS Exchange.

I run Arch and nearly everything I need is available as a package or in the AUR, except for the real niche apps that I can grab via cargo/pip/npm/podman. Occasionally however I find some app I'm interested in and they only support Ubuntu or Flatpak, and I feel like it's getting worse so it's not like I can just ignore it.

[–] cyphear@lemm.ee 7 points 1 day ago (1 children)

Ah, typical Arch user response. "Everything is bloat. Stop having fun." If it works for somebody else, let them. I get where you're coming from, needlessly adding things because you can, leads to enshittification. But, trying new ways of doing things is the whole point. If it works and the majority of people use it then it succeeded. Bloat or not, if it gets new users to switch then it's a net positive. Plus, Gentoo>Arch. If you don't use custom flags and debloat the kernel you're argument is invalid.

[–] BaconIsAVeg@lemmy.ml 2 points 1 day ago* (last edited 1 day ago) (1 children)

If it works for somebody else, let them.

If it was just another method of distribution I wouldn't care. When it becomes the only or preferred method, then I care.

If market share is your only metric for success, then I don't know what to say. Look at the amount of threads/people stating "this basic thing didn't work so it had to be the distros, switching distros solved my problem rather than trying to diagnose it". Your idea of a "net positive" is a group of computer-illiterate Windows users who are now computer-illiterate Linux users, congratulations.

And Gentoo? I remember drobbins from when we were on the Stampede Linux team and he was a dick then, apparently he still is. I wouldn't touch Gentoo with a 10 foot pole.

[–] cyphear@lemm.ee 3 points 1 day ago

There are different types of users. Those who want something to work out of the box and those who like to put in the work to make the os into something personal. Usually, at least with the people I've come across, if you give them something the "works" but if they can tinker and make it better they'd learn. Now, not everybody is like that. Some just want to browse the Internet and play games. Flatpak, while not perfect, is a solution to a problem. Not everybody wants to adjust config files and/or configure wine bottles for every game.

As for your comment about drobbins... I can't argue. The greatest thing about Linux is the freedom to use what ever distro works for your needs. If switching from one because it doesn't do what you want, by all means, switch. But, if you are more computer literate and like to learn about how the os actually works; it doesn't matter which distro, you can figure out how to fix the problem and contribute to the community so others can fix it too.

[–] vga@sopuli.xyz 2 points 1 day ago* (last edited 1 day ago)

I've been using Linux (also Arch, several years, happily!) since 1996 and for a long time I've wondered why every software I run gets access to every file I have.

Flatpak is one way to fix that.

is available as a package or in the AUR

Oh okay, I see. You don't perhaps care about programs reading the files of other programs. Well, that's fine, everybody has their own threat models.

[–] vermaterc@lemmy.ml 20 points 3 days ago* (last edited 3 days ago) (1 children)

Pretty good article, went into some technical stuff, which surprised me as in Linux world I'm used to articles discussing changes in wallpapers between different distro releases :D

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