Gestion des logiciels avec APT
Table des matières
Le logiciel apt (pour Advanced Packaging Tool) est un système complet et avancé de gestion de paquets, permettant une recherche facile et efficace, une installation simple et une désinstallation propre de logiciels et utilitaires pour Ubuntu.
Les commandes sont des déclinaisons d'apt sont apt-get et apt-cache.
Installation (ou mise à jour) d'un paquet : apt-get install <nom_du_paquet>
Installation (ou mise à jour) d'un paquet sans demande de confirmation : apt-get install -y <nom_du_paquet>
En cas d'ajout d'un dépôt PPA ou d'un autre dépôt, et que la nouvelle version s'avère instable, on peut installer une version précédente (si elle est présente dans un dépôt configuré)
Installation d'une version présente dans les dépôts : apt-get install <nom_du_paquet>=<version> -V
Installer un (des) fichier(s) deb téléchargé(s) depuis internet : dpkg -i /chemin/du/fichier.deb ou dpkg -i -R /chemin/des/*.deb
La mise à jour se fait en deux temps :
Mise à jour des dépôts (liste des fichiers disponibles dans les dépôts APT) : apt-get update
Mise à jour des paquets : apt-get upgrade
Mise à jour des paquets approfondie (installe les nouvelles dépendances supplémentaires si nécessaires) : apt-get dist-upgrade
Supprimer un paquet : apt-get remove nom_du_paquet
Supprimer un paquet et ses dépendances : apt-get autoremove nom_du_paquet
Suppression complète d'un paquet, ses dépendances et ses fichiers de configuration : apt-get autoremove --purge nom_du_paquet
La recherche de paquets fait appel à la commande apt-cache. Il n'est pas nécessaire d'être root pour exécuter cette commande.
Recherche d'un paquet avec son nom, ou un mot de sa description : apt-cache search nom_du_paquet_ou_description
Recherche d'un paquet avec une partie de son nom uniquement : apt-cache search -n _nom_du_paquet
Pour cela, éditer en root le fichier /etc/apt/preferences (chez moi, il n’existait pas, j'ai du le créer)
Le code 1001 indique de bloquer les mises à jour du paquet.
Exemple avec samba:
apt ne dispose pas d'outils (à ce que je sache) pour lister les paquets installés. On va donc utiliser la commande dpkg.
Lister tous les paquets installés : dpkg -l
On peut évidemment filtrer la liste avec grep, comme dans cet exemple avec samba:
Dans certains cas, il peut être nécessaire de limiter la bande passante d'APT.
Pour cela, créer le fichier /etc/apt/apt.conf.d/76download et y mettre ceci dedans. La limite est exprimée en kB/s (dans mon exemple, 50kB/s)
Il est possible d'utiliser un proxy (si vous en avez un dans votre réseau).
Pour cela, éditez votre fichier /etc/apt/apt.conf et indiquez le proxy de cette manière :
Exemple avec proxy HTTP :
Introduction
Le logiciel apt (pour Advanced Packaging Tool) est un système complet et avancé de gestion de paquets, permettant une recherche facile et efficace, une installation simple et une désinstallation propre de logiciels et utilitaires pour Ubuntu.
Les commandes sont des déclinaisons d'apt sont apt-get et apt-cache.
APT, les commandes essentielles
Installer des logiciels
Installation (ou mise à jour) d'un paquet : apt-get install <nom_du_paquet>
Installation (ou mise à jour) d'un paquet sans demande de confirmation : apt-get install -y <nom_du_paquet>
En cas d'ajout d'un dépôt PPA ou d'un autre dépôt, et que la nouvelle version s'avère instable, on peut installer une version précédente (si elle est présente dans un dépôt configuré)
Installation d'une version présente dans les dépôts : apt-get install <nom_du_paquet>=<version> -V
Installer un (des) fichier(s) deb téléchargé(s) depuis internet : dpkg -i /chemin/du/fichier.deb ou dpkg -i -R /chemin/des/*.deb
Mettre à jour le système
La mise à jour se fait en deux temps :
Mise à jour des dépôts (liste des fichiers disponibles dans les dépôts APT) : apt-get update
Mise à jour des paquets : apt-get upgrade
Mise à jour des paquets approfondie (installe les nouvelles dépendances supplémentaires si nécessaires) : apt-get dist-upgrade
Supprimer des paquets
Supprimer un paquet : apt-get remove nom_du_paquet
Supprimer un paquet et ses dépendances : apt-get autoremove nom_du_paquet
Suppression complète d'un paquet, ses dépendances et ses fichiers de configuration : apt-get autoremove --purge nom_du_paquet
Recherche de paquets
La recherche de paquets fait appel à la commande apt-cache. Il n'est pas nécessaire d'être root pour exécuter cette commande.
Recherche d'un paquet avec son nom, ou un mot de sa description : apt-cache search nom_du_paquet_ou_description
Recherche d'un paquet avec une partie de son nom uniquement : apt-cache search -n _nom_du_paquet
Autour d'APT
Bloquer la mise à jour de certains paquets
Pour cela, éditer en root le fichier /etc/apt/preferences (chez moi, il n’existait pas, j'ai du le créer)
Code :
Package: nom_du_paquet
Pin: version numéro_de_version_installee
Pin-priority: 1001
Le code 1001 indique de bloquer les mises à jour du paquet.
Exemple avec samba:
Code :
Package: samba
Pin: version 3.5.6
Pin-priority: 1001
Lister les paquets installés
apt ne dispose pas d'outils (à ce que je sache) pour lister les paquets installés. On va donc utiliser la commande dpkg.
Lister tous les paquets installés : dpkg -l
On peut évidemment filtrer la liste avec grep, comme dans cet exemple avec samba:
Code BASH :
root@server:~# dpkg -l | grep samba ii samba 2:3.5.6~dfsg-3squeeze9 SMB/CIFS file, print, and login server for Unix ii samba-common 2:3.5.6~dfsg-3squeeze9 common files used by both the Samba server and client ii samba-common-bin 2:3.5.6~dfsg-3squeeze9 common files used by both the Samba server and client
Personnalisation
Limiter la bande passante d'APT
Dans certains cas, il peut être nécessaire de limiter la bande passante d'APT.
Pour cela, créer le fichier /etc/apt/apt.conf.d/76download et y mettre ceci dedans. La limite est exprimée en kB/s (dans mon exemple, 50kB/s)
Code BASH :
Acquire { Queue-mode "access"; http { Dl-Limit "50"; }; };
Utiliser un proxy avec APT
Il est possible d'utiliser un proxy (si vous en avez un dans votre réseau).
Pour cela, éditez votre fichier /etc/apt/apt.conf et indiquez le proxy de cette manière :
Code BASH :
Acquire::protocole::Proxy "protocole://ip:port";
Exemple avec proxy HTTP :
Code BASH :
Acquire::http::Proxy "http://10.21.27.238:3128";