Précédent Remonter Suivant
Une erreur à corriger, une suggestion à faire, une contribution à apporter ? N'hésitez-plus ! Just write it!

Chapitre 4  Gestion maintenance

4.1  Gagner de la place

4.1.1  Les gros paquets

L'utilisation de grep-status (paquet dpkg-ctrl ) permet de construire une commande (puissante) pour classer les paquets selon leur occupation disque :
  
grep-status -nsInstalled-size,Package -F Status ' installed' \
| perl -p00l12 -e 's/\n/ /' \
| sort -rn

4.1.2  Les paquets inutiles

Il est très facile d'installer des tonnes de programmes que l'on n'utilise jamais. La question est alors de connaître les paquets que je peux désinstaller sans risque?

Il ne faut supprimer que des paquets dont aucun paquet ne dépend (que l'on nommera dans la suite les paquets terminaux). Il est donc possible de les désinstaller sans casser le système, mais évidemment, si on désinstalle ainsi un paquet terminal, mais utile quand même, ce n'est pas très malin. Par exemple, j'aime bien programmer en OCaml, donc le paquet
ocaml peut bien être terminal, je ne vais pas me priver de mon compilateur favori pour autant...Voici comment on peut vouloir procéder pour se débarrasser de certains paquets superflus :
  1. étape 1 : recenser les paquets terminaux

    Il existait (potato) un programme, pkg-nodep dans le paquet pkg-order , qui liste les paquets terminaux. On peut par exemple écrire dans un fichier la liste de ces paquets avec la commande :
    %
      
    pkg-nodep > liste-des-nodeps
    
    Remarque
    Une autre commande analogue existe, il s'agit de deborphan (paquet deborphan ). Elle semble plus riche en fonctionnalités.

    Pour éliminer les paquets dont aucun autre ne dépend, effectuer simplement :
    %
      
    deborphan | xargs apt-get -s -u remove
    


  2. étape 2 : pour chaque paquet recensé, déterminer son utilité réelle

    Plusieurs méthodes :

  3. étape 3 : retirer les paquets jugés inutiles

    Si on n'est pas sûr, le paquet dpkg-repack fournit la commande homonyme utile pour réempaqueter un paquet (avec ses fichiers de configuration actuels) pour le stocker avant de le retirer.
    Si une applications a été installée «non empaquetée Debian» , il est possible de supprimer un paquet dont celle-ci dépend et de la rendre dès lors inutilisable...Prudence!

4.2  Détecter les paquets mal installés?

La commande "dpkg -l" donne l'état des paquets installés. La première colonne du listing utilise un codage à deux ou trois lettres des états possibles (lire les 3 premières lignes du listing pour comprendre leur signification)

La ligne d'un paquet correctement installé commence par le code «ii» i.e l'«i»nstallation a été demandée et le paquet est (effectivement) dans l'état «i»nstallé.

La commande ci-dessous permet donc de sélectionner les paquets qui ne sont pas dans l'état correct.
dpkg -l
| grep -v ^ii

Exemple

pc  mozilla-mailne 0.9.6-7        Mozilla Web Browser - 
pc  php4           4.1.2-2        A server-side, ...
pc  zope-zshell    1.2-1          Zshell present ...
et effectivement, il y a problème, ainsi ...

 dpkg --purge php4
(Lecture de la base de données ... 
50815 fichiers et répertoires déjà installés.)
Suppression de php4 ...
Purge des fichiers de configuration de php4 ...
rmdir: `/etc/php4': Aucun fichier ou répertoire de ce type
dpkg: erreur de traitement de php4 (--purge):
 le sous-processus post-removal script a retourné 
une erreur de sortie d'état 1

4.3  Empêcher la mise à jour d'un paquet?

Il suffit de marquer le paquet « à garder » (on hold, en anglais). Pour ce faire, on peut soit :
utiliser dselect
il faut se placer sur la ligne correspondant au paquet, puis appuyer sur 'H'.
utiliser dpkg
Voici une belle solution, qui fonctionne en ligne de commande :
echo "<paquet à garder> hold" | dpkg --set-selections

4.4  S'abonner à un paquet

Si vous voulez suivre de manière assidue et étroite la <<vie>> d'un ou plusieurs paquets Debian, le plus simple est de vous abonner au PTS, le système de suivi de paquet.

4.4.1  Le système de suivi de paquet


(FIXME) description du PTS

4.4.2  Interface web au PTS

(traduction inspiré d'un message de R. Herzog sur debian-devel-annonce)

La page
http://packages.qa.debian.org/nom-de-paquet donne une vue globale de l'état du paquet "nom-de-paquet". Vous y trouverez par exemple :

4.5  Intra et inter-distributions

4.5.1  Un paquet d'unstable/testing alors qu'on utilise stable

Il est parfois utile d'installer un paquet qui n'existe que dans une distribution supérieure (et moins stable).

Les versions supérieures à 0.5.0 d'
apt permettent de faire cela simplement. Donc, si vous avez une patate ou plus ancien, il faudra auparavant obtenir une version d'apt plus récente par un autre moyen (backport).

Voici la marche à suivre pour cette opération :
En créant un fichier /etc/apt/preferences , cette technique peut être affinée en spécifiant des niveaux de préférences, avec par exemple :

Package: *
Pin: release a=woody
Pin-Priority: 800

Package: *
Pin: release a=stable
Pin-Priority: 500

Package: *
Pin: release a=unstable
Pin-Priority: 80

4.5.2  Un paquet d'une autre distribution

Vous l'aurez sans doute remarqué, il est plus courant de trouver des paquets (rpm) faits pour les distributions basées sur RedHat que pour celles basées sur Debian (deb). La tentation est donc grande de récupérer ces paquets!

Il faut pour cela utiliser le paquet
alien afin de convertir le paquet «étranger» en paquet Debian.

Les informations relatives aux dépendances, aux répertoires standards étant différentes selon les distributions, il est impossible de garantir qu'un paquet ainsi "converti" soit correct (quelque soit le sens de la conversion!).
Cette manipulation n'est à utiliser qu'en cas d'absolue nécessité!
C'est à dire jamais...


Précédent Remonter Suivant