Hi Anthony, On Thu, 18 Jan 2018 06:46:53 -0500 Anthony G. Basile wrote:
>Hi everyone, > >I'm trying to design an update system for many identical Gentoo >systems. > Using a binhost is obvious, but there are still problems with this >approach. > >Unless there's some magic I don't know about (and this is why I'm >sending this email) each machine still needs to have the portage tree >installed locally (1.5 GB) or somehow mounted by a network filesystem >(which is not practical if the machines are not on a local network). >Furthermore, each machine would have to run emerge locally to do the >calculation of what packages need updating. > >This procedure is redundant because each machine is housing the same >data and doing the same dependence-tree calculation. It should be >possible to do this calculation on a centralized binhost and simply >communicate the update information to the remote machines. They would >then only have to download the .tbz2's and install them, keeping a tidy >/var/db/pkg. Thus they avoid having to house the portage tree and >burning cpu cycles that just calculate redundant information. > >I'm inspired here by OpenBSD's pkg_add which doesn't require all of >ports to be installed, and mender which is a > >Any ideas? > well, I never did anything like that but regarding the dependency calculation... how about something like emerge -1OKanv $(qlist -CISq) (--oneshot --nodeps --usepkgonly --ask --noreplace --verbose) which simply omits dependency calculations, only takes into account available binary packages and doesn't replace same versions? Of course this requires all installed packages really being available as binpkgs. Since all the installations are the same, as long as you provide a sane set of binpkgs, dependency calculation should not matter anyway. The only issue I can think of is that a system might become broken if the update gets interrupted before all packages have been updated. Kind regards -- Lars Wendler Gentoo package maintainer GPG: 21CC CF02 4586 0A07 ED93 9F68 498F E765 960E 9B39
pgpBmwpubwc8w.pgp
Description: Digitale Signatur von OpenPGP