apt bash home
Gestion des paquets, avec apt, sous Debian
Posted by Jean-Michel Frouin on .Introduction
Ceci est un vieux document que j’avais fait au début de ma découverte de GNU/Linux.
Je l’ai rafraîchis et je le garde car mêmes les bases, peuvent servirent un jour.
Il faut savoir que le gestionnaire de paquet utilise le fichier des sources (fichier dans lequel il va chercher la liste des paquetages disponibles) qui se trouve dans /etc/apt/sources.list.
Le fichier /etc/apt/sources.list contenait avant tous les dépôts utilisés. Sur les distributions modernes est apparu le répertoire /etc/apt/sources.list.d permettant de mieux organiser ses sources, en les scindant en plusieurs fichiers.
Mon fichier sources.list sur Debian SID (je conserve les sources de l’OS en lui même):
deb http://debian.mirrors.ovh.net/debian/ jessie main contrib non-free
deb-src http://debian.mirrors.ovh.net/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main
# jessie-updates, previously known as 'volatile'
deb http://debian.mirrors.ovh.net/debian/ jessie-updates main
deb-src http://debian.mirrors.ovh.net/debian/ jessie-updates main
# jessie-backports, previously on backports.debian.org
deb http://debian.mirrors.ovh.net/debian/ jessie-backports main
deb-src http://debian.mirrors.ovh.net/debian/ jessie-backports main
Et dans le répertoire /etc/apt/sources.list.d, je place les sources des logiciels additionnels que j’installe sur ma distribution : Pour les paquets bumblebee /etc/apt/sources.list.d/bumblebee.list: <pre class="brush:shell">deb http://suwako.nomanga.net/debian sid main contrib deb-src http://suwako.nomanga.net/debian sid main</pre> Pour les paquets dotdeb /etc/apt/sources.list.d/dotdeb.list: <pre class="brush:shell">deb http://packages.dotdeb.org squeeze all deb-src http://packages.dotdeb.org squeeze all</pre> Pour le client owncloud /etc/apt/sources.list.d/owncloud.list: <pre class="brush:shell">deb http://download.opensuse.org/repositories/isv:ownCloud:devel/Debian_6.0/ /</pre>
Mise à jour des paquets disponibles
Une fois qu’une modification à été apportée au fichier de sources, il faut mettre à jour la liste des paquets disponibles.
Utiliser
apt-get update
pour la mettre à jour.
Mise à niveau du système
Une fois la liste des paquets à jour, un
apt-get upgrade
permet la mise à jour de votre distribution (sans mise à jour de numéro de version majeur),
apt-get dist-upgrade
une mise à jour vers la dernière version stable disponible.
Sur ubuntu, la commande dist-upgrade n’est utilisée que 2 fois par an lors de la sortie d’une nouvelle version. (Pour debian, le passage de sarge à etch, à pris 21 mois)
Avec la commande
apt-show-revisions -u
on peut obtenir une information sur les numéros de version avant et après un
apt-get update
Nettoyage du système
En fait les paquets mis à jour sont téléchargés puis installés. Une fois l’installation correctement faite rien ne les efface. C’est pourquoi une fois la mise à jour effectuée un
apt-get clean
permet de supprimer le cache des paquets.
Il est possible d’utiliser la commande
apt-get autoremove
pour supprimer les paquets inutiles.
Quelques autres outils à essayer : deborphan, cruft.
Recherche de paquet
Pour rechercher le paquet pidgin (Ancien gaim) :
apt-cache search pidgin
On peut combiner deux mots (ou plus) pour limiter les résultats de la recherche. Il est aussi possible d’utiliser les expression régulières.
Ajouter un paquet
Pour installer un paquet 3 façons de faire :
Directement depuis une source de paquets
Pour installer le paquet pidgin depuis une des sources de paquets :
apt-get install pidgin
Il est parfois utile d’utiliser l’option –reinstall en cas de problème. Une autre option utile, est –download-only permettant de télécharger uniquement le paquet sans l’installer.
Depuis un fichier .deb ou .rpm
Installer un fichier deb ce fait en utilisant
dpkg -i paquet.deb
Avant de pouvoir installer un fichier RPM (format des paquets RedHat et Mandriva) sur debian, il faut le convertir en .deb:
Pour ce faire, il faut utiliser l’utilitaire alien (alien - Installation de paquets non natifs avec dpkg)
apt-get install alien
puis faire :
alien fichier.rpm
Depuis les sources
Pour pouvoir installer proprement (Il faut passer par la construction d’un paquet deb ou rpm, pour que tous les fichiers installés soient connus (pour être supprimés)). un logiciel dont on ne possède que les sources il suffit d’utiliser l’outil checkinstall. Checkinstall se substitue à la commande make install et créé à ce moment un paquet qu’il est ensuite possible d’installer avec la commande dpkg d’un système debian (Donc Ubuntu aussi). Ainsi avec : <pre class="brush:shell">./configure make sudo checkinstall sudo spkg -i package.deb</pre> On possède un moyen simple, propre et efficace d’ajouter un paquet à notre distribution et ce depuis les sources.
Obtenir des informations détaillés sur un paquet
Pour obtenir des informations un peu plus importantes que celles retournées par search :
apt-cache show paquet
Forcer l'installation d'un paquet
apt-get install -f -o Dpkg::Options::="--force-overwrite" libaudio2
Suppression d'un paquet
Pour supprimer pidgin :
apt-get remove paquet
ou
apt-get purge paquet
(supprime aussi les fichiers de settings en général le répertoire .paquet dans le répertoire home).
Récuperer les codes sources d'un paquet
Grâce à la commande
apt-get source pidgin
il est possible de récupérer les sources de pidgin dans le répertoires courant (apt s’occupe d’appliquer les patchs spécifiques à la distribution).
Analyse des dépendances
Pour obtenir la liste des dépendances d’un paquet :
apt-rdepends pidgin
Récupérer une clé inconnue
Si le message d’erreur suivant :
Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3F64E067D0845D62
apparait lors d’un apt-get update, il suffit d’importer la clef.
Récupération de la clef:
gpg --keyserver hkp://subkeys.pgp.net --recv-keys 3F64E067D0845D62
Ajout de la clef au trousseau
gpg --export --armor 3F64E067D0845D62 | sudo apt-key add -
Retrouver un fichier
Il faut d’abord installer le paquet qui permettre de recherche un fichier manquant
sudo apt-get install apt-file
Ensuite, tout simplement :
apt-file search fichier
Qui vous retourne, si il le trouve, le paquet correspondant.
Duplication des paquets installés
Sauvegarde de la liste des paquets installés sur un système :
dpkg --get-selections > packages.list
Réinstallation la liste des paquets sur une autre machine :
dpkg --set-selections < packages.list
Puis pour les installer (sur l’autre machine) :
apt-get dselect-upgrade<