Une fois que vous avez mis à jour votre collection de ports, avant de tenter une mise à niveau de port, vous devez vérifier le fichier /usr/ports/UPDATING. Ce fichier décrit divers problèmes et étapes supplémentaires que les utilisateurs peuvent rencontrer et doivent effectuer lors de la mise à jour d'un port.
Maintenir les ports à jour peut être un travail fastidieux. Par exemple, pour mettre à niveau un port, vous devez accéder au répertoire des ports, créer le port, désinstaller l'ancien port, installer le nouveau port, puis nettoyer après la construction. S'il y a de nombreux ports qui doivent être mis à niveau, ce sera très gênant. C'était un gros problème pour les administrateurs système, et FreeBSD a des utilitaires qui le font automatiquement, et c'est l'utilitaire sysutils/portupgrade.
Pour installer l'utilitaire sysutils/portupgrade, utilisez la commande comme pour installer n'importe quel autre port :make install clean.
Créez une base de données avec la commande suivante :pkgdb -F
La commande lira la liste des ports installés et créera un fichier de base de données dans le répertoire /var/db/pkg.
Exécutez portupgrade -a pour commencer à mettre à jour les ports.
Le portupgrade lira le fichier de base de données créé par pkgdb -F et le fichier INDEX des ports. Enfin, portupgrade commencera à télécharger, construire, sauvegarder, installer et nettoyer les ports qui ont été mis à jour.
L'utilitaire Portupgrade propose de nombreuses options pour différentes utilisations, les plus importantes étant répertoriées ci-dessous.
Si vous souhaitez mettre à niveau uniquement une application donnée, pas la base de données complète, utilisez portupgrade pkgname , incluez les drapeaux -r si portupgrade doit également agir sur tous ces packages en fonction du package donné, et -R pour agir sur tous les packages requis par les packages donnés.
Pour utiliser des packages au lieu de ports pour l'installation, indiquez -P. Avec cette option, portupgrade recherche les répertoires locaux répertoriés dans PKG_PATH, ou récupère les packages du site distant s'ils ne sont pas trouvés localement. Si les packages ne peuvent pas être trouvés localement ou récupérés à distance, portupgrade utilisera les ports. Pour éviter d'utiliser des ports, spécifiez -PP.
Pour simplement récupérer des fichiers dist (ou des packages, si -P est spécifié) sans rien compiler ni installer, utilisez -F.
Remarque :Il est important de mettre régulièrement à jour la base de données des packages à l'aide de pkgdb -F pour corriger les incohérences, en particulier lorsque portupgrade vous le demande. N'abandonnez pas portupgrade pendant la mise à jour de la base de données des packages, cela vous laissera une base de données incohérente.