Le gestionnaire de paquets est un système qui permet d'installer des logiciels, de les maintenir à jour et de les désinstaller. Son travail est de n'utiliser que des éléments compatibles entre eux, les installations sans utiliser de gestionnaire de paquets sont donc déconseillées.
Un paquet est un fichier contenant un ou plusieurs programmes, des fichiers de données complémentaires, des exemples, des documentations ou des scripts. Il embarque également des informations importantes pour la distribution comme la plateforme concernée, la liste d'autres paquets nécessaires à son fonctionnement, un journal des changements faits, etc.
Sous Debian (Raspbian), le moyen le plus simple de gérer l’installation, la mise à niveau et la suppression de logiciels consiste à utiliser APT (Advanced Packaging Tool). APT est un projet relativement vaste, qui prévoyait à l'origine une interface graphique. Il repose sur une bibliothèque contenant le cœur de l'application. apt-get est la première interface, en ligne de commande, développée dans le cadre du projet.
Pour installer ou supprimer des paquets (logiciels), vous devez disposer d'autorisations d'utilisateur root. En savoir plus sur les utilisateurs et root.
Pour installer de nouveaux paquets ou mettre à jour des paquets existants, vous avez besoin d'une connexion Internet.
APT conserve une liste des sources de paquets sur le Raspberry Pi dans un fichier /etc/apt/sources.list. Avant d'installer le paquet, il est nécessaire de mettre à jour le fichier sources.list avec la commande update puis de mettre à jour les paquets avec la commande upgrade.
sudo apt update sudo apt list --upgradable # pour voir la liste des paquets à mettre à jour
sudo apt upgrade
sudo apt dist-upgrade
Il est possible de rechercher, dans les archives, un paquet avec un mot clé donné :
apt-cache search <package_name>
Les paquets sont authentifiés avec des clés. apt-key est l'utilitaire de gestion des clés d'APT. Il gère les clés dont se sert apt pour authentifier les paquets. Les paquets authentifiés par ces clés seront réputés fiables.
# Exemple : Avant de pouvoir installer InfluxDB sur Raspbian, il est nécessaire d’indiquer # au système ou se trouvent les clés du dépôts du projet InfluxDB curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add
sudo apt install <package_name>
En tapant cette commande, l'utilisateur est informé de la quantité d'espace disque occupée par le paquet et une demande de confirmation de son installation lui est proposée. Entrer O (ou appuyer simplement sur Entrée, car oui est l’action par défaut) autorisera l’installation. Cela peut être contourné en ajoutant le drapeau -y à la commande :
sudo apt install <package_name> -y
Exemple : le paquet tree (outil en ligne de commande qui permet de visualiser la structure du répertoire en cours et tout son contenu)
tree
..
├── hello.py
├── games
│ ├── asteroids.py
│ ├── pacman.py
│ ├── README.txt
│ └── tetris.py
On peut afficher plus d'informations sur un paquet avant de l'installer avec :
apt-cache show <package_name>
La liste des “nombreux” paquets installés (plus de mille) se fait avec la commande dpkg.
dpkg -l
Pour limiter l'affichage aux lignes contenant un texte spécifié, on redirigera les données avec | vers le filtre grep.
dpkg -l | grep <texte> # | est le pipe
sudo apt update sudo apt upgrade sudo apt dist-upgrade
sudo apt install <package_name>
Un paquet peut être désinstallé avec l'opération remove. Cependant, ses fichiers de configuration sont conservés afin d'accélérer une éventuelle réinstallation.
sudo apt remove <package_name>
L'utilisateur est invité à confirmer la suppression. Encore une fois, le drapeau -y confirmera automatiquement.
On peut également choisir de supprimer complètement le paquet et ses fichiers de configuration avec apt purge.
sudo apt purge <package_name>