[HN Gopher] Alpine Linux is reducing dependencies on Busybox ___________________________________________________________________ Alpine Linux is reducing dependencies on Busybox Author : senzilla Score : 82 points Date : 2022-08-03 20:11 UTC (2 hours ago) (HTM) web link (gitlab.alpinelinux.org) (TXT) w3m dump (gitlab.alpinelinux.org) | g051051 wrote: | That's not what I read in the link: | | > More generally, and this is more a matter of opinion and | totally debatable, I would like functionality to be progressively | stripped from busybox-initscripts, which is a package that | gathers a bunch of miscellaneous policy scripts that are only | related by the fact that their mechanism is provided by busybox. | I don't think this package makes sense from a semantics point of | view; it is more logical to provide the policy scripts classified | by service, no matter whether or not the implementation of the | service is done by busybox. To me, ideally, busybox-initscripts | would be empty, and we'd have virtual packages for every service | that is currently defined in it, so support for alternative | implementations can be added over time. This would also ease the | path to getting out of busybox, or at least providing alternative | coreutils/low-level utilities implementations, is there is ever a | will from Alpine to do so. | | So it sounds like they just want to change how the scripts are | packaged. The only mention of getting away from busybox is at the | end, which is qualified with "[if] there is ever a will from | Alpine to do so". | tremon wrote: | From Ariadne's update: | | > The TSC [..] has concluded that there is a general need to | begin decoupling hardcoded preferences for BusyBox from the | distribution. | | That's a bit stronger than just "we want to reorganize our | script packaging". It still isn't explicitly "reducing | dependencies on Busybox", but removing hardcoded dependencies | is a prerequiste for the former. | hinkley wrote: | > This would also ease the path to getting out of busybox, | | Prepare ship for Ludicrous Speed. | | Fasten all seatbelts. | | Seal all entrances and exits. | | Close all shops in the mall. | | Cancel the three ring circus. | | Secure all animals in the zoo. | LAC-Tech wrote: | I really like alpine linux. I used it as my WSL2 env for years. I | run Void Linux on actual hardware these days (better to use | photon for games than WSL2 for work), but would probably switch | back to alpine if it had more packages and rolling release, as it | had the best package manager I had ever used. | ryan-duve wrote: | I've only had to use `apk` for a Dockerfile layer when we were | really trying to minimize the footprint of an image. From what | I could tell, there was no discernible difference from `yum` or | `apt`. What are the features that make it stand out to you? | yjftsjthsd-h wrote: | You could always just use edge if you want a rolling release. | freemint wrote: | Good. | rahen wrote: | For the trivia, this is pushed by Laurent Bercot (skarnet), | creator of s6, execline and many others. He's also working on | implementing s6 as Alpine init and rc systems. | | https://skarnet.org/software/s6/ | | https://skarnet.com/projects/service-manager.html | 1vuio0pswjnm7 wrote: | Further trivia: Going one level up from busybox, the maintainer | of dash is the creator of runit. Both runit and s6 are | "inspired by" djb's daemontools. In truth, neither [wc]ould | have been created if not for daemontools. | jart wrote: | They're really still going through with that? I didn't expect | I'd have to find another distro so soon. | CharlesW wrote: | Can you elaborate on why this is relationship-ending for you? | https://skarnet.org/software/s6/why.html makes it seem like a | reasonable direction. | rahen wrote: | It will only be an option, you can keep sysvinit + openrc if | you prefer it this way. | dannyobrien wrote: | what's the objection? | [deleted] | gtirloni wrote: | Do not editorialize submissions. | yjftsjthsd-h wrote: | > The TSC has discussed this issue at today's meeting and has | concluded that there is a general need to begin decoupling | hardcoded preferences for BusyBox from the distribution. | | Neat. I wonder if the general decoupling will make it eventually | easy to drop in ex. toybox or one of the rust/golang coreutils | implementations. Or, for that matter, to drop in GNU coreutils, | since the current way to add those to Alpine strikes me as a | little inelegant in comparison. | senzilla wrote: | As far as I understand, this initiative is primarily about | reducing hardcoded dependencies on Busybox. As such, this is | indeed what would enable alternative implementations to exist | cleanly alongside whatever is the default. | | Because yeah, trying to change Alpine's init system, mdev, or | other coreutils is indeed not easy/feasible at the moment. | 0xbadcafebee wrote: | Sounds fine to me? The exception being if they try to get _all_ | hardcoded Busybox references out before the next release, just | because they don 't want to extend it into the next one. It | doesn't sound like there is any burning need to get it done, it's | just tech investment. | | My issues with Alpine are a lot more UX-focused. Like other | distros, I have ended up with a hosed Alpine system twice from | installing something (I have no idea what) only to find later | that half my networking tools were uninstalled (and no packages | cached on disk) so I had to find an Ethernet cable, try to figure | out what was missing, reinstall. I prefer Slackware's model: it's | too stupid to remove things just because you installed something | else. And diffing/saving system configs and packages in Alpine is | pretty unintuitive. | notacoward wrote: | This really looks like an example of open source done right. | Obviously there are some strong opinions, but the person | suggesting the change was pretty gracious about the pushback they | got. Since then, stakeholders have had a chance to discuss and | agree on a way forward. Nobody is trying to sweep all the "nasty | bits" under the rug, like most developers tend to, and there's | even mention of regression tests. I've seen few other projects | (including but not limited to those where I was a maintainer) | handle possibly-disruptive change so well. Kudos. | pmarreck wrote: | > and there's even mention of regression tests | | I've been doing (mostly) full-coverage unit and integration | testing since, oh... 2005? At least in the Ruby on Rails and | now Elixir/Phoenix development spaces, it's absolutely de | rigeur, and has probably saved me countless hours of debugging | and simply not breaking stuff that already worked, or | validating that things worked the way I expected them to. | | The fact that in 2022 someone even has to qualify regression | testing with an "even" (as in "EVEN mention of regression | testing!") saddens me. Tests reduce developer pain and increase | developer productivity, full stop. If you get hit by a bus, | someone else who is working on your code will know they didn't | break anything thanks to your test suite. Get with the program, | folks, it's been decades now since this was known. | notacoward wrote: | It saddens me too, but it still seems necessary. In my (quite | long and varied) experience, most developers do _not_ | appreciate the value of regression tests. Therefore, | reminders and positive reinforcement are still beneficial. | yjftsjthsd-h wrote: | While I agree that it should be a standard feature, it is | worth pointing out that operating systems tend to be more | difficult and more expensive to run full tests for. | unethical_ban wrote: | Heh. I'm writing a custom tool for a security product that | pulls configs down and looks for deviations from expected | config values. | | Instead of running the script against the client config and | validating it works correctly, I thought to myself "Hey, what | if I made a sample configuration with known good and bad | values, and have a known result output to quickly validate | the script's function?" | | I just invented testing. No, large scale programming and | devops is not my primary job. Yes, I have built validation | before, but it isn't habit and this is a bespoke project so I | didn't think about it at first. ___________________________________________________________________ (page generated 2022-08-03 23:00 UTC)