If you're like me, you want to run Gentoo on everything. Your spiffy new laptop, your desktop at work, the fileserver hooked up to your TV, the headless firewall/router, etc. The thought of compiling Gentoo on a 650mhz athlon is not completely horrifying, but then what about keeping the system up to date?

After trying to use "emerge -b" and "emerge -k" directly, I ran into some issues with certain ebuilds. They didn't detect dependencies correctly because of RDEPEND and DEPEND variables differing. I have no idea if this problem still exists, but the script I created has been useful regardless.

So, on the fastest machine you have, devote a few gigs to building your Gentoo paradigm.

Oh, before you go any further, understand that my config is set up for a gtk2/gnome system, I refuse to run anything gtk1 or kde based. Though I've given in and added some java and mono related packages. Also I had to use a few unstable packages to get my Dell e1405 working, but for the most part it's a "stable" system. Modify these /etc/portage settings according to your taste.

And then the fun begins. I wrote this script to simplify doing a two-pass emerge, first pass is pretend, second pass is for real to either build or install binary packages. This script is not necessary for building, but I'll show you here how to use it because the same method will be used to install the packages on other machines later. Here's the script:

The system can then be kept up to date by running "./twopass.pl -b" after syncing portage. It will remove old binary packages and build new ones based on "emerge -DNup world". You can share /home/gentoo/paradigm/packages over a network or copy them to a thumb drive.

yes, very interesting and nice way
But one idea: since you have a fully running system in /home/gentoo on the fast box, why use 'emerge -k' or '-g' or '-gK' on the slow machines? If you just chroot on the fast machine into /home/gentoo and run emerge wihtout the -b option, you could save disk space(ok, not that important) AND you could then use

Code:

rsync -a rsync://big-machine/gentoo-paradigm /

on your slow machines to keep the system up to date(Before, we set up a rsync server - not that hard...).
In the fast machine's /etc/paradigm.filter we could put, among the default optins, something like

Of course, there are some improvements possible to the rsync options. We could, for example, use the ssh or rsh proto instead of the rsync proto and define a filter file. The reason for using rsync, IMHO is, that even running emerge only with binary packages is slower than just rsyncing. Please correct me, folks, if I'm wrong. And, like mentioned before, we don't need a portage tree on the slow ones.

EDIT: But your method is definitely more effective and faster when merging single packets! I just thought, for emerge world things, rsync rocks _________________# make config; not war
registered linux user # 265707

Rsync could work for some people the way you describe. For me, it wont work because in /home/gentoo I build every package I use on any of my various machines. gnome and games for my son, productivity and communication apps for my wife, etc. No one machine I have has everything installed on it. Also what I do is (this has come in handy a few times), rsync the binary packages, my portage tree, and stage3 tarball to a 2gb usb thumb drive. For example, when a co-worker wants to try installing linux on his laptop, I boot from a gentoo cd, plug in my thumb drive, and install a fully functional gnome desktop for him in less than an hour. A month later when something's not working I'll say, "here, let me do some updates". plug in my thumb drive, run one script, and 15 minutes later he's up to date.

If you need to be that flexible, of course rsnyc isn't an option! then yours is the best method, I think! I just thought, if someone is hosting 10 pcs in a university, the combination of your and my method(rsync) is fastest. I didn't know you are doing this for several machines with different setup. But don't you then need a portage tree on every box so they can resolve depencies? Of course this isn't a problem since you can export your /usr/portage of the big box via nfs as well _________________# make config; not war
registered linux user # 265707

Yes, the portage tree is necessary. Basically I export /paradigm (or store it on a usb drive) which contains the portage tree and binary packages, as well as stage3 and a couple scripts to automate installation and updates. I'm cleaning up the scripts and will post them here soon. To update each system I just type: