|
|
Subscribe / Log in / New account

Gentoo in binary form

Gentoo in binary form

Posted Dec 30, 2023 14:00 UTC (Sat) by kleptog (subscriber, #1183)
Parent article: Gentoo in binary form

This brings back memories using binary Gentoo packages to maintain a fleet of over 100 servers in the field somewhere around 2010 (I inherited the setup). We'd have one buildbot that built the packages and then distributed the binary packages to the servers for installation. That way you didn't need to have a complete build environment to build everything on each machine and you got uniformity.

At the time this was not supported and we ran into crazy things like not being able to upgrade the tar package because the binary installer would attempt to overwrite its own binary during the unpacking process. It's probably gotten much better since then.

We ditched Gentoo for Debian later just because it was so much easier to manage. But it sure was an interesting time. (It did kinda of put me off Gentoo for life though.)


to post comments

Gentoo in binary form

Posted Dec 30, 2023 19:23 UTC (Sat) by Wol (subscriber, #4433) [Link]

> We ditched Gentoo for Debian later just because it was so much easier to manage. But it sure was an interesting time. (It did kinda of put me off Gentoo for life though.)

In a sense this is what ATTRACTED me to Gentoo, though. That for the most part, it works well, but you NEED a pretty good understanding of what's going on to make it behave ... I viewed it as a good learming experience.

Cheers,
Wol

Gentoo in binary form

Posted Dec 31, 2023 12:26 UTC (Sun) by aaronmdjones (subscriber, #119973) [Link]

> At the time this was not supported and we ran into crazy things like not being able to upgrade the tar package because the binary installer would attempt to overwrite its own binary during the unpacking process.

This is what install(1) is for. Never attempt to overwrite any binaries in-place; if they're running, the kernel simply won't let you.

The way install(1) works is that it unlinks the target ("deleting" it) -- even if it is running, this is allowed; the filesystem will merely hang onto the data blocks (not allowing them to be reused by any other file allocations) until they are not being used anymore -- and then it creates a new file with the same name. The contents of this file will be backed by different data blocks, allowing you to replace the file without overwriting it.

Specifically, the way Gentoo works these days (whether you're using a binary package or not), is that it first "installs" the package files to /var/tmp/portage/package-category/package-name/image/, and then it will sync this over to / (or whatever you set $ROOT to).


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds