coreos is good for running containers
Linux
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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I like to pronounce this distro as though it rhymes with "Oreos"
Why do you care about "lightweightness"? Are there any hardware constraints? Lightweight in what regard?
Gentoo can be made very slim, and has similarities with Alpine. Also as others have said, Arch is very customisable, and Void is the new hotness in this area.
You messed with Debian's netinstall images? Just enough for you to get on-line and apt-get the packages you acually want, although the ISO does about take up a whole CDR.
Debian even has "slim" docker images that are pretty small.
Debian slim is my go to!
You could also use Void Linux with glibc but install base-minimal instead of base-system when following this guide: https://docs.voidlinux.org/installation/guides/chroot.html They also have a docker image using busybox (the other thing that makes alpine that minimal). So you could have a look at how they setup it and try that yourself. It is not well tested tho, so it's probably not a good idea for a server.
Why don't you want Musl?
I'm running this on a low resource arm64 device. I have had trouble cross compiling to arm64 musl (availability of pre compiled binaries is low).
It also caused me a bunch of random small issues. For example nodejs doesn't officially support musl binaries. Bunch of random small things, like sdkman not working on musl.
Yes, weird corner cases in musl cause a lot of things to misbehave when run on musl. For example, DNS upgrade to TCP, which is required for certain queries and covered by one of the DNS RFCs, wasn't implemented in musl for the longest time, although I think it finally got implemented recently. However, there are other cases like this fwiu.
Installing Python packages with pip is a hit-and-miss too
nodejs doesn’t officially support musl
Correct; unofficially and it causes some issues when running a NodeJS app on Musl. @[email protected] you can try another unofficial alpine image, or just go with Debian slim
Don't recommend that glibc Alpine image please. You can't just have 2 libc's and expect everything to just work, it's just asking for problems. Either deal with Musl or choose a different distro.
Arch with 'minimal' install is pretty small. Would that work?
I think Arch gets pretty close, but I am wondering if anything goes further. Given Arch is tailored for personal computing, I wonder if it adds anything to ease usability that they otherwise would not need to if it was server based. But I think Arch is what I need, you are right. Thanks!
I mean Arch is what you make of it. It can be as lightweight and minimal as you want it to be based on your installation decisions.
"Lightness" in what sense are you after?
Size of distribution? # of packages?
Otherwise you'll be using basically the same kernel images.
Maybe you should be custom compiling your own Linux Kernel to be even more "lightweight".
Honestly, of you don't need to game, alpine is pretty great. Now if you absolutely need glibc... just use Arch, it's the most lightweight sane person distro I can think of, unless you wanna compile Gentoo that is
I know there is a way to install glibc in alpine. Worked for my admittedly hobbyist use case. I just don't remember the package name but it's in there.
What's keeping you from using uClibc?