apt vs apt-get : Quelle est la différence sous Linux ?
Publié: 2022-06-16 Pourquoi les distributions Linux basées sur Debian ont-elles apt
ainsi que apt-get
? apt a-t-il remplacé apt
apt-get
ou ont-ils des objectifs différents ? Nous expliquons la relation entre ces deux commandes.
Le système de gestion de paquets Debian
Un effort majeur dans la création d'une distribution Linux consiste à concevoir et à créer un système de gestion de packages. Vos utilisateurs doivent disposer d'un moyen d'installer et de désinstaller des packages logiciels. Cela nécessite que le logiciel récupère les fichiers de package de votre référentiel de logiciels et les installe correctement sur les ordinateurs des utilisateurs.
Ce n'est pas une mince affaire. Même en mettant de côté l'ingénierie logicielle, l'hébergement des référentiels de logiciels prend du temps, des efforts et des dépenses. C'est l'une des raisons pour lesquelles tant de « nouvelles » distributions Linux dérivent d'une distribution Linux existante.
Cela conduit à des familles ou des généalogies de distributions Linux, telles que les distributions basées sur Debian, les distributions basées sur Red Hat, les distributions basées sur Arch, etc.
La famille de distributions Debian, y compris Ubuntu et toutes les distributions dérivées d'Ubuntu, utilise le gestionnaire de paquets Debian. Cela utilise des fichiers de package avec l'extension de fichier ".deb", appelés fichiers DEB. Les fichiers DEB sont des fichiers compressés contenant d'autres fichiers d'archive. Les fichiers d'archive contiennent les fichiers exécutables de l'application, les pages de manuel, les bibliothèques, etc.
Installer le logiciel à partir d'un fichier DEB signifie décompresser tous ces fichiers de composants et les placer aux bons emplacements sur votre ordinateur. Cela nécessite également une interaction avec le système d'exploitation et l'environnement de bureau afin que l'application apparaisse dans les recherches d'applications et que son icône puisse être ajoutée aux docks ou aux menus système.
Les commandes apt-get
et apt
le font toutes les deux. Mais pourquoi avons-nous deux commandes pour la même chose ?
La chaîne de commandement
Le paquet qui effectue réellement l'installation s'appelle dpkg
. Il s'agit en fait d'une famille de commandes comprenant dpkg-split
, dpkg-trigger
et dpkg-divert
. Ceux-ci sont appelés, si et selon les besoins, par les outils de la suite Advanced Package Tool, ou APT. APT est une autre collection d'outils, notamment apt-get
, apt-cache
et apt
.
La commande dpkg
est considérée comme une commande de bas niveau. Au-delà des interactions les plus simples, cela devient très compliqué avec un grand nombre d'options. La commande apt-get
agit comme une interface pour la suite de commandes dpkg
. Cela simplifie considérablement les choses. apt-get
est conçu comme une commande destinée à l'utilisateur et non comme une commande d'arrière-plan de bas niveau. Même ainsi, malgré son rôle humain, une autre commande appelée apt-cache
a été utilisée pour afficher des informations à l'utilisateur.
La commande apt
fournit un autre moyen de « parler » à dpkg
via un outil de ligne de commande plus accessible et convivial. Il fournit un sous-ensemble des fonctionnalités de apt-get
, mais c'est un grand sous-ensemble et il fournit toutes les fonctionnalités couramment utilisées et il inclut également les fonctionnalités de apt-cache
.
Linux Mint a besoin d'une mention spéciale ici. Les mainteneurs de Linux Mint ont développé leur propre version de apt
, qui est un wrapper Python pour apt-get
. Ce n'est pas l' apt
dont nous parlons ici. Nous faisons référence à Debian apt
, qui a été publié en 2014, et a attiré l'attention et la traction dans le verset utilisateur lorsqu'il a été inclus dans Ubuntu 16.04 en 2016.
Les différences entre apt et apt-get
Ainsi, dpkg
est l'application d'arrière-plan de bas niveau. La commande apt-get
est une interface complète mais simplifiée pour dpkg
, et apt
est une version plus conviviale mais légèrement simplifiée de apt-get
.
Mais apt-get
et apt
fournissent plus qu'une simple interface pour dpkg
. Ils font des choses que dpkg
ne fait pas. Ils récupéreront les fichiers des référentiels et essaieront d'aider avec les dépendances manquantes et les conflits.
À son tour, la commande apt
fait certaines choses que apt-get
ne fait pas. Il fournit plus d'informations du type que l'utilisateur moyen souhaite voir lors d'une installation et supprime certaines des informations les plus obscures affichées par apt-get
. apt
donne un retour visuel supérieur et utilise des surbrillances de couleur et des barres de progression dans la fenêtre du terminal.
Il existe des commandes communes entre apt
et apt-get
. Toutes ces commandes peuvent être précédées de apt
ou apt-get
et se comporteront de la même manière :
- install packagename : Installe un package.
- remove nomdupaquet : supprime (désinstalle) un paquet.
- purge packagename : Supprime un package et ses fichiers de configuration.
- update packagename : met à jour les informations du référentiel.
- upgrade : Mettre à jour tous les packages.
- autoremove : supprime les bibliothèques et autres packages qui ne sont plus nécessaires.
L'option apt full-upgrade
remplace l'option apt-get dist-upgrade
.
Ce sont de nouvelles commandes pour apt
:
- apt search : Recherche un nom de paquet dans les dépôts. C'est la même chose que
apt-cache search
- apt show : affiche des informations sur un paquet. C'est la même chose que
apt-cache show
. - Option apt list : affiche les listes des packages installés ou pouvant être mis à niveau.
- apt edit-sources : édite directement la liste des référentiels dans lesquels
apt
recherche les packages.
Installation d'une application
Vous pouvez utiliser apt search
pour voir si un paquet existe dans les référentiels ou pour vérifier que vous avez le bon nom pour le paquet. Supposons que vous souhaitiez installer Scribus mais que vous ne connaissiez pas le nom du package. Vous pouvez essayer de rechercher scribus-desktop
.
apt rechercher scribus-desktop
Cette recherche n'a rien trouvé. Nous allons réessayer avec un indice de recherche plus court et plus générique.
apt recherche scribus
Cela renvoie plusieurs résultats, et nous pouvons voir qu'il y en a un appelé "scribus", et qu'il semble certainement qu'il s'agisse du package principal de l'application de publication assistée par ordinateur Scribus. La commande apt show
nous donnera plus de détails.
apt montrer scribus
Nous obtenons une décharge d'informations sur le paquet, y compris ce qui sera installé et une description du logiciel.
Il suggère également d'autres forfaits qui pourraient être nécessaires, selon nos besoins.
Pour installer le package, nous devons utiliser sudo
.
sudo apt installer scribus
Les fichiers sont récupérés à partir des référentiels. Le fichier en cours de récupération est surligné en marron.
Lorsque les fichiers ont été récupérés, ils sont installés. La progression de l'installation est indiquée sous forme de pourcentage affiché en chiffres et sous forme de barre de progression.
Autres commandes
Les commandes apt list
et apt edit-sources
sont des options dans apt
qui n'existent pas dans apt-get
.
La commande apt list
peut être utilisée avec les options --installed
ou --upgradeable
pour voir les packages installés sur votre ordinateur et ceux qui pourraient être mis à niveau.
Pour voir la liste des applications installées sur votre ordinateur utilisez :
liste apt --installé
En faisant défiler la sortie, nous pouvons voir deux entrées pour notre application Scribus nouvellement installée.
Pour voir si l'une des applications installées peut être mise à niveau, utilisez l'option --upgradeable
.
apt list --upgradable
La commande apt
vous permet également de modifier les informations stockées sur les référentiels apt
recherche les packages. Ne le faites que si vous savez ce que vous faites.
sudo apt edit-sources
Cette commande ouvre votre éditeur par défaut et charge le fichier contenant les informations du référentiel.
Dois-je utiliser apt ou apt-get ?
La commande apt-get
n'est pas souvent mise à jour, et c'est une bonne chose. Il doit maintenir la rétrocompatibilité. La rétrocompatibilité n'est pas si préoccupante pour apt
. Elle est considérée et traitée comme une commande destinée à l'utilisateur.
Pour une utilisation quotidienne, utilisez apt
.
Si vous créez un script concernant l'installation du paquet, utilisez apt-get
. Cela vous donne les meilleures chances de portabilité et de compatibilité dans vos scripts.
CONNEXION : Le guide du débutant pour les scripts Shell : les bases