Mise à jour système :
#!/bin/bash
trap 'exit 1' ERR SIGINT # Si une commande échoue, mettre fin au script
emerge --sync
#layman -S
emerge -auDN world
dispatch-conf
emerge --depclean
revdep-rebuild
eclean distfiles
Lors de l'élaboration d'un ebuild, pour bypasser la recherche des fichiers sur les miroirs, redéfinir la variable GENTOO_MIRRORS :
GENTOO_MIRRORS="" ebuild foo-1.2.3.ebuild manifest
Fichier .la (bibliothèque statique) introuvable lors d'un emerge :
emerge lafilefixer # si lafilefixer n'est pas déjà installé
lafilefixer --justfixit
# puis relancer emerge
Pour conserver les symboles de débogage, ajouter à /etc/make.conf :
FEATURES="splitdebug"
Et ajouter le USE flag debug aux portages désirés qui le gèrent.
Pour Sabayon :
* de manière globale : éditez /etc/entropy/client.conf pour mettre la variable splitdebug à valeur vraie :splitdebug = enable
* pour des paquets spécifiques (recommandé), **en plus du point précédent**, il faut jouer sur le fichier /etc/entropy/packages/package.splitdebug, à raison d'un paquet par ligne (il est possible de restreindre par rapport aux versions ou origine). Exemple :echo 'sys-libs/glibc' >> /etc/entropy/packages/package.splitdebug
Par contre, il ne faut pas oublier ensuite de réinstaller les paquets concernés (equo install ).
Sinon valgrind, par exemple, va vous demander ces symboles par ce message d'erreur :valgrind: Fatal error at startup: a function redirection
valgrind: which is mandatory for this platform-tool combination
valgrind: cannot be set up. Details of the redirection are:
valgrind:
valgrind: A must-be-redirected function
valgrind: whose name matches the pattern: strlen
valgrind: in an object with soname matching: ld-linux-x86-64.so.2
valgrind: was not found whilst processing
valgrind: symbols from the object with soname: ld-linux-x86-64.so.2
valgrind:
valgrind: Possible fixes: (1, short term): install glibc's debuginfo
valgrind: package on this machine. (2, longer term): ask the packagers
valgrind: for your Linux distribution to please in future ship a non-
valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
valgrind: that exports the above-named function using the standard
valgrind: calling conventions for this platform. The package you need
valgrind: to install for fix (1) is called
valgrind:
valgrind: On Debian, Ubuntu: libc6-dbg
valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo
valgrind:
valgrind: Cannot continue -- exiting now. Sorry.
Pour faire le ménage dans /etc/portage/package.*, utiliser portpeek :
emerge portpeek
portpeek -arf
Installer vi :
emerge app-editors/nvi (ou elvis ?)
Benchmarker l'exécution d'un programme :
* Installer l'utilitaire time si ce n'est pas déjà fait :# Gentoo
emerge sys-process/time
# Sabayon
equo install sys-process/time
* Lancer le programme à évaluer, exemple :time ./ugrep -Hrin pattern /