Utiliser Debian et dérivées

Gestion des logiciels avec APT

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

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





Pour utiliser apt-get install, il est nécessaire d'avoir les droits root



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

Est ce que les dépendances sont satisfaites ? A vérifier





Mettre à jour le système





Pour utiliser apt-get update/upgrade/dist-upgrade, il est nécessaire d'avoir les droits root



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





Pour utiliser apt-get remove, il est nécessaire d'avoir les droits root



Il faut être très vigilent avec apt-get remove, car il désinstalle les programmes, même s'ils sont en cours d'exécution !!

Si vous demandez de supprimer le noyau ou les utilitaires apt, il le fera.




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";
};
};