Menu Fermer

Apt Linux : installer et mise à jour de paquets et distribution Ubuntu, Debian, Mint

APT pour Advanced Package Tool est un utilitaire présent sur les distributions Linux Debian comme Ubuntu, Mint, Kali, etc
Cet outil essentiel permet d’installer, supprimer un logiciel ou encore mettre à jour ce dernier.
Enfin avec apt, vous pouvez aussi mettre à jour votre distribution Linux.
Plusieurs commandes existent comme apt-get, apt-cache, etc

Cet article vous présente l’utilisation d’APT :

  • comment installer ou supprimer un paquet (package en anglais)
  • comment mettre à jour un logiciel
  • et enfin comment mettre à jour votre distribution Linux
Apt Linux : installer et mise à jour de paquet et distribution

Introduction à APT

Ne pas confondre APT avec Advanced persistent threat qui désigne des logiciels malveillants sophistiqués.

En effet apt permet d’installer des logiciels sur les distributions à base de Debian depuis les dépôts (repository).
Quelques rappels concernant les packages de distribution.
Un mainteneur s’occupe de maintenir un package qui permet d’installer un logiciel sur la distribution.
Il s’agit d’un fichier .deb que le mainteneur créé et maintient.
Ce fichier permet de jouer des scripts afin de placer les fichiers de configuration et de l’application dans Linux.
En clair donc d’installer les paquets et applications dans Linux.

dépôts (respositories en anglais) sont des serveurs mis en ligne qui stockent tous les .deb d’une distribution.
Ainsi, apt se connecte à l’un de ses serveurs afin de télécharger le .deb et l’installer. On appelle cela les sources.
Pour ce fait, apt appelle la commande dpkg.
Un dépôt peut stocker plus de 20 000 fichiers .deb.

Enfin apt peut aussi mettre à jour une distribution Linux.
Cela consiste donc à télécharger tous les .deb de la nouvelle version et les installer.
Les logiciels systèmes comme udev, libc ou encore le noyau linux sont aussi mis à jour par cette méthode.

Du côté des distributions Redhat, l’équivalent est yum/DNF.
Son fonctionnement est assez proche.

Les fichiers de configuration

Afin de fonctionner apt utilise plusieurs fichiers et dossiers.
Voici une liste de ces derniers.

  • /etc/apt/sources.list: stocke les sources avec l’adresse des dépôts
  • /etc/apt/sources.list.d/: sources additionnels. Ainsi on peut ajouter des dépôts non officielles.
  • /etc/apt/apt.conf: fichier de configuration APT
  • /etc/apt/apt.conf.d/: fichiers de configuration additionnels.
  • /etc/apt/preferences.d/: Les fichiers de préférences additionnels.
  • /var/cache/apt/archives/: Stocke les packages (fichiers .deb)
  • /var/lib/apt/lists/: stocke la liste et informations sur les packages du systèmes.

Par exemple ci-dessous le dossier archives qui contient les deb téléchargés.
Cela évite en cas de réinstallation un nouveau téléchargement.
Sinon la commande apt-get clean permet de vider ce dossier.

Le dossier /var/cache/apt/archives/ d'apt

Les dépôts et sources

Ce fichier de déclaration contient donc les adresses des repositories.
On trouve aussi la déclaration de la version de la distribution.
Cela permet donc à apt de se connecter au serveur afin de télécharger le o les fichier .deb.

Voici un exemple de fichier sources.list.
La structure reste toujours la même à savoir :

  • l’adresse WEB, FTP ou DVD-Rom du dépôt
  • la version de la distribution. Ici il s’agit d’une Debian stretch. On peut aussi désigner la version par stable ou unstable.
  • Enfin les composants main, contrib, non-free
Les dépôpts et sources d'une distribution
  • La section main comprend l’ensemble des paquets qui se conforment aux DFSG – Directives Debian pour le logiciel libre. En clair donc il s’agit de logiciels respectant les licences libres. Enfin ce sont donc les packages qui font strictement partie de la distribution.
  • La section contrib comprend l’ensemble des paquets qui se conforment aux DFSG, mais qui ont des dépendances en dehors de main.
  • La section non-free contient des logiciels qui ne se conforment pas aux DFSG. On peut donc trouver des logiciels propriétaires.

