Hacker News new | past | comments | ask | show | jobs | submit login
Debian is the greatest Linux distro of them all (lunduke.locals.com)
69 points by chungy 7 months ago | hide | past | favorite | 66 comments



Debian is by far my favorite linux distribution, but it's not without its faults.

Debian tends to soft- and hard-hijack package names. Normally, having a maintainer between upstream and users is a good thing. What's not a good thing is them misrepresenting modified upstream software to users. This can mislead users (See ffmpeg, keepassxc). Fortunately, the mozilla approach of using trademark law to stop others from misrepresenting software is effective here.

Debian also doesn't offer a clear lifecycle schedule like ubuntu and other enterprisy distros. This makes it hard to plan ahead long term and forces admins to manually check support status.


> This makes it hard to plan ahead

Debian stable is released roughly every 2 years. Once a release becomes oldstable, it gets LTS [0] support for at least 5 years, and Extended LTS [1] for another 5.

I think Debian is one of the easiest distros to plan ahead for.

[0] https://wiki.debian.org/LTS [1] https://wiki.debian.org/LTS/Extended


Just an FYI for those reading. I had no idea what the keepassxc thing is about - apparently the debian version doesn't have a bunch of functionality that the original version has, and this was the maintainer's decision.

https://fosstodon.org/@keepassxc/112417353193348720


I can't take anyone seriously who tries to frame the keepassxc packaging correction as "hijacking".


Yes yes yes.

I bought a laptop in a pawnshop about five months ago, and I tried Linux Mint, Ubuntu fedora, Manjaro, and another arch distribution I can’t remember, and they were all just a big clunky pain in the butt.

And then there was Debian. It’s been running flawlessly for four months. All function over flash. I don’t need to worry about snap or flatpak or configurations that caused me to have to search the Internet for hours.

Love it.


I love Debian too, but what you described was demonstrably false back when they didn’t include non-free firmware on the installation media. Honestly I think this might be one of the reasons Ubuntu got popular back in the day to begin with, because it was Debian that “just worked”. These days I’m finding it very hard to come up with legitimate reasons to run Ubuntu over Debian.


> I think this might be one of the reasons Ubuntu got popular back in the day

That's absolutely one of the big reasons. I've been a Debian user since slink/potato.

When Ubuntu first came out, it was still heavily Debian rebranded, with some newer packages, and better out-of-the-box driver support. I would some times choose it over Debian because of that. In time, Debian became more compatible and Ubuntu drifted out into what feels like VC-led product development.

It's kind of sad how these days a lot of people default to Ubuntu even though Debian would likely serve them better.


Actually, with the laptop I bought the new installerwas actually kind of more of a pain in the butt. For some reason I could load the live CD fine but if I tried to do a network install I could not get the firmware to load it all. Even on an external USB.


> I think that Debian is the last step in the Linux user lifecycle, and that once a user comes to it at the right time, and for the right reasons, it will be their Linux home thereafter.

No that's FreeBSD.

RPM hell drove me from RH to FreeBSD in 1999 and I only go back when forced.

If it hadn't been for all the copyright nonsense there would never have been a need for Linux.

Debian is fine if Linux is the only option but better in a bhyve VM or linuxemu jail.


Hello, BSD fellow! I have fond memories of it from 4.11 to 7 eras. Sadly desktop never really happened to unixlikes to the extent I could be satisfied with, and vps options were limited to ubuntu and few others, so I had to move on. But FreeBSD was a greater experience nonetheless.


Very fond memories of those days for sure. In my job back then I was a C developer working on IRIX day to day. I had heard about FreeBSD so bought a walnut creek book with a FreeBSD 3.4 CD and started from there. I still have the book but the CD is long gone.

The FreeBSD aesthetic, documentation, code base, are so clean and well written, and most important -- the adherence to the principle of least surprise, particularly across releases. This is a complaint I have with many Linux distros.


The one piece missing for a FreeBSD user is how this article points out that Debian can easily run commercial software distributed with .deb files.

