Package Management and synchronisation - kraut-computing/siegfried GitHub Wiki
We use the default gentoo package manager portage. To synchronise our nodes we use robert as our build node and share binary packages.
Also see gentoo wiki
- edit
/etc/portage/make.conf
to build binaries FEATURES="buildpkg"
- export binaries via NFS
-
/etc/exports
:/usr/portage/packages <clients>(ro,no_subtree_check,root_squash)
/etc/init.d/NFS restart
- add NFS to runlevel
-
- mount binaries
-
/etc/fstab
:robert:/usr/portage/packages /usr/portage/packages nfs defaults 0 0
mount /usr/portage/packages/
- edit
/etc/portage/make.conf
EMERGE_DEFAULT_OPTS="--usepkgonly --rebuilt-binaries"
TODO: vorher testen, ...
We use Puppet to manage the packages on the system.
All settings are in <PUPPET_CONFIG_DIR>/manifests/10_packages.pp
Add a line to the setupfile to install or uninstall packages
package { "<package id>[:slot]":
ensure => <latest/version/absent>,
[package_settings => {
use => "<useflags>",
}]
}
for use flages on dependencies remove the ensure
line.
also see project homepage