Voici un exemple de source.list provenant de la distribution Ubuntu.
La structure est la même.
Bien entendu le nom des versions ou les composants peuvent changer.
Ici chez Ubuntu, on trouve les composants universe, multiverse et restricted.

Les dépôpts et sources d'une distribution

Enfin bien entendu les dépôts possède une structure et un index.
Celle-ci est identique d’une distribution à l’autre : Ubuntu, Mint, Debian, etc.

Les dépôpts et sources d'une distribution

Ci-dessous le paquet ngp.

Les dépôpts et sources d'une distribution

Ajouter un dépôt

On peut donc éditer le fichier /etc/apt/source.list pour modifier les dépôts.
Mais on peut aussi ajouter un dépôt en créant un fichier dans /etc/apt/sources.list.d/.

Bien entendu, il existe une commande pour ajouter un dépôt.
Ubuntu lui possède une commande qui permet d’ajouter un dépôt : add-apt-repository.

Par exemple pour activer les dépôts universe et multiverse.

sudo add-apt-repository universe multiverse

ou encore pour forcer une adresse source :

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

Les commandes apt

Apt regroupe différentes commandes selon les besoins.
Voici une liste de ces commandes :

  • apt-get : commande principale qui se décline en différents paramètres. Vous trouverez une liste ci-dessous.
  • apt-cache : afin d’effectuer une recherche de package dans les dépôts. Obtenir la version, les dépendances, etc.

Comme vous modifiez la configuration système, ces opérations nécessite des droits root.
Ainsi sur Debian, il faut s’identifier en root ou utiliser sudo pour les distributions basés sur ce dernier.

apt-get update

apt-get update permet de mettre à jour l’indexation du dépôt sur votre Linux.
En effet, lorsque votre indexation est trop ancien, il n’est plus synchronisé avec celui en ligne.
Ainsi, vous pouvez demander une version qui n’existe plus et obtenir une erreur.

Enfin on utilise apt-get update lorsque l’on modifie le sources afin de télécharger les nouveaux index.

Cette commande resynchronise votre indexation.

apt-get update sur Linux

apt-get install

Cette commande permet d’installer un logiciel et paquet sur votre Linux.
Ici on installe l’éditeur emacs avec la commande :

apt-get install emacs

Lors de son utilisation la liste des paquets et leurs dépendances apparaît.
L’espace disque nécessaire s’affiche.
Enfin une confirmation apparaît pour continuer l’installation.

apt-get install sur Linux

Ensuite apt télécharge les paquets (fichiers .deb).

apt-get install sur Linux

Enfin apt lance dpkg pour installer le paquet.
D’abort dpkg dépaque le paquet puis lance le scripts de configurations (Paramétrage).
Enfin le logiciel est installé sur la distribution Linux.

apt-get install sur Linux

apt-get remove

apt-get remove permet de supprimer un paquet et logiciel.
Il fonctionne donc comme install mais effectue l’opération inverse.
Cette commande ne supprime pas les fichiers de configuration.
Pour tout supprimer, il faut utiliser apt-get purge.

Exemple ici avec :

apt-get remove em
apt-get remove pour supprimer un paquet sur Linux

apt-get upgrade

Cette commande met à jour les paquets de la distribution Linux.
Cela ne change pas la version de la distribution mais mets à jour des paquets.
En effet, des mises à jour de sécurité sont publiées chaque jour.

On lance la mise à jour des paquets avec la commande suivante :

apt-get upgrade

La liste des mises à jour s’affiche.
Ici celle-ci est très longue car la dernière mise à jour remonte à très longtemps.

apt-get upgrade pour mettre à jour la distribution Linux

puis les paquets se téléchargent.
La vitesse et délai s’affichent en bas à droite de l’écran.

apt-get upgrade pour mettre à jour la distribution Linux

Enfin la phase d’installation comme avec apt-get install.

apt-get upgrade pour mettre à jour la distribution Linux

apt-get peut poser des questions sur des actions à effectuer durant la mise à jour.

apt-get dist-upgrade

Enfin la commande apt-get dist-upgrade permet la mise à niveau et mise à jour de la distribution.
Pour plus d’informations, reportez-vous au paragraphe plus bas à cet effet.

apt-get download

Enfin on peut télécharger un paquet pour l’installer manuellement par exemple.
Par exemple pour télécharger le paquet emacs depuis les dépôts APT.

apt-get download emacs

