13 ms·
An overview of single-purpose Linux distributions
- tooltower 4y agoThis article says "subscriber-only content", yet I'm not a subscriber. How am I able to read this article?
- neckardt 4y agoAt the top of the article it says: > The following subscription-only content has been made available to you by an LWN subscriber. Looks like someone with a subscription submitted the link to HN, allowing us to read the article.
- gerdesj 4y agoYes, it's always been that way with LWN and the contract is that as a subscriber, you don't take the piss. It seems to work well I think. LWN get's citations - basically internet points for news sites, we all get info/news and crucially LWN gets paid. I think that attitude also gets LWN a lot of kudos because they have somewhat decoupled their subscriber income from their content. Here on HN you are reading LWN subscriber content with their blessing. I've been a low level subscriber for 20+ years now. I remember when it seemed the financial model came very close to unravelling - 2002ish. Despite that, the apricot coloured site has managed to flourish and continues to flourish. LWN is quite a phenomenon. Cheers: Jon.
- arch1e 4y agoWeird how they didn't mention openwrt at all
- vyskocilm 4y agoFOSDEM talk about Fedora CoreOS, Ubuntu Core, openSUSE MicroOS, and Bottlerocket OS and how they all tackle the single purpose problem in their own way.
- parentheses 4y agoCame looking for info on distros like Kali and other assemblages of tools for a particular purpose. Found this.
- dicknuckle 4y agoThere's also FlatcarOS if you want something more like the original CoreOS without the Fedora influences.
- eschneider 4y agoInteresting article. For folks who need to put together their own distro, especially for embedded applications, Yocto and Buildroot both lower the barrier to rolling your own and getting exactly what you need to something quite reasonable.
- voakbasda 4y agoYocto does not have a low barrier to entry, at least when it comes to making lots of customizations and then supporting them over time (e.g. upgrades). If you are willing to climb its learning curve, it definitely would be my recommendation for rolling a custom system.
- eschneider 4y agoYeah, it's a bit inscrutable when you're starting out, but once you finally 'get it', it all makes sense and stuff is easy to find in the docs. Buildroot seems easier to start out with, but I like the Yocto features more myself.
- nfriedly 4y ago+1 for Buildroot! I haven't done much with Yocto, but I had very good experiences with Buildroot, particularly with getting helpful answers to noob questions I posted on stack overflow. One was answered by Thomas Petazzoni who, I think, is one of the main people behind Buildroot.
- eschneider 4y agoI've used both in commercial products and I find Yocto to be more flexible than Buildroot, but the learning curve is less with Buildroot. Still, both get the job done and are reasonably documented and supported, so pick your poison. :>
- grepLeigh 4y agoAgree, I'm using Yocto to roll an embedded distribution (PrintNanny OS). Combined with swupdate, I now have extraordinarily reliable upgrades using an A/B partition scheme. The result is way more maintainable than previous iterations of PrintNanny OS images, which used a combination of Ansible and Packer to bake a "golden" image based on Raspberry Pi OS.
- LeoPanthera 4y agoThis is one of those things that I've always been too scared to ask so I'm just going to ask it now: Is there a distro designed exclusively for running docker (and perhaps other) containers that also contains a friendly web UI for people who have no idea how docker actually works? I'm familiar with Proxmox, but it doesn't natively support docker.
- dicknuckle 4y agoRancherOS if you're looking to use something heavily tested but it's got a few weird features like most of the OS also being in containers. If you want something light to play with and get a vanilla docker experience, your best bet is likely Boot2Docker with Portainer.
- candiddevmike 4y agoThe existing RancherOS is no longer being maintained, you probably shouldn't be using it anymore: https://rancher.com/docs/os/v1.x/en/support/ https://rancher.com/docs/os/v1.x/en/support/ Rancher is working on a new version.
- dicknuckle 4y agoNews to me! Apparently I haven't used it in quite some time.
- gtirloni 4y agoHasn't 2.x been released for a long time now?
- legrande 4y agoYou can always have a vanilla Debian or vanilla Arch install and add things on an as-needed basis and build the OS from scratch, minimizing complexity and have them as single-duty OSes.
- klysm 4y agoYes but those aren’t single purpose OS’s like the ones described here. These typically come with immutability and a vastly reduced attack surface
- candiddevmike 4y agoThe problem with single purpose OSs in my experience is adding stuff to them like kernel modules or drivers is such a pain in the ass that it negates the benefits. I'd rather just configure a general purpose OS to be immutable/have a reduced attack surface.
- CuriousCosmic 4y agoIt can be if you use the right base OS. NixOS for all its issues checks most of the boxes for building a single purpose OS and the process of actually building one couldn't be easier. The whole process is effectively: 1. Write a config file 2. Run the command that builds the system 3. Test the system 4. (optional) Run the command that bakes the fresh system generated from the config into an image. 5. Deploy using either an image or NixOS's config based deployment tooling.
- klysm 4y agoShouldn’t nix be able just output an image?
- CuriousCosmic 4y agoIt absolutely can. I made the distinction between generating an image and using the nix specific infra because once you are in the ecosystem, some people prefer to use that tooling. Also there are some fancy things you can do with config based deployment that are generally harder with image based deployments.
- MichaelMoser123 4y agoInteresting that alpine didn't get mentioned, i thought that was the most common option for a slim Linux running inside containers.
- dharmab 4y agoAlpine is a general purpose OS; You can run it as a desktop or server OS on real hardware.
- MichaelMoser123 4y agostill they do have a strong focus on size reduction, like using musl instead of glibc.
- slondr 4y agoAs pmOS folks (and anyone running alpine on their desktop or server) will happily tell you, size reduction is not a goal only relevant to container runtimes.
- MichaelMoser123 4y agotoday i learned about https://en.wikipedia.org/wiki/PostmarketOS https://en.wikipedia.org/wiki/PostmarketOS - "an operating system primarily for smartphones, based on the Alpine Linux distribution" https://en.wikipedia.org/wiki/PostmarketOS https://en.wikipedia.org/wiki/PostmarketOS "Alpine Linux was chosen as the base distribution due to its low storage requirements, making it more suitable for older devices. Excluding the kernel, a base installation takes up approximately 6 MB" i guess that would also make a more secure phone, one that is less likely to call it's mother ship. thanks for the tip!
- MichaelMoser123 4y agotoo bad that device support isn't stellar :-( https://wiki.postmarketos.org/wiki/Devices https://wiki.postmarketos.org/wiki/Devices
- imwillofficial 4y agoHana Montana Linux is up there with Red Star Linux for my favorite distros
- vanilla-almond 4y agoIs there a minimal or custom Linux image suitable for the following scenario? A custom Linux + web app combination: - a Linux image that can upload to a VPS - a Linux image including your web app and essential tools (web server, database) - anything not needed from the Linux image is removed (tools, utilities) The idea is that a custom Linux image (which includes your pre-installed web app) can be installed to any VPS: pre-configured to be Linux only for your web app. (Note: this a scenario without docker.)
- deckard1 4y agoYou can create your own. In the days before Docker what we would use is CentOS with custom scripts using Anaconda[1]. You start with the base system and then add on whatever you need. You can also configure /etc however you need. The output is an ISO of your own custom Linux distribution. One neat thing about Anaconda is you can add a provision script that runs on initial boot. So if you need to "bake" in your app but leave a certain amount of configuration for install-time, that's the way you do it. [1] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/anaconda_customization_guide/index https://access.redhat.com/documentation/en-us/red_hat_enterp...
- iguessthislldo 4y agoThis isn't container-related like the article, but I recently came upon a specialized Linux in the wild. I bought a compact flash card off Amazon for to use as a drive in a Tandy 1000. I went to partition it and to my surprise it had a few partitions. One was an ext2 one that resembled some sort of root directory. Looking through the files, it appeared it was for a distro called AST Linux that was originally designed to run off compact flash and aimed at managing networked telephones. It also had firmware images for a Cisco SPA232D VOIP Adapter. https://www.astlinux-project.org/about.html https://www.astlinux-project.org/about.html
- taylodl 4y agoI'd love to learn more about how you're using that Tandy 1000!
- iguessthislldo 4y agoI'm honestly still trying to figure out what I want to do with it. I got the compact flash to use with a XT-CF-Lite v4. I'm still trying to figure out what DOS I'd like to use. I can get the OEM MSDOS 3.22 installed onto the drive, but that version's max partition size is 32MB, which isn't ideal when the compact flash is 4GB. FreeDOS supports that size and pre-386, but it was a pain to get it on there and is a bit overkill for a computer this old. Right now I'm considering a later MSDOS, but haven't decided on which one. As far as software goes I'm waiting on finalizing the DOS before exploring games and development, but it was fun was to be able to run this port of Wolfenstein 3D: https://github.com/jhhoward/WolfensteinCGA https://github.com/jhhoward/WolfensteinCGA Besides all that I'm thinking of maxing out the RAM (it's 640k now, but can take an additional 128k for video), and maybe adding a real time clock and network card. I do have another Tandy 1000 TX, so I could see how 80's networking worked. That is probably another can of worms though.
- fsckboy 4y agoif you have a working Windows 95 or 98 you can format /s a disk and copy the same DOS utilities over to it, and boot it just like a newer version of DOS. W95 is easy, W98 was a little trickier, or maybe I'm thinking of Me, I can't remember any more.
- sylware 4y agoI have another type: a my-purposes-only elf/linux distro without all the kludge and bloat of the "other" purposes. :)
- intelVISA 4y agomy fave :)
- jiggawatts 4y agoAs a person who only occasionally needs Linux for specific purposes, something I‘d like is a well-supported mainstream distro for lightweight, high performance servers. Think NGINX, routers, local web proxies, that kind of thing. Something akin to BSD but Linux. Ideally something that supports a two-stage deployment where you compile for the exact target CPU and then the final thing has no extraneous components at all. Maybe Nix?
- Eisenstein 4y agoWhy not use BSD though?
- KronisLV 4y ago> I‘d like a well-supported mainstream distro for lightweight, high performance servers. Think NGINX, routers, local web proxies, that kind of thing. This might be a shot in the dark, but wouldn't Alpine Linux be a good general purpose candidate for this: https://www.alpinelinux.org/about/ https://www.alpinelinux.org/about/ Many use it as a basis for container images, but it also runs pretty well as a regular Linux distro, albeit musl and busybox might present some compatibility challenges in some cases. Regardless, it seems to be pretty lightweight and widely supported, most software that you'd expect is also available and generally there are few surprises. It does have a somewhat short release lifecycle, though: https://endoflife.date/alpine https://endoflife.date/alpine
- qbasic_forever 4y agoYou say you need a distro which to me implies you want packages and a repository and updates, installation of packages on the fly, etc. But you also say you want to make a final image with nothing extra except your main apps, which makes me think you don't want a distro. I'd think about what your goals are and optimize for that use, it's going to be hard to do both the things you mention at once since they are somewhat at odds with each other. IMHO start with Debian, with minimal packages it's very slim yet you have the full power of their packages when necessary.
- pxc 4y ago
- deleted 4y ago[deleted]
- donatj 4y agoBack in the very early aughts I used to carry around to friends houses a binder full of movies also containing a bootable CD with some linux distro that existed explicitly for playing media. I don't recall the name, it's likely long dead. When whatever movie we wanted to watch failed to play on their computer, likely due to codec problems (it used to be a hassle before VLC) I'd pop the bootable Linux CD in, reboot and bam we were watching the movie. It was great.
- guestbest 4y agoKnoppix was great for that. It wasn’t the lack of VLC necessarily that was the problem it was all those proprietary codecs that essentially install anti-cheat rootware that would also DMCA anyone who made open source codecs that could read the media.
- carlsborg 4y ago> since all of the read-only parts of openSUSE MicroOS have now been moved to /usr, the upcoming 4.2.0 release of transactional-update would also be able to apply new snapshots without rebooting Huge improvement, reboot to activate was a major downside.
- kccqzy 4y agoBut do you update the kernel without rebooting? Previously transactional-update can update the kernel and call dracut to make a new boot image. I suppose this still needs a reboot?
- scns 4y agoCanonical and Oracle offer updating a running Kernel as a paid service IIRC. One was called Ksplice, i think the one Oracle acquired.
- teo_zero 4y agoPlease be aware that ksplice can only apply small patches to a running kernel. It can't replace the entirety of it with a new version.
- carlsborg 4y agoNo reboots for non-kernel updates would still be a win imho. Because these are rolling releases not point releases, and updates snapshots are pulled daily by default (and therefore daily reboots are/were recommended), so its likely only a small subset of snapshots have a kernel update.
- 63 4y agoThis title feels pretty inaccurate. It's not an overview of single-purpose Linux distributions, it's an overview of a few Linux distributions whose single purpose is to host containers. I got excited to read about weird Linux variants for obscure use cases but this was very vanilla and disappointing.
- vram22 4y agoFinnix and other light distros: https://jugad2.blogspot.com/search/label/Finnix?m=0 https://jugad2.blogspot.com/search/label/Finnix?m=0