J'ai la chance de pouvoir me connecter sur un réseau à haut débit. Pour mes mises à jour de ma potatos, voila
comment j'ai procédé.
D'abord, renseigner corectement le fichier de configuration de apt: /etc/apt/sources.list
Ensuite, récupérer de la doc en français: http://dpt.tuxfamily.org est
une de mes références!
Et enfin, je suis passé en version woody, et noyau 2.4.18 (actuellement):
Puis au fur et à mesure, je fais seulement
$ sudo apt-get update
$ sudo apt-get upgrade
ou
$ sudo apt-get dist-upgrade
avec un complément à la main si besoin. Le '-u' permet de voir exactement les paquets à mettre à jour, et si vraiment, je
veux être certain de ne pas faire de bétise, je commence par faire une simulation:
$ sudo apt-get update
$ sudo apt-get upgrade -u
Cela ne récupère pas les paquets, mais donne des info sur ce qu'il va se passer, si l'on execute la mise à jour.
$ sudo apt-get update
$ sudo apt-get upgrade -u -s
J'ai eu quelques problèmes avec certain(s) paquet(s). Il m'a donc fallut savoir qu'est-ce qui était installé ou non.
Voyons d'abord comment
connaitre tous les paquets que l'on peut installer:
Cela donne la liste de tous les paquets présents dans la base de données debian. Seul ceux dont les deux premiers
caractères sont «ii».
Exemple:
$ dpkg -l | less
Comme vous le voyez, il y a aussi une note explicative.
ii xserver-xfree86 4.1.0-14pre15v3 the XFree86 X server
A présent, disont que je cherche tous les paquets contenant le mot kernel:
signification:
$ dpkg -l | grep ^ii | grep kernel | less
lister tous les paquets de la base de donnée, puis ne garder QUE les lignes que commancent par «ii», puis ne garder que les
lignes ne
contenant que le mot «kernel» pour enfin afficher avec less (au cas ou cela dépasserait la taille de la fenêtre de la
console, j'utilise toujours
less). Résultat?
Génial, non?
$ dpkg -l | grep ^ii | grep kernel | less
ii kernel-image-2 voyager.0.6 Linux kernel binary image for version 2.4.17
ii kernel-package 7.99 Debian Linux kernel package build scripts.
ii kernel-source- 2.4.17-1 Linux kernel source for version 2.4.17
ii pciutils 2.1.9-2 Linux PCI Utilities (for 2.[1234].x kernels)
ii pcmcia-modules 3.1.31-7+voyag PCMCIA Modules for Linux (kernel 2.4.17).
ii toshiba-2.2.19 1.9.9-1+voyage Toshiba kernel driver
Mais on peut encore améliorer:
Pour avoir tout le contenu des informations listées ci dessus (remarquez qu'il manque des données pour 'pcmcia-modules...'), vous
ajoutez une variable au shell:
Et là, vous aurez tout! A noter, toutefois, que vous n'êtes pas obligé d'utiliser grep pour une simple recherche, car dpkg
reconnait les caractères génériques (* et ?):
$ export COLUMNS=125
$ dpkg -l 'kernel*'
Voila comment enlever et purger complètement un paquet debian:
Cela vous enlève le paquet mais aussi tous les fichiers de configuration!
# apt-get --purge
Lorsque vous faites une mise à jour de votre debian, apt place les paquets récupérés dans un cache, afin
de ne pas les re-télécharger en cas de problème(s). Ce cache se trouve dans /var/cache/apt/archives/.
Le petit problème, c'est que tout ça tient pas mal de place, à force.... Il faut donc purger tout ça de temps en
temps. Voila comment vous y prendre: (exemple sur ma machine)
$df
Système de fichiers 1K-blocs Utilisé la capacité disponible% Monté sur
/dev/hda5 9851308 2949180 6401708 32% /
$ sudo apt-get clean
$df
Système de fichiers 1K-blocs Utilisé la capacité disponible% Monté sur
/dev/hda5 9851308 2829340 6521548 31% /
D'abord, rechercher les paquets enlevé et non purgés:
ne prendre que les noms des paquets (pour la démo, je ne prend que les paquets dont le nom commence par 'a'):
$ dpkg -l | grep ^rc
rc alsa-source 0.4.1i-5 ALSA driver source
rc alsaconf 0.4.2-3 ALSA configurator
rc anacron 2.1-5.1 a cron-like program that doesn't go by time
rc at 3.1.8-10 Delayed job execution and batch processing
rc august 0.63-beta1-3 Tcl/Tk HTML editor.
....
Il ne reste plus qu'a passer ça à dpkg, en su bien sur!
$ dpkg -l | grep ^rc | awk '{print $2}' | grep ^x
xchat-gnome
xcontrib
xdemineur
xdm
xfonts-cjk
xfreecd
xine
xlibmesa3
# dpkg -l | grep ^rc | awk '{print $2}' | grep ^x | xargs dpkg --purge
(Lecture de la base de données... 75986 fichiers et répertoires déjà installés.)
Suppression de xchat-gnome ...
Purge des fichiers de configuration de xchat-gnome ...
Suppression de xcontrib ...
Purge des fichiers de configuration de xcontrib ...
Suppression de xdemineur ...
Purge des fichiers de configuration de xdemineur ...
Suppression de xdm ...
Purge des fichiers de configuration de xdm ...
Suppression de xfonts-cjk ...
Purge des fichiers de configuration de xfonts-cjk ...
Running mkfontdir in misc font directory...done.
Running update-fonts-alias in misc font directory...done.
Suppression de xfreecd ...
Purge des fichiers de configuration de xfreecd ...
Suppression de xine ...
Purge des fichiers de configuration de xine ...
Suppression de xlibmesa3 ...
Purge des fichiers de configuration de xlibmesa3 ...
Voici ma méthode (je n'ai aucun mérite, je lis la faq de debian-user-french) pour trouver les paquets qui ne servent pas (plus?).
Attention, peut-être avez vous déjà cherché un peu et trouvé des références à pkg-nodep. Sur woody (et supérieur je pense), ceci
n'existe plus, mais est remplacé par le paquet deborphan.
Ceci étant dit, voila comment je pratique:
Recherche des paquet n'ayant aucune dépendance (la liste des paquets est tronquée):
Une fois en possession des noms des paquets, il ne faut pas les enlever directement! Avant tout, il faut jeter un oeil pour savoir s'il ne sont pas
utile quand même (teste avec le paquet libgimp1):
# beborphan
freetype2
glutg3
ldso
libstdc++2.9-glibc2.1
libgtk1
libbz2
giblib1
libgimp1
N'ayant pas besoin du paquet je vire!
# apt-cache show libgimp1
Package: libgimp1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 162
Maintainer: Ben Gertzfield
STOP!
Une précaution est nécessaire: reconstituer le paquet, puis s'il n'y a pas de problème au bout d'un certain
temps, alors là, oui, on pourra tout effacer. Donc, reconstitution du paquet:
A noter: le paquet reconstitué est placé dans le répertoire ou vous vous trouvez actuellement.
# dpkg-repack libgimp1
dpkg-deb: building package `libgimp1' in `./libgimp1_1.0.4-3_i386.deb'.
Maintenant, j'ai un paquet près à être remis en cas de problème, je peux donc enlever celui présent sur mon système:
Et voilà.
# apt-get remove --purge libgimp1
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
libgimp1*
0 packages upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
Need to get 0B of archives. After unpacking 166kB will be freed.
Do you want to continue? [Y/n] y
(Lecture de la base de données... 73676 fichiers et répertoires déjà installés.)
Suppression de libgimp1 ...