Dominique Meeùs
Dernière modification le
retour à la table des matières
— à l’index
— à ma page de départ
dpkg-query -l foo*
ou dpkg -l foo*
(ou --list
)
donne le statut des paquets (installés ou non) dont le nom commence par foo.
dpkg-query -W
fait la même chose, mais avec la possibilité de contrôler la sortie avec --showformat
.
dpkg-query -l
peut aussi être filtré en
dpkg-query -l | grep -i foo
pour donner seulement ceux dont le nom comprend la chaîne « foo ».
La commande dpkg écrit un journal de ses actions : /var/log/dpkg.log
. Ce journal est extrêmement bavard ; il détaille toutes les opérations partielles.
Ce peut être intéressant pour suivre une installation particulière. On peut obtenir
un journal chronologique plus simple des installations. Voir dans /var/log le nom
des journaux (mensuels) à exploiter. Faire ensuite quelque chose comme :
zcat /var/log/dpkg.log.2.gz | grep " install " > install.log grep " install " /var/log/dpkg.log.1 >> install.log grep " install " /var/log/dpkg.log >> install.log⚓
où les espaces devant et derrière « install » dans " install " sont importants pour écarter des « half-installed » et cetera.
⁂
Principales commandes du système APT :
apt-get update
met à jour les informations sur les paquets accessibles à partir des sources.list
et sources.list.d/*
.
apt-get upgrade
met à jour les paquets installés.
Attention que sur un poste de travail habituel, la distribution GNU/Linux, comme Ubuntu,
comportera le plus souvent un gestionnaire de mise à jour qui proposera régulièrement
de mettre à jour les logiciels dont il existe de nouvelles versions. Il ne faut donc
pas oublier sur un serveur installé sans interface graphique et piloté par telnet,
qu’il est de la responsabilité de l’administrateur du serveur de faire régulièrement
apt-get update
, apt-get upgrade
.
apt-get install foo
installe foo.
apt-get remove foo
désinstalle foo.
apt-get --purge remove foo
désinstalle foo et efface ses fichiers de configuration.
apt-get autoremove
désinstalle s’ils ne sont plus nécessaires des paquets installés automatiquement
comme dépendance.
apt-get clean
efface les paquets téléchargés dans le cache d’APT /var/cache/apt/archives/
— une grosse mise à jour d’une distribution à l’installation (par rapport au CD)
peut facilement faire déborder la partition /var
.
apt-get autoclean
n’efface du cache que les paquets obsolètes.
⁂
On peut obtenir la description d’un paquet avec apt-cache show
, qui donne aussi d’autres renseignements intéressants, dont les dépendances.
La commande apt-rdepends
donne la chaîne (récursive) des dépendances d’un paquet.
D’un paquet installé, on peut se demander s’il est là par choix ou comme dépendance,
et alors dépendance de quoi. On peut trouver ces dépendances inverses par apt-cache rdepends --installed somepackage
et on peut écarter de la réponse les recommandations et cetera par
apt-cache rdepends --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --installed⚓
Voir aussi aptitude why somepackage
. On peut le faire aussi avec la commande reverse-depends
du paquet ubuntu-dev-tools
, mais celui-ci installe trop de choses dont l’utilisateur ordinaires n’a que faire
et la commande ne semble pas limiter sa réponse aux paquets installés. La commande
apt-rdepends --reverse
donne la chaîne (récursive) des dépendances inverses d’un paquet.
Le programme Synaptic donne tout ça : dans l’onglet Dépendances des Propriétés d’un paquet, il y a un menu déroulant qui donne aussi les dépendances inverses.
On obtient une liste des installations intéressantes (pas les innombrables dépendances) en faisant aptitude search '~i!~M'
⁂
Quel est le paquet qui fournit telle commande ou tel fichier ? Différentes commandes répondent à cela :
La commande whereis ne donne pas le paquet, mais le fichier digital de la commande et l’éventuelle page
de manuel. Essayer whereis whereis
. Ayant ainsi identifié le fichier d’une commande, dpkg -S /usr/bin/foo
donne le paquet.
On peut chercher un fichier aussi par apt-file search foo
, mais cela demande d’installer apt-file qui ne l’est pas par défaut et de mettre
à jour la liste par apt-file update
.
La commande dlocate (à installer ; elle ne l’est pas par défaut) simplifie un certain
nombre de recherches du genre dpkg -L ou -S. Pour ce qui nous intéresse ici, dlocate foo
ou dlocate /usr/bin/foo
.
⁂
Pour la mise à jour, outre les commandes apt-get déjà mentionnées, il y a une application
graphique, le Gestionnaire de mise à jour (update-manager
).
On peut aussi inclure les commandes apt-get dans un crontab : pour mettre à jour
tous les soirs, par exemple, écrire dans /root/.crontab
la ligne
30 19 * * * /usr/bin/apt-get update && /usr/bin/apt-get upgrade -y⚓
où les cinq paramètres devant la commande sont :
minutes (0 à 59)
heure (0 à 23)
jour (1 à 31)
mois (1 à 12)
jour (1 = lundi, maandag, Monday à 7)
en marquant * pour un paramètre non utilisé.