puis on peut l’installer avec dpkg :

dpkg -i <package>
apt-get download pour télécharger un paquet depuis les dépôts APT

apt-cache

Enfin la commande apt-cache permet d’interroger le dépôt et obtenir des informations sur un paquet ou sur toute la base de données.
Ainsi avec apt-cache on peut recherche des paquets dans la base complète.

Par exemple pour chercher un paquet sur la description.

apt-cache interroger les dépôts

Enfin on peut aussi obtenir des informations sur un paquet.
Cela va de la version, aux dépendances.
Cela se fait avec la commande apt-cache showpkg.
Ainsi ci-dessous on obtient les informations sur le paquet chntpw

apt-cache showpkg chntpw

Autres commandes apt-get

apt-get propose d’autres commandes dont voici les principales.

  • dselect-upgrade : La commande dselect-upgrade suit les modifications faites par dselect dans le champ Status des paquets disponibles. Enfin elle effectue les actions nécessaires à la réalisation de cet état (par exemple, suppression d’anciens paquets, installation de nouveaux paquets).
  • purge : proche de remove mais les fichiers de configuration sont supprimés.
  • check : La commande check est un outil de diagnostic. Il met à jour le cache des paquets et cherche les dépendances défectueuses.
  • autoclean : Tout comme clean, autoclean nettoie le référentiel local des paquets récupérés. La différence est qu’il supprime uniquement les paquets qui ne peuvent plus être téléchargés et qui sont inutiles.
  • autoremove : apt-get supprime les paquets installés dans le but de satisfaire les dépendances d’autres paquets et qui ne sont plus nécessaires.
  • changelog : télécharge le journal des modifications d’un paquet et l’affiche avec sensible-pager.

Par exemple ci-dessous, apt nous informe que des paquets ne sont plus nécessaires.

apt les paquets qui ne sont plus nécessaires

On peut alors supprimer ces paquets non nécessaires avec apt-get autoremove.

Supprimer les paquets non nécessaires avec apt

Mettre à jour la distribution avec APT

Enfin la commande apt-get dist-upgrade permet la mise à niveau de la distribution.
Vous passez donc à la version suivante.

Voici un exemple de mise à jour manuelle avec apt-get.
Dans un premier temps, il faut éditer le fichier source.
puis on met à jour l’indexation avec apt-get update.

apt-get dist-upgrade - mise à jour de la distribution Linux

Ensuite on lance apt-get upgrade ou encore apt-full upgrade.

apt-get dist-upgrade - mise à jour de la distribution Linux

Les paquets se téléchargent puis leurs mises à jour s’effectuent..

apt-get dist-upgrade - mise à jour de la distribution Linux

La modification des fichiers de configuration peut demander une intervention.
Si on veut garder celui, installer celui par défaut etc.
On peut aussi avoir des questions en mode interactif comme avec apt-get upgrade.

L’option -y permet de répondre automatiquement.

apt-get -y dist-upgrade
apt-get dist-upgrade - mise à jour de la distribution Linux

Enfin vous pouvez lancer un apt-get autoremove afin de nettoyer les paquets non nécessaires.

Bien entendu, chaque distribution a ses spécificités.
Ainsi Ubuntu a d’autres commandes pour mise à niveau.
Plus d’informations sur ces articles :

Les autres utilitaires de gestion de paquets liés à APT

Aptitude Linux est un front-end pour APT qui propose une interface graphique en ncurses pour télécharger, installer, supprimer des paquets.
Il est aussi disponible en ligne de commandes (CLI) et propose des fonctions de recherche plus avancés en gérant une partie des regex.
Pour apprendre à l’utiliser, consultez le tutoriel : Aptitude Linux : comment l’utiliser pour gérer les paquets

apt-file est une commande, fournie séparément d’APT, qui permet de déterminer quel paquet inclut un fichier spécifique ou de lister tous les fichiers inclus dans un paquet sur des dépôts distants.

Apt-offline : Un moyen pratique d’apporter n’importe quelle modification non conteneurisée disponible à n’importe quelle installation Linux de type Debian sans utiliser de connexion directe à l’Internet. Cependant, une connexion directe temporaire peut être nécessaire, par exemple pour installer Apt-offline sur certains des types de Linux concernés, et pour ajouter des PPA à la liste des sources.

Synaptic : une interface GTK pour gérer les paquets via apt

Liens