Gentoo - aktualizace

17. 04. 2013 | Jakub Kadlčík | cz

Gentoo nabízí jeden z nejlepších systému pro správu balíčků - portage. K aktualizacím proto lze přistupovat docela individuálně. Zde bych (především pro sebe) chtěl sepsat můj postup.

Upozornění: Autor zápisku není zodpovedný za škody vzniklé aplikací tohoto postupu.

Nejdříve je samozřejmě nutná synchronizace repozitářů

emerge --sync

Aktualizace by spadla při instalování balíčku virtualbox-modules, proto před samotnou aktualizací celého systému, provedu následující krok.

emerge gentoo-sources
cd /usr/src/linux
make oldconfig
make modules_prepare

Teď všechny balíčky

emerge -uDNptv world
emerge -uDNtv world
emerge -1 $(qlist -IC x11-drivers)
emerge -pv --depclean
emerge -v --depclean
revdep-rebuild -pv
revdep-rebuild
etc-update

Následuje kompilace nového jádra, nakopírování do /boot, přidání do grubu a reboot

cd /usr/src/linux
make && make modules_install
cp arch/x86/boot/bzImage /boot/gentoo-version
reboot

Po rebootu je potřeba nainstalovat a zavést moduly pro virtualbox.

emerge virtualbox-modules
modprobe vboxdrv

Příkazy, které se mohou hodit

Překompiluje všechny balíčky, kterým se změnily USE flagy

emerge -pN world

Nainstaluje balíček, ale nenapíše jej do world souboru

emerge --oneshot package

Problémy

Používám XMonad a čas od času se stane, že po aktualizaci nenaskočí. Řešení je následující.

# Vypíše seznam balíčků. Červeně vypsané jsou rozbité a je potřeba je přeinstalovat
ghc-pkg list

# Přeinstalování balíčku
emerge --oneshot balicek

Někdy se zase stane, že nejde překompilovat a tím změnit konfigurace. Chybu ukazuje na include řádcích, které jsou ale v pořádku - nenechte se zmást.

emerge xmonad-contrib

Měli bychom dostat chybu ve které jsou tyto neviné řádky (ani nejsou označené červeně)

setup: At least the following dependencies are missing:
X11 >=1.2.1
* ERROR: x11-wm/xmonad-contrib-0.10 failed (configure phase):
  setup configure failed

Přeinstalujeme balíček který údajně chybí. Ten možná spadne na podobné chybě, tak nejdříve vyřešíme závislost pro něj.