Linux/Debian
Un article de Linuxette.
Voici quelques trucs et astuces pour linux en général et/ou debian en particulier ;)
Mise à l'heure occasionnellement
Pour remettre à l'heure mon portable de temps en temps, voila ce que je tape:
# ntpdate ntp-p.obspm.fr ntp-m.obspm.fr
Mise à jour par réseau internet
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. Il y en a un 'certain' nombre sur le Net (google est votre ami sur ce coup là).
Et enfin, je suis passé en version woody, et noyau 2.4.18 (actuellement):
$ sudo apt-get update
$ sudo apt-get upgrade
ou
$ sudo apt-get dist-upgrade
Puis au fur et à mesure, je fais seulement
$ sudo apt-get update
$ sudo apt-get upgrade -u
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 -s
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.
Vérification des paquets installé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:
$ dpkg -l | less
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:
ii xserver-xfree86 4.1.0-14pre15v3 the XFree86 X server
Comme vous le voyez, il y a aussi une note explicative. A présent, disont que je cherche tous les paquets contenant le mot kernel:
$ dpkg -l | grep ^ii | grep kernel | less
signification: 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?
$ 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
Génial, non? 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:
$ export COLUMNS=125
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 ?):
$ dpkg -l 'kernel*'
Enlever un paquet debian
Voila comment enlever et purger complètement un paquet debian:
# apt-get --purge
Cela vous enlève le paquet mais aussi tous les fichiers de configuration!
Réinstaller un paquet
Apres un léger problème avec le répertoire /var/ j'ai été obliger de réinstaller quelques paquets car la commande
# dpkg-reconfigure était inefficace . J'ai donc réinstallé quelques paquets SANS les enlever avant: # apt-get --reinstall install <nom-du paquet>
Vider le cache des archives
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% /
Rechercher les paquets enlevé mais dont il reste des fichiers (config, ...)
D'abord, rechercher les paquets enlevé et non purgés:
$ 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
Plusieurs sessions X sur une même machine
Ceci n'est pas recommandé sur une machine peu puissante, car le serveur X consomme beaucoup de ressources, ainsi que l'interface graphique que vous ne manquerez surement pas d'exécuter! Mais pour la démo, voici la marche à suivre.
$ X :1 & ; xterm -display :1 & ; icewm -display :1 &
La, vous avez un serveur X, numéroté 1 (celui par defaut porte le numéro 0), puis vous exécutez xterm et vous finissez par le gestionnaire graphique icewm (c'est celui que je préfère). Vous pouvez faire mieux de cette manière:
$ startx -- :1 &
Là, c'est plus simple, mais plus lourd à l'exécution (je pars du principe que startx vous lance kde par defaut). Plus fort encore: si vous utilisez gdm (gnome display manager), editez le fichier /etc/X11/gdm/gdm.conf et dans la partie [servers], placez ceci:
0=Standard vt7
1=Standard vt8
Et vous voilà avec deux bannières de connexion sur votre machine: vous passez de l'un à l'autre avec la séquence de touches ctrl+alt+F7 ou ctrl+alt+F8
Connaitre l'utilisateur d'un répertoire
Si vous n'arrivez pas à éjecter votre cdrom, c'est peut-être que celui-ci est encore utilisé par une application ou un utilisateur. Voila comment le savoir (exemple: qui a acces en ce moment au répertoire /mnt/cdrom/themes/):
$ /bin/fuser -uv /mnt/cdrom/themes/
USER PID ACCESS COMMAND
/mnt/cdrom/themes/ admin 405 ..c.. gmc
A partir de là, vous pouvez maintenant tuer l'application, ou l'utilisateur (pas physiquement, bien sur!), et éjecter le cdrom.
$ kill 405
$eject /mnt/cdrom
Connaitre la place sur le disque dur
Pour la taille de vos données dans un de vos répertoire, voici comment faire, avec redirection dans un fichier pour une lecture ultérieure:
$ du -ha --max-depth=4 | sort -n > essai.txt
cela donne par exemple pour mon répertoire temporaire:
$ cd ~/tmp
$ du -ha --max-depth=2 | sort -n > essai.txt
$ less essai.txt
(je coupe ici, et ne montre que la fin du fichier)
..
364k ./tcputils-0.6.
388k ./povfront-1.3.5/povfron
408k ./ltmodem-6.00a1/DOC
408k ./povfront-1.3.5/povfront.
440k ./bandmin-0.8
636k ./ltmodem-6.00b1
932k ./flash_linux/libflashplayer.s
960k ./flash_linu
essai.txt lines 111-166/166 byte 4834/4834 (END) (press RETURN)
Disposer du pavé numérique sous X (même lors de la demande de login)
Ceci est valable pour la distribution Mandrake, pour les autres, je ne sais pas. Vous pouvez me faire part de votre expérience, je la placerai ici. Pour utiliser le pavé numérique dès la demande de login, vous pouvez utiliser cette méthode: éditer le fichier Xsetup_0, et demandez à exécuter le programme enable_X11_numlock:
$ su
Password:
# vi /etc/X11/xdm/Xsetup_0
et ajouter:
/usr/X11R6/bin/enable_X11_numlock
:x (pour sauver le tout)
C'est tout.
La même chose que ci dessus, mais en console
En root bien sûr, éditer le fichier /etc/rc.d/rc.local, sous Mandrake/Redheat, ou /etc/init.d/bootmisc.sh sous débian, et ajoutez ceci en fin de fichier:
for tty in /dev/tty[1-9]*;
do
setleds -D +num < $tty > /dev/null
done
Apparemment, sous la dernière version de Mandrake, ceci n'est plus nécésaire, mais je vous donne les commandes, sait-on jamais...
Accélération du démarrage sous Debian
Petite note tiré de ce [mail->http://lists.debian.org/debian-devel/2008/05/msg01119.html]
# aptitude install dash
# dpkg-reconfigure dash
/* Répondre 'oui' */
# aptitude install readahead
# touch /etc/readahead/profile-once
# aptitude install insserv
# dpkg-reconfigure insserv
/* Répondre 'oui' */
# echo CONCURRENCY=startpar >> /etc/default/rcS
# rm /etc/rcS.d/*hwclock*
rm: détruire lien symbolique `/etc/rcS.d/S08hwclockfirst.sh'? y
rm: détruire lien symbolique `/etc/rcS.d/S08hwclock.sh'? y
--admin 5 janvier 2009 à 18:04 (CET)

