Comment gérer les packages sur FreeBSD 10.1 avec Pkg

De Get Docs
Aller à :navigation, rechercher

Introduction

Le gestionnaire de packages binaires de FreeBSD, pkg', peut être utilisé pour gérer facilement l'installation d'applications pré-compilées, les packages Debian et RPM équivalents à FreeBSD. Par rapport à l'autre méthode courante d'installation de logiciels sur FreeBSD, la compilation des ports ' avec la collection de ports, l'utilisation de packages fournit une alternative plus simple et plus rapide qui fonctionne dans de nombreuses situations. Les packages, cependant, ne sont pas aussi flexibles que les ports car les installations de packages ne peuvent pas être personnalisées. Si vous avez besoin de personnaliser les options de compilation de vos installations logicielles, utilisez ports au lieu de packages.

Dans ce tutoriel, nous allons vous montrer comment gérer les packages sur FreeBSD 10.1. Cela inclut l'installation et la suppression de packages, entre autres tâches connexes.

Conditions préalables

Pour utiliser les commandes de ce tutoriel, vous devez avoir un accès root à un serveur FreeBSD. Autrement dit, vous devez pouvoir vous connecter au serveur en tant que root ou un autre utilisateur disposant de privilèges de superutilisateur via la commande sudo. Si vous envisagez d'utiliser root, vous pouvez omettre la partie sudo des exemples de commandes.

Comment installer de nouveaux packages avec Pkg

Si vous connaissez le nom du package que vous souhaitez installer, vous pouvez l'installer en utilisant la commande pkg comme ceci :

sudo pkg install package_name

Vous pouvez également spécifier plusieurs packages à installer, séparés par des espaces, comme ceci :

sudo pkg install package1 package2 ...

Par exemple, installons Nginx, un serveur Web populaire, avec pkg :

sudo pkg install nginx

L'exécution de cette commande lancera l'installation du package que vous avez spécifié. Tout d'abord, votre système vérifiera les mises à jour du catalogue du référentiel de packages. S'il est déjà entièrement mis à jour, recherchez le package spécifié. Si le package est trouvé, le package et les packages dont il dépend seront répertoriés. Une invite de confirmation apparaîtra alors.

Dans ce cas, seul le package nginx sera installé. Répondez à l'invite avec y pour confirmer :

New packages to be INSTALLED:
    nginx: 1.6.2_1,2

The process will require 654 KB more space.
244 KB to be downloaded.

Proceed with this action? [y/N]: y

Après avoir confirmé l'installation du package, le ou les packages répertoriés seront téléchargés et installés sur le système. Certains packages afficheront des informations ou des instructions post-installation importantes concernant l'utilisation de l'application, après l'installation. Assurez-vous de suivre toutes les notes post-installation.

Si vous utilisez le shell par défaut, tcsh ou csh, vous devez reconstruire la liste des binaires dans votre PATH avec cette commande :

rehash

Il est également important de noter que les applications qui sont des services ne démarrent pas automatiquement et ne sont pas activées en tant que service après avoir été installées. Voyons maintenant comment exécuter les services.

Comment exécuter les services

Sur FreeBSD, les services installés avec des packages fournissent un script d'initialisation de service dans /usr/local/etc/rc.d. Dans l'exemple de Nginx, qui s'exécute en tant que service, le script de démarrage s'appelle nginx. Notez que vous devez remplacer le nom du script de service approprié, au lieu du "nginx" en surbrillance, lors de l'exécution des commandes.

Pour montrer ce qui se passe si vous essayez de démarrer un service qui n'est pas activé, essayez d'utiliser la commande service pour démarrer votre logiciel immédiatement après l'avoir installé :

sudo service nginx start

Le service ne démarrera pas et vous rencontrerez un message semblable à celui-ci :

Cannot 'start' nginx. Set nginx_enable to YES in /etc/rc.conf or use 'onestart' instead of 'start'.

Pour activer le service, suivez les instructions du message et ajoutez la ligne suivante à /etc/rc.conf :

nginx_enable="YES"

Vous pouvez soit ouvrir /etc/rc.conf dans un éditeur et ajouter la ligne, soit utiliser l'utilitaire sysrc pour mettre à jour le fichier comme ceci :

sudo sysrc nginx_enable=yes

Maintenant, le service est activé. Il démarrera au démarrage de votre système et vous pourrez utiliser la sous-commande start qui a été tentée précédemment :

sudo service nginx start

Si vous souhaitez exécuter le service une fois, sans l'activer, vous pouvez utiliser la sous-commande onestart. Le démarrage d'un service de cette manière exécutera le script de démarrage immédiatement, mais il ne sera pas lancé au démarrage du système. Essayez-le maintenant:

sudo service nginx onestart

L'utilisation de la sous-commande onestart est utile si vous souhaitez tester la configuration de vos services avant de les activer.

Comment afficher les informations sur le paquet avec Pkg

