Manage multiple world files in gentoo linux for different machines

2

1

If a user selects a package to be installed gentoo adds it to /var/lib/portage/world. Hence it can be used to install the same software on many systems by copying this file and run # emerge -uDN world afterwards.

How can I manage a set of packages that should be installed on all machines (setA) and another set of packages which should only go to the local machine (setB)?

Jonas Stein

Posted 2013-05-04T10:42:30.313

Reputation: 773

Answers

1

/etc/portage/sets/* and /var/lib/portage/world_sets can be used to accomplish this.

Read more about it in man portage.

Tamara Wijsman

Posted 2013-05-04T10:42:30.313

Reputation: 54 163

will I have to create /etc/portage/sets/mynetbook and /etc/portage/sets/myofficepc and add @mynetbook to /var/lib/portage/world_sets and then share /etc/portage/sets/* on all machines? – Jonas Stein – 2013-05-12T11:51:25.440

and how will I install new software then? emerge foo would change the worldfile, but I want to sort foo to /etc/portage/sets/basesystem – Jonas Stein – 2013-05-12T12:12:41.633

Yes, you can do it that way. To install new software, you need to adjust the set file and emerge @world. Note that this only upgrades when you specify -u and only rebuilds based on USE flags if you specify -N, therefore if you don't specify these two options you can use it to just emerge a new package. You may be able to more easily accomplish things by writing some bash functions in your .bash_profile that manipulate these files for you. – Tamara Wijsman – 2013-05-12T15:22:12.223