FreeBSD has the major disadvantage of being even more niche than Linux. Debian doesn’t have that problem because it’s so similar to the most mainstream flavors of open source operating systems.


And as you may know, FreeBSD is not a Linux distro.


Sure but I think the underlying point about it being an evolutionary step still stands


Also https://www.debian.org/ports/kfreebsd-gnu/ which I had not looked at in years but now looks to be inactive


Never really had any users, despite being an official port for two releases (Debian 6 and 7). It was a bit of a neat experiment, but that's about all it was. FreeBSD is a tightly-developed operating system on its own, and separating out the kernel to be its own thing in a GNU operating system just ends up with a worst of both worlds.

On FreeBSD itself, GNU software (including bash, coreutils, emacs, etc) are readily available via packages and ports. You can have the cake and eat it too.


I think the better option would be for Debian/FreeBSD (I spelled it without the k on purpose) to be most if not all of the FreeBSD base system with GNU layered on top - something like /bin as the FreeBSD binaries and /usr/bin from Debian and PATH=/usr/bin:/bin or so, and everything using the FreeBSD libc, again with glibc available but calling into the FreeBSD libc for actual syscalls (actually that might be how glibc does work on BSDs; I'm not familiar with that part of things). Basically, minimize the overhead and take as much of the FreeBSD base system as possible instead of trying to take just the kernel, which IMHO was always going to be excessively hard to maintain.


At that point, you may as well just have Debian in a jail or chroot using the Linux ABI compatibility layer built into FreeBSD. :)


I considered that, but I think in my arrangement you can still manage it like a Debian box, including having the base OS in .debs that apt installs and upgrades.


Yeah, the ftpmasters broke their own processes to delay it for a few crucial months so that the Debian powers-that-be could force through adoption of systemd and kill it. A real shame, since it had the potential to be the best of all worlds.


The ultimate evolutionary step is TempleOS.


RPM hell drove me from RH to Debian around the same time and it was such bliss that I stayed with it for many many years. These days I tend to use Ubuntu or Arch when I feel like I have the time to spare.


> If it hadn't been for all the copyright nonsense there would never have been a need for Linux.

Well, that and if 386BSD shipped about a year earlier...


I guess I use Debian Qubes AppVMs on my framework laptop also


I just want Debian but with a system whereby system packages are not restricting me just apt-get installing a more modern version of Python because "it could break everything", then run it under a different environment? Let me run user-space apt apps with a different environment and paths to link against.

I want sane bleeding edge, but I dont want to waste hours and days fixing some source distro up just to get wifi working or GPU drivers.


For me, my best approximation of "sane bleeding edge" is between Fedora and Arch, each with pros and cons. The thing I love so much about Arch and what I believe is an extremely underrated feature of rolling release distros is that everyone is on the exact same page. There is only one supported version of everything, and that's what's currently in the repos. If something breaks you can go on the forum or the subreddit or whatever and there will be someone else with your problem and someone probably already has a workaround.

Sounds kinda cursed, but running something like Debian sid sucks because there's not many other people doing that. Meanwhile with Arch, there's plenty of people doing all sorts of wacky things, the wiki is really good, and the AUR hugely lowers the burden of random things you installed that weren't provided in repos that you have to remember how to build and update every once in a while.

None of this is relevant to your Python example though.


> Sounds kinda cursed, but running something like Debian sid sucks because there's not many other people doing that.

I am not sure that is correct. I think it is very common for (experienced) people that run Debian to use Debian Testing or Debian Unstable on the desktop and Debian Stable on servers.

Personally, I run Debian Testing with selected packages from Unstable. I rarely have problems with that setup.


This request pattern matches "I just want Debian but [specific software should be bleeding edge]". I don't think that is a request that can be reasonably satisfied since the logical conclusion is a distro where every package is bleeding edge. Maybe containers or somesuch could work?

Python is a particularly gnarly one. The Python community are a lovely crew but they have no particular respect for people who like stability. The 2->3 transition on Debian was unpleasant and I don't think that was because of the Debain maintainers.


