Portupgrade est un outil de management des ports extremement avancé, ce dernier répond au problème principal des ports FreeBSD, l'upgrade et l'installation propre de packages, tant sources que binaires.
Portupgrade est dans le port tree, pour l'installer, faites l'opération suivante :
# cd /usr/ports/sysutils/portupgrade/ # sudo make install clean
Avant toute chose, mettez à jour votre database de ports par la commande :
# pkgdb -F
Et laissez vous guider pour les eventuelles réparations.
Voyons maintenant quelques exemples pratiques d'utilisation.
Installation d'un port, sans action particulière, ici on souhaite installer l'outil “screen”
# portinstall screen
ou encore
# portupgrade -N screen
Les 2 syntaxes sont similaires
Upgrade d'un port sans action particulière :
# portupgrade screen
Upgrade d'un port avec mise à jour recursive des packages qui en dépendent :
# portupgrade -r gtk12
Upgrade d'un port avec mise à jour recursive des packages dont il dépend :
# portupgrade -r gtk12
Upgrade d'un port avec mise à jour recursive des packages dont il dépend :
# portupgrade -R gtk12
On peut evidemment combiner :
# portupgrade -rR gtk12
ou encore, si le port n'est pas encore installé :
# portupgrade -rRN gtk12
Et etre encore plus propres en faisant le ménage, à savoir, en effaçant les librairies plus utilisées ( -u ) :
# portupgrade -rRu gtk12
Pour les feinéants ou les machines peu puissantes, il est possible de travailler sur les packages binaires. Tout d'abord, renseignez la valeur ENV['PACKAGEROOT'] dans /usr/local/etc/pkgtools.conf
Par exemple, ENV['PACKAGEROOT'] = 'ftp://ftp.fr.FreeBSD.org
'
Puis pour installer une version binaire de XFree 4.2 en gérant toutes les dépendances :
# portupgrade -PPrRu XFree86-4.2
-PP spécifie de ne travailler que sur les packages binaires.
Quelques bonus :
# pkg_glob *truc* # liste tous les packages contenant la chaine "truc" # pkg_which /path/vers/fichier # dit de quel port est issu un fichier # pkg_deinstall package # desinstalle, avec possibilité de récursivité, "package" # pkgclean # fait le ménage
A lire pour plus d'infos :
# man portupgrade # man pkgdb