Pour afficher des informations sur les packages installés, vous pouvez utiliser la commande pkg info, comme ceci :

pkg info package_name

Cela imprimera diverses informations sur le paquet spécifié, y compris une description du logiciel, les options avec lesquelles il a été compilé et une liste des bibliothèques dont il dépend.

Comment mettre à niveau les packages installés avec Pkg

Vous pouvez installer les dernières versions disponibles des packages installés sur votre système avec cette commande :

sudo pkg upgrade

L'exécution de cette commande comparera vos packages installés avec les versions du catalogue du référentiel et imprimera une liste des packages pouvant être mis à jour vers une version plus récente :

Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking for upgrades (2 candidates): 100%
Processing candidates (2 candidates): 100%
The following 2 packages will be affected (of 0 checked):

Installed packages to be UPGRADED:
    python27: 2.7.8_6 -> 2.7.9
    perl5: 5.18.4_10 -> 5.18.4_11

The process will require 2 MB more space.
23 MB to be downloaded.

Proceed with this action? [y/N]: y

Répondez avec un y à l'invite pour procéder à la mise à niveau des packages répertoriés.

Comment supprimer des packages avec Pkg

Si vous connaissez le nom du package que vous souhaitez supprimer, vous pouvez le supprimer en utilisant la commande pkg comme ceci :

sudo pkg delete package_name

Vous pouvez également spécifier plusieurs packages à supprimer, séparés par des espaces, comme ceci :

sudo pkg delete package1 package2 ...

Supprimons le package Nginx que nous avons installé précédemment :

sudo pkg delete nginx

Vous verrez un message comme celui-ci, avec une invite de confirmation :

Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
    nginx-1.6.2_1,2

The operation will free 654 KB.

Proceed with deinstalling packages? [y/N]: y

Répondez à l'invite avec y pour confirmer l'action de suppression du package.

Comment supprimer les dépendances inutilisées

Si vous supprimez un package qui a installé des dépendances, les dépendances seront toujours installées. Pour supprimer les packages qui ne sont plus requis par les packages installés, exécutez cette commande :

sudo pkg autoremove

La liste des packages qui seront supprimés sera imprimée suivie d'une invite. Répondez y à l'invite de confirmation si vous souhaitez supprimer les packages répertoriés.

Comment trouver des packages avec Pkg

Pour rechercher les packages binaires disponibles dans le référentiel, utilisez la commande pkg search.

Par nom de paquet

La méthode de recherche la plus simple consiste à utiliser le nom du package. Si vous souhaitez effectuer une recherche sur le nom du package, utilisez la commande comme ceci :

pkg search package_name

Par exemple, pour rechercher des packages dont le nom contient "nginx", utilisez cette commande :

pkg search nginx

Cela imprimera une liste des packages, y compris les numéros de version, avec "nginx" dans le nom :

nginx-1.6.2_1,2
nginx-devel-1.7.8
p5-Nginx-ReadBody-0.07_1
p5-Nginx-Simple-0.07_1
p5-Test-Nginx-0.24

Si vous souhaitez lire les informations détaillées sur les packages répertoriés, utilisez l'option -f comme ceci :

pkg search -f package_name

Cela imprimera les informations de chaque package correspondant au nom de package spécifié.

Par description

Si vous n'êtes pas sûr du nom du package que vous souhaitez installer, vous pouvez également rechercher les descriptions des packages disponibles dans le référentiel en spécifiant l'option -D. Par défaut, la correspondance de modèle n'est pas sensible à la casse :

pkg search -D pattern

Par exemple, pour rechercher tous les packages avec "java" dans la description, utilisez la commande comme ceci :

pkg search -D java

Cela imprimera les noms de tous les packages disponibles avec le modèle spécifié dans le champ de description, ainsi que la description.

Comment en savoir plus sur l'utilisation de Pkg

Pkg est un utilitaire très flexible qui peut être utilisé de plusieurs façons qui ne sont pas couvertes dans ce didacticiel. Heureusement, il fournit un moyen facile de rechercher quelles options et sous-commandes sont disponibles, et ce qu'elles font.

Pour imprimer les options et sous-commandes disponibles, utilisez cette commande :

pkg help

Pour lire les pages de manuel des différentes sous-commandes, utilisez pkg help et spécifiez la commande sur laquelle vous souhaitez en savoir plus, comme ceci :

pkg help subcommand

Par exemple, si vous souhaitez en savoir plus sur l'utilisation de pkg search, saisissez cette commande :

pkg help search

Cela affichera une page de manuel qui détaille comment utiliser pkg search.

Conclusion

Vous devriez maintenant en savoir assez sur l'utilisation de pkg pour gérer les packages binaires sur votre serveur FreeBSD.

Si vous souhaitez en savoir plus sur la gestion des logiciels sur votre serveur FreeBSD, assurez-vous de lire sur ports avec ce tutoriel : Comment installer et gérer les ports sur FreeBSD 10.1.