This kind of mindset is leading to a lot of work on distros with an immutable core, so your base system is solid but everything else can be whatever you want it to be.

This only applies to desktop apps, but Flatpak does an incredible job of this, making it easy to get the bleeding edge version of some app without your underlying system being bothered by it.

AppImages can help solve this problem for GUI and non-GUI apps alike, but they're not centralised in a nice repo and you have the Windows problem where you have 50 programs bundling the same libraries over and over.


One thing snap got right is it also works for non-desktop apps. Of course, it has its own problems, most notably relying on a proprietary central store.

For non-desktop apps docker/podman is an option, but that doesn't work very well for desktop apps.


Run Debian Stable and install Flatpak. This provides exactly that kind of „different environment“ where bleeding edge software won’t break your system. (Of course, not everything is available as a flatpak. But hopefully that will improve in the future.)


Python's maybe not the best example, since it's pretty easy to build and install to any location you want.

On the other hand, you might want to install Guix and/or Nix on top of Debian.


Sure, but I dont want to have to build any package I want to install, for that I just call it a day and install a source based distro.


Guix and Nix will provide you binaries, installed in /gnu and /nix so they don't conflict with anything else.


Yeah, Debian was designed for the old-school multi-user days where a system was maintained by a dedicated sysadmin. Ultimately linux people will be dragged kicking and screaming onto something with sane library management like NixOS (or else something Snap/Flatpak-based, but I hope not), but it hasn't happened yet.


If I had the time, energy and funds I'd try some mix of Ubuntu (driver supports always been really good OOTB with Ubuntu for me) with something like NixOS package management maybe. I just prefer my distro to be decent OOTB instead of me hacking up solutions.


Well you've got to get it. Google is running on a 2.x Linux kernel, with thousands of patches. The hypervisor runs on bare-metal, and it's not "debian". You need to start thinking about debian as just another virtual system and get with the program. If you're installing an operating system on bare metal, and it's not a bsd with jails, you may be doing it wrong. Or, maybe you have an offline developer's environment bare-metal install, debian, arch, whatever, a linux efistub is enough, and then host a passed thru network vm, in a container, with strong guest to host protections. You do you?


I tend to mostly agree with this, having spent years with Arch and Gentoo on my personal machines. I like Debian and usually default to it for containers, servers, and VMs.

My desktop and laptop run NixOS though, primarily because it gives me access to one of the largest package repositories with up to date packages AND makes it effortless to rollback if/when I break things. This was my primary issue with Arch, where I’d have to be cautious about what I was upgrading and when. With NixOS I’m generally pretty reckless because I really can’t break things in a way that would require more than a command and a reboot at most to get back to a working state.


>because I really can’t break things in a way that would require more than a command and a reboot at most to get back to a working state.

After a decade with arch as my primary OS, I can say the same.

I know plenty of folks have claimed issues with upgrades, maybe I'm lucky with the variety of hardware I've used.


What command would that be? The only way I would know to fix a broken Arch box is to manually fix whatever went wrong, not reboot -> select the previous generation in the bootloader -> done.


Generally, if it's just a package rollback, it's `pacman -U <path-to-cached-package>`


Same story here. A long path with Debian as the penultimate step, still used for things I have to collaborate with others on, NixOS for myself.

I dream of the day I start using nix to build my work stuff, but today is not that day. Tomorrow doesn't look good either.


I run Debian on my base machine and use Nix for all my user space tools. I think it’s the best of both worlds. I get nix for all my config management, but a normal stable distro underneath as a fallback.


Yep, also an underrated path! I had RHEL with nix briefly, so you got the support and stability of RHEL with the latest tools and packages from nixpkgs if you needed them.


I've been telling others much the same, but additionally:

- You can see debian's maturity even in the ARM landscape. Out of all the distros that are compiled for ARM64, I could only get 2 (debian and opensuse) to run in the context of a standard VM. I think it's that others are targeted to SBCs rather than UEFI or something, but as apple and qualcomm grow into the traditional laptop space, this matters, and only debian & opensuse showed up to the party.

