On Sat, Jul 2, 2011 at 6:14 PM, Grant <emailgr...@gmail.com> wrote:

> After a frustrating experience with a Linksys WRT54GL, I've decided to
> stick with Gentoo routers.  This increases the number of Gentoo
> systems I'm responsible for and they're nearing double-digits.  What
> can be done to make the management of multiple Gentoo systems easier?
> I think identical hardware in each system would help a lot but I'm not
> sure that's practical.  I need to put together a bunch of new
> workstations and I'm thinking some sort of server/client arrangement
> with the only Gentoo install being on the server could be appropriate.
>
> - Grant
>
>

I've been managing 3 very very different gentoo systems for more than 12
months now.  I used to have 2 more machines but I decomissioned them for
they were old and noisy and it's summer and it's hot enough like that! haha

I do not have a lazy-proof way of administrating this whole stuff, but I've
come up with some kind of methodology that helps...

I found it really helps to have the same profile on all machines, same
/etc/portage everything.  The /etc/make.conf can vary, but I would make it
vary in the most minimal way.  For example, all my kernels and
/etc/make.conf are compiled for an i686, global use flags are exactly the
same... in fact the only difference is my host has extra make option "-j5"
and their distfiles mirrors will point to my own computers.  Basically,
downgrade all computers to the lowest common denominator of all your
computers.

I don't use binpkgs but I'm working on that...  and also for the world file,
I have 2 world file "styles", one has "everything" in it and the other is
just the minimal stuff.  I used to maintain the world files directly but
I've opted for creating 2 ebuilds in my own portage overlay which are
basically called sys-apps/everything and another called
sys-apps/minimalist.  Maintenance of world files moved to the maintenance of
these ebuilds.  Also, it helps to have your faster computer install all
packages that would be installed on the others.  If there's any trouble
doing the emerge on that one, you'll have the same problems on the others.
If the solution was to add some keywords in /etc/portage or something like
that, then you can copy the change over to your other PCs and their emerge
should be fine.

To reduce network load, I sync my master server (my server online) against
official sync server, then I sync my main computer at home against my
server, then I sync any other computers at home against the main computer at
home.

But the activity of making your systems up-to-date will vary in intensity
depending on how well it goes.  When things are fine, it used to take 30
minutes to get all my systems updated, with the slowest ones taking 2-3
times that but requiring no intervention until the end.

I'm currently in the process of writing a script that fully automates the
update process.  It basically tries things like "emerge -uDN --keep-going
world" and checks for errors, if there are, it then fires a few safe
"responses" which have helped in the past.  For example, if the above emerge
fails, it then tries a revdep-rebuild, an lafilefixer, python-updater and a
few more, and then it restart from scratch trying the emerge again, over and
over.  Rarely, this will not work and will require that I mask something,
add some keyword or update my ebuild to get rid of some package.  The script
is clearly not intelligent and is wasting a lot of time, but it eventually
gets it done.  Upgrades now take at least 1 hour, but are fully unattended.

Also, I think Wonko's suggestion is pretty good in combination with my
suggestions, I haven't tried but it does seem very attractive.

Simon

Reply via email to