4 ms·
Drew mentions his workstations and laptops run Alpine, i don’t have much experience with the system outside of using it as a base for some docker containers. I
by Tsiklon 5y ago
Drew mentions his workstations and laptops run Alpine, i don’t have much experience with the system outside of using it as a base for some docker containers.
I wonder what the pitfalls and corner cases he encountered are when he set it up. I envisage an Arch style process of configuring and tweaking the system.
I think that could be a worthwhile project documenting the setup for my personal use case.
- 0xbadcafebee 5y agoSame. It's one thing to design for an embedded system with a small set of requirements. It's another altogether for desktops, where extreme compatibility and an excess of features is required to support all the different end-user cases. I love Alpine for containers, but I'm sure it wouldn't work out of the box as my desktop. The Linux GUI environment has added an order of magnitude more complexity since I dug into it as a teen, and hardware support is non-trivial. Heck, just doing encrypted LVM root and swap with hibernation still seems to give most distros trouble.
- swiley 5y agoI ran Alpine on many of my computers for years and currently run it (PMOS really) on my phone. Documentation is a separate package so unless you're careful to always install it you tend to not have it. Busybox is definitely not 100% compatible with coreutils, lots of sloppy scripts tend to break. For a while the default kernel was the grsec one which breaks pretty much everything. Thankfully that seems to have changed. musl libc lacks some of the new instrumentation and bounds checking features in glibc, also the subtle differences can change how often bugs in incorrect programs get triggered. Of course musl libc is not binary compatible so closed source software won't work. (no widevine or chrome) Some larger packages are missing, I don't know if they ever managed to package Gnome (I certainly don't blame them, it's a beast.) OpenRC is not systemd, I prefer it though. They have an an installation option that lets you run from tmpfs but back up /etc and automatically reinstall packages from a disk cache on reboot. This is great for that generation of macbook pro with the bad harddisk cable, mine had 8gb of ram which is plenty with a small distro like alpine as long as you're used to keeping everything in git and pushing often to branches on other machines.
- yjftsjthsd-h 5y ago> Documentation is a separate package so unless you're careful to always install it you tend to not have it. Install the "docs" (meta)package and it'll automatically install documentation packages. My greatest annoyance is actually the (absent) documentation to find this; IIRC I had to find out about this via IRC.
- swiley 5y agoThanks! I'm glad you pointed that out.
- Tsiklon 5y agoThanks for the reply, it looks like there’s a lot of avenues and differences of value which are worth exploring here. Personally, I’m happy with a little excess on my personal systems, documentation is a must for me, but it’s a great reminder that I’d need to pull it in separately. I’m very interested in exploring the “home directory as a git repository” metaphor I’ve seen written up here from time to time, perhaps a minimal system like Alpine is a good opportunity to explore it further. I’ll play around with it. Thanks!
- aidenn0 5y agoWhat do you use for automatically restarting failed services? IIRC OpenRC doesn't do that.
- regularfry 5y agoThere's an interesting side comment that "OpenRC is not as good". That's exactly the sort of area that you'll only run into if you're doing things outside the container ecosystem, because you (typically) don't want to muck about with init systems. It makes perfect sense that that's where the rough edges are, if only because fewer people are walking those paths.