- I'm lazy and value changing as little as possible, but if I ever need to move configurations around or my computer explodes and I need a fresh start... I can see the value in NIX / GUIX. As nix can sit atop debian, perhaps this is an end goal for some.

- Also, getting overwhelmed by complexity as my time to spend on configuration decreases, I find FreeBSD's interactions pleasant and refreshing.

- I like what I see of Alpine's commitment to smaller, less complex foundations. Perhaps this deserves attention too.

So I guess I'm saying, absolutely yes to debian, but don't forget about nix, guix, alpine, and freebsd.


O dunno if it's the greatest, but it's good enough that thanks to it Linux became my desktop.

Maybe there's a better distribution? But who has time to explore?

Thanks Debian team!


I started out with Ubuntu over 15 years ago and use Ubuntu to this day, likely will when I'm in a retirement home, simply because it ships with codecs and the most usable default desktop environment out of the box. (who decided to remove tray icons from Gnome?).

>They will realize that of the big three, only Debian is truly community controlled

This is the kind of thing I don't understand at all, literally every linux distro is 100% 'me' controlled, I can run `rm -rf /` if I feel like it. That's the good thing about open systems, I can remove snaps if I don't like them and Mark Shuttleworth isn't going to jump out of the bushes to get me.


I wouldn’t mind a Bondo for the most part if they stopped using snap packages. There are two applications I installed and it would not let me browse files from the application. I found out after hours of searching that was some configuration I had to change, but that didn’t even seem to work.


It's not so much that you can't do it, as that if you want to e.g. extricate snap from Ubuntu, now you have to do work whereas Debian is good enough to not come with it.


Debian may have the biggest name in package managers, but Gentoo is my 'home distro'.

Debian has to make choices to use older package versions in many cases, as they don't seem to have a good system for multiple package versions. This means packages are often outdated in general.

Gentoo basically lets you choose versions arbitrarily, which I consider a big plus when it comes to, say, PHP. Also, no silly package drama, you pick which features you want for a package within the package manager system.


Arch rules. The AUR is great, but honestly for me it’s more about how deeply I know the system because it’s made of my choices, both good and bad.

That being said, Ubuntu in prod.


People naming distros like it's 4chan from 20 years ago. Redhat and Gentoo. Oh my.

Linux Mint, Pop, and more, all now provide "Windows without MS" which is what most users really want/need. Even with gaming now that Steam has multiple ways to run on Linux. You can put grandpa in front of some Linux boxes today and he won't notice the difference.

Debian, BSD, etc. I totally get you want the most stable thing going. You like to pretend that memorizing arcane spells for 20 years is the same as intuitive. I get it. I run some remote stuff on a BSD box. I don't know a single serious command without a lookup. But it's stable. I thank the guy who made a cheat sheet for common commands.

Even on the security front though, the tinfoils are doing weird containerized OSes and stuff now. Opening a browser tab can spawn a whole sandboxed OS in seconds. Your pitifully out of date Debian repo doesn't really stack up anymore.

Basically. You can run a modern OS that doesn't suck to use. And that OS can be Linux. With Windows 10+ poised to drive many away from MS, distros need to get with the times and be ready for the masses.

Or. "Serious users will move to X" is a bad argument from the 1990s. Newbies have an OS that pros can enjoy. And if I want to run Debian, I can fire it up in a sandbox or whatever. It's the 21st century. It's not like I have to wait for physical media to spin up to install a live copy.


ALL interfaces are learned, CLI or UI makes no difference. What's intuitive is how much previously learned interactions are reusable.

This is a big reason why macos sucks for example - it does everything its own way. The keyboard, the dock, the app structure, the apis, the menu bar. It's all non-transferable.

I agree that "Windows without MS" is generally the desired state of a UI BUT which Windows? XP style? 7? 10? 11? Windows itself isn't consistent with the Windows UI.

