Hacker News new | ask | show | jobs
by onlypositive 1068 days ago
Most the issues with alpine Linux people face are down to package maintainers breaking backwards compatibility constantly. Package renames are a regular problem.
2 comments

Alpine has at least the following deficiencies:

DNS TCP resolution doesn't work (https://christoph.luppri.ch/fixing-dns-resolution-for-ruby-o...). It's a feature that it doesn't retry truncated lookups or obey the relevant RFCs (https://twitter.com/RichFelker/status/994629795551031296).

Alpine has a 128k stack size (https://ariadne.space/2021/06/25/understanding-thread-stack-...), while most other OSes have at least a 512k stack.

Just to be clear, I'm not blindly defending musl/Alpine, rather noting the detrimental effects of monoculture.

Quite often fixing a build or a package on another system or architecture is a matter of a 3-5 line diff, and I've contributed quite a few over the years. It usually boils down to an incorrect assumption by the author/maintainer, stuff like "#ifdef __linux__" (when what you actually mean is: "any UNIX-like system with X11"), or hardcoding CC=gcc (where CC=cc just works).

DNS TCP resolution has been fixed this year

https://www.theregister.com/2023/05/16/alpine_linux_318/

Thanks for letting me know!
One thing I love about NixOS so far is that when they do a rename, they can print a deprecation warning every time you use the old name while evaluating your config. When I get a moment, I go through and fix them.

You could probably do something similar in a traditional distro by creating an alias package that prints a warning on install, but then you actually have to watch the install logs to see that.