News for hackers. Stuff that matters.
Re:Alpine Linux does not make the news by mduggles on Tuesday July 25, 2023 @06:12PM (#36870366)
Alpine’s use of musl means only the truly insane would be leaping to its defense. The inability to support DNS over TCP was a problem for years. Outside of that, so many things presuppose glibc. It’s an endless source of weird.

It doesn’t make the news cause it’s a hobby os that was made important when we decided the size of the container mattered most.

Re:Alpine Linux does not make the news by nerdbaggy on Tuesday July 25, 2023 @06:31PM (#36870590)
It has actually been around since 2008. I’m not sure how it became so popular for docker. https://wiki.alpinelinux.org/wiki/Alpine_Linux:Trivia
Re:Alpine Linux does not make the news by duped on Tuesday July 25, 2023 @09:07PM (#36871907)
Bandwidth costs and download/upload speed
Re:Alpine Linux does not make the news by COGlory on Tuesday July 25, 2023 @06:31PM (#36870588)
NAND is like pennies/GB. I seriously don't understand the musl thing. It has caused me endless headaches and drives me up a wall.
Re:Alpine Linux does not make the news by outime on Tuesday July 25, 2023 @06:53PM (#36870848)
There are other things to consider, specially data transfer and build times (apk is much faster than apt in my experience). If these and other benefits are worth the trouble of musl is up to each individual.
Re:Alpine Linux does not make the news by nerdbaggy on Tuesday July 25, 2023 @07:06PM (#36870972)
Alpine and musl were originally crated for embedded devices, hence the small size. It is interesting how it has become so popular in docker. https://musl.libc.org/about.html
Re:Alpine Linux does not make the news by re-thc on Wednesday July 26, 2023 @12:06AM (#36872961)
Before other OS offered slim and smaller variants and optimized for size, Alpine was the best bet. At some point the difference was huge and that meant huge savings and a increase in productivity.
Re:Alpine Linux does not make the news by GuB-42 on Tuesday July 25, 2023 @07:41PM (#36871249)
As a non-user, I think such variety is a good thing.

Not using the same thing everyone uses forces developers to care about standards rather than to assume compatibility just because it is how the favorite implementation works. Same reason why it is a good thing that a popular browser that is not Chromium-based exists.

Re:Alpine Linux does not make the news by duped on Tuesday July 25, 2023 @09:06PM (#36871897)
Memory is not cheap in the cloud nor is bandwidth, so optimizing for image/container size is quite cost effective.

Also every headache I've had with musl libc is because glibc is insane, not because there is a problem with musl. It should be trivial to swap out your standard library, as that is the entire point of dynamic loading. Yet you cannot actually swap out the dynamic library that nearly every program on your system will need, because it's not actually a library.

Re:Alpine Linux does not make the news by hinkley on Wednesday July 26, 2023 @12:04AM (#36872948)
People often forget that bandwidth is time. A significant fraction of redeploy time for me is docker images, and that's using alpine base images. It would be (was) far worse with something else.
Re:Alpine Linux does not make the news by dharmab on Wednesday July 26, 2023 @02:44AM (#36873896)
If you are optimizing for image size, Alpine is not the best choice. For example, Distroless (https://github.com/GoogleContainerTools/distroless) has options 50% smaller than Alpine.
Re:Alpine Linux does not make the news by hinkley on Wednesday July 26, 2023 @01:03PM (#36881017)
My other options seem to be to use more Google software or more RedHat software and both of those have been in the doghouse for some time.

I’d be more likely to use CoreOS as at least I can claim peer pressure, and potential layer savings.

Re:Alpine Linux does not make the news by sofixa on Wednesday July 26, 2023 @04:29AM (#36874655)
That's why the best option is scratch containers, they have pretty much nothing outside of the stuff you add in manually (like your binaries).
Re:Alpine Linux does not make the news by hinkley on Wednesday July 26, 2023 @09:45AM (#36877610)
I’m not fucking around with a container that doesn’t have a package manager in it. apk does a pretty good job of not being populated with hot garbage.
Re:Alpine Linux does not make the news by sofixa on Wednesday July 26, 2023 @10:19AM (#36878175)
You don't need a package manager in your production container, you need one for the dependencies to build your artifact (in previous stages) which gets passed on, on it's own, statically compiled, to the empty container.
Re:Alpine Linux does not make the news by hinkley on Wednesday July 26, 2023 @12:36PM (#36880545)
And I need a tool chain for inspecting a sick container trying to figure out why CPU jumped 25% for no apparent reason.

Also some programming languages, you can’t really populate the app’s dependencies without a bunch of its dependencies. And the only way to split the difference means you have to memorize every file that gets created during the build/install process to be sure you don’t miss anything airlifting them from one container to another.

All of which amounts to me becoming the package manager. Which gets much less fun the more containers you have running in prod.

I generally respect the curation that alpine does. Not too old, not too bleeding edge.

Re:Alpine Linux does not make the news by dharmab on Wednesday July 26, 2023 @05:48PM (#36885576)
> And I need a tool chain for inspecting a sick container trying to figure out why CPU jumped 25% for no apparent reason.

You can attach a debugging container with your tools temporarily: https://kubernetes.io/docs/concepts/workloads/pods/ephemeral...

Re:Alpine Linux does not make the news by dharmab on Wednesday July 26, 2023 @10:01AM (#36877857)
Generally with scratch images you build in a less weird environment, then copy your application's files into a scratch image.

https://docs.docker.com/build/guide/multi-stage/

Re:Alpine Linux does not make the news by sacnoradhq on Tuesday July 25, 2023 @10:43PM (#36872522)
There are FOSS projects that sound nice and desirable but are too impractical to use in the real world. I call them "libmagicponies".

On a related topic, I don't use Ubuntu, Debian, Alpine, Arch, Gentoo, Rocky, Alma, Fedora, or {Free,Open,Net}BSD. I use CentOS 9 stream for most things: it's basically RHEL's kernel and it powers 100M's-1 B machines.

Re:Alpine Linux does not make the news by adrian_b on Wednesday July 26, 2023 @02:15AM (#36873703)
Instead of saying "too impractical to use in the real world", which is obviously false, since many other people have been using at least a part of those in the real world for decades with excellent results, you should say that there are such projects that you have never felt the need to learn about, because you happened to find one that covered well your needs, so you never had any reason to explore alternatives, which is perfectly fine.
Re:Alpine Linux does not make the news by appleflaxen on Wednesday July 26, 2023 @08:37AM (#36876633)
* * *
Re:Alpine Linux does not make the news by 112233 on Wednesday July 26, 2023 @10:03AM (#36877909)
Yeah, and the devices with embedded linux firmware also are pennies apiece. Not every linux installation is a banking mainframe, and not every ARM soc even gets those NANDs.
Re:Alpine Linux does not make the news by firen777 on Tuesday July 25, 2023 @08:33PM (#36871631)
> The inability to support DNS over TCP was a problem for years.

I'm no expert in the subject matter, [but support seems to be coming soon?](https://gitlab.alpinelinux.org/alpine/tsc/-/issues/43#note_2...)

Re:Alpine Linux does not make the news by silisili on Tuesday July 25, 2023 @10:22PM (#36872382)
Yes, but people have been complaining for -years-, because it was broken. And rather than listen to reason, the author ignored it because of his own misunderstanding of an RFC...
Re:Alpine Linux does not make the news by justinclift on Wednesday July 26, 2023 @01:10AM (#36873361)
Heh Heh Heh

Looks like the patch isn't very long either, so hopefully it'll be fairly solid:

https://git.musl-libc.org/cgit/musl/commit/?id=51d4669fb9778...

Re:Alpine Linux does not make the news by qalmakka on Wednesday July 26, 2023 @12:55AM (#36873271)
Glibc is a nasty piece of software full of nonstandard GNUisms that basically implements a separate standard. I've fought for years against the fact they've got functions that are not found in any other libc and have different behaviours depending on macros, often conflicting with POSIX or BSD variants. The fact the project was run for almost 20 years by a guy that managed it in a dictatorial style was a huge reason why so many alternative libc existed (that, and the licensing). Few people here remember about EGLIBC I guess.

Glibc is also such a mess that it still does not compile with Clang, after _decades_, due to all the crazy GCC extensions they rely on. An attempt is cyclically started and the aborted when some new crazy nonsense is found. For instance, last time I checked they not only used the completely insane folly that GCC nested functions are, but they also relied on GCC attributes so nasty that LLVM never bothered implemented them (like renaming functions at code generation). Using these extensions are not really necessary, and I've a strong suspicious it was more of an attempt by the GNU authors to prevent distributions to ever consider not using GCC as their main compiler.

Also how name resolution is implemented in Glibc means you can't really statically link with it. If you've ever noticed, most "statically linked executables" are not in fact statically linked, but require ld.so just for libc. There are good reasons to disallow statically linking libc, but this is not one of them. Especially since the only stable API on Linux is the kernel interface, so the only way to not have to worry about future Glibc breakage is to either link with Musl or live with the risk.

Re:Alpine Linux does not make the news by physicsguy on Wednesday July 26, 2023 @02:08AM (#36873668)
I get where you’re coming from but it’s impractical for many use cases to switch.

I work in Python; pretty much no extension packages have a pre-compiled Musl version so you end up spending a ton of time compiling things!

Re:Alpine Linux does not make the news by ftaghn on Wednesday July 26, 2023 @11:53AM (#36879820)
https://pythonspeed.com/articles/alpine-docker-python/

>Using Alpine can make Python Docker builds 50× slower

Musl is a dire mistake.

Re:Alpine Linux does not make the news by CHY872 on Wednesday July 26, 2023 @02:40AM (#36873869)
My experience with musl has been that while it’ll most probably work, you’re severely at risk of a 30%+ perf degradation, and that means the juice is really not worth the squeeze.

glibc shouldn’t be statically compiled in because it’s lgpl and so immediately infects your code if you do.

The zig linker is quite nice here because it lets you pick what glibc you want to be compatible with.

Re:Alpine Linux does not make the news by CodesInChaos on Wednesday July 26, 2023 @03:41AM (#36874270)
> you’re severely at risk of a 30%+ perf degradation

Do you know if that's mainly due to the inefficient malloc, or if there are other important performance bottlenecks?

Re:Alpine Linux does not make the news by Conscat on Wednesday July 26, 2023 @03:20AM (#36874132)
The `[[gnu::optimize()]]` attribute is a fantastic feature that clang really should have some day.
Re:Alpine Linux does not make the news by guilhas on Saturday July 29, 2023 @06:34PM (#36925461)
Better GNUisms than muslisms

glibc has been more wildly tested, and fixed what was not working, while musl choices were mostly ideological

Re:Alpine Linux does not make the news by qwery on Wednesday July 26, 2023 @07:26AM (#36875891)
Who is leaping?

Only the truly insane would be lashing out at Alpine just because of its use of musl.

Re:Alpine Linux does not make the news by Brian_K_White on Wednesday July 26, 2023 @08:17AM (#36876404)
The size of the container matters most when we decided every executable needed to come wrapped in it's own OS.
Re:Alpine Linux does not make the news by planetafro on Wednesday July 26, 2023 @09:16AM (#36877147)
This is patently false. Tons of Enterprise orgs use Alpine for security concerns, ease of administration, and size. I guess all those prod microservices existence is "insane".