How's the goal of using a UI that re-uses learned behaviors going? UI changes far more than CLI. X11 to Wayland, KDE3 to 4 to 6. Gnome 2 to 3 to 40... it's a real struggle to keep your UI the way you like it. You will be forced by external pressures to adopt a new UI at some point. As much as I loved Firefox 3 and Opera 11, they're impossible to use on the modern web and so I must use the new and worse UI of modern firefox or vivaldi.

But through this entire history I just presented, has "cp" changed? "ls"? Yes, they aren't intuitive. But none of the above is. Yet, they did not change, so they are learned once and reused until the end of time.

Yet, in the CLI world, what did change? init to systemd, alsa to pulse to pipewire, and more. That stuff is just as annoying, and it's nice that debian does not stagnate but does not advance too quickly here either.


> Debian, BSD, etc. I totally get you want the most stable thing going. You like to pretend that memorizing arcane spells for 20 years is the same as intuitive.

Or you could just... use the graphical frontends that have been available for decades now? I wasn't daily-driving 20 years ago, but I can personally tell you that 15 years ago Ubuntu was perfectly good as a Windows replacement, including being able to use it through the GUI. Successive iterations may well have improved things, but even then Mint and pop-os are built on top of Ubuntu, which is in turn on top of Debian, and every year more of their improvements move upstream.


GUI you say. So I have upgraded ubuntu 20.04 to ubuntu 24.04:

`sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list`

https://askubuntu.com/questions/91815/how-to-install-softwar...

update /etc/environment

`GSK_RENDERER=gl`

and restart.

https://askubuntu.com/questions/1511575/ubuntu-24-04-screen-...

`echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT initcall_blacklist=simpledrm_platform_driver_init"' | sudo tee /etc/default/grub.d/99_disable_simpledrm.cfg && sudo update-grub`

https://askubuntu.com/questions/1509661/could-not-switch-the...


The only intuitive user interface is the nipple.


If you think your software is too old, use Backports.


https://backports.debian.org/

> You are running Debian stable, because you prefer the Debian stable tree. It runs great, there is just one problem: the software is a little bit outdated compared to other distributions. This is where backports come in.

> Backports are packages taken from the next Debian release (called "testing"), adjusted and recompiled for usage on Debian stable. Because the package is also present in the next Debian release, you can easily upgrade your stable+backports system once the next Debian release comes out. (In a few cases, usually for security updates, backports are also created from the Debian unstable distribution.)


I have to disagree, I say Slackware is the best :)

But yes, Debian has influenced a lot of distros.


For me it's Alpine Linux.


The Gray Lady of distros...


Fun post. But as a "mature Linux user", I prefer Guix! Lol


Mature Linux users use guix+hurd


It was.

Due to some bad decisions, it handed that crown to Devuan.


Debian's killer app is systemd. You know what I mean.


> only Debian is truly community controlled, and thus only Debian truly embodies the ideals of FOSS.

I believed this up until the systemd thing. Whether you believe that the community legitimately chose it or not, it certainly undermined the ideals of FOSS - you can no longer patch or swap out any piece of the system (Debian used to be famous for taking this as far as even letting you swap out the kernel) and still have something that works.

> as great as unpatched "pure" upstream repos seem to be, the Debian community patches tend to help more than they hurt

Nah. Remember their SSH key-generation bug, still the worst bug ever shipped in a general-purpose OS - that was an inevitable consequence of Debian's attitude to upstream, and they have made no process changes to prevent a recurrence.

Or try to follow any Tomcat tutorial on Debian with a version you installed through the system package manager. Or try to do development work in Python or JavaScript or Ruby (really, any language that isn't C or Perl) on Debian without giving up and installing your own parallel user-managed set of the same packages.

Debian is the apotheosis of a certain approach to building Linux distros. But it's also proof of the flaws in that approach. Slackware, Gentoo or FreeBSD are more reliable and FOSSey. Fedora, SUSE or Ubuntu are more polished and easier.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: