Documentations - Trucs & astuces
Trucs & Astuces sous Debian GNU/Linux
Edi Stojicevic
| Historique des versions | ||
|---|---|---|
| Version 0.2 | 21 Décembre 2004 | Revu par : es |
| Ajout de trois astuces | ||
| Version 0.1 | 20 Juin 2004 | Revu par : es |
| Première version | ||
- Table des matières
- 1. Système
- 1.1. Désactiver le reboot à l'aide des touches Ctrl+Alt+Del
- 1.2. Création d'une disquette de démarrage
- 1.3. Modifier le message d'accueil
- 1.4. Messages de boot
- 1.5. Version du noyau
- 1.6. Afficher le contenu d'un fichier tar sans le décompresser
- 1.7. Générer un modprobe.conf facilement
- 1.8. Connaitre la taille des répertoires utilisateurs de son système
- 1.9. Désactiver les bips lorsque vous êtes en console
- 1.10. Observer ses logs dans un p'tit terminal
- 2. X
- 3. Shell
- 4. Bureautique
1. Système
1.1. Désactiver le reboot à l'aide des touches Ctrl+Alt+Del
S'il vous est déjà arrivé de redémarrer accidentellement votre machine en appuyant sur les trois touches magiques, vous pouvez commentez la ligne suivante dans le fichier /etc/inittab ainsi :
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
1.2. Création d'une disquette de démarrage
Sous Woody/Sid, nous disposons d'un outil pour générer des disquettes de démarrage qui peuvent être nécessaire lors de l'installation d'un nouveau noyau par exemple : mkboot
En root, lancez la commande :
# mkboot Insert a floppy diskette into your boot drive, and press Return.Ensuite vous aurez le message suivant :
Creating a lilot bootdisk... + mkdir /tmp/boot8075 + mke2fs -q /dev/fd0 mke2fs 1.27 (8-Mar-2002) + mount -t ext2 /dev/fd0 /tmp/boot8075 + cp /boot/boot.b /tmp/boot8075/boot.b + cp /vmlinuz /tmp/boot8075/vmlinuz + cat + lilo -C lilo.conf Warning: COMPACT may conflict with LBA32 on some systems Added linux * ++ set +e ++ cd / ++ umount /dev/fd0 ++ rmdir /tmp/boot8075 ...Success.Voilà, vous disposez d'une disquette de démarrage toute neuve :)
1.3. Modifier le message d'accueil
Lorsque vous devez vous connecter, vous êtes en face d'un message d'accueil du genre :
Debian GNU/Linux 3.0 LinuxBox login : _Ce message peut-être modifié en altérant le contenu du fichier /etc/issue et /etc/issue.net lorsque on établit une connexion telnet ou lorsque l'on se connecte au système. Par exemple, pour avoir la version du noyau et le type de machine, nous pourrions procéder de la sorte :
echo "">/etc/issue #ceci écrase le précédent echo "Noyau $(uname -r)">>/etc/issue echo "Machine de type $(uname -m)">>/etc/issueVous obtiendrez le résultat suivant :
Noyau 2.4.18 Machine de type i686 LinuxBox login : _
Il est possible de faire pareil pour les connexions SSH en modifiant le fichier /etc/motd. A vous maintenant d'être imaginatif concernant vos messages d'accueil ;)
1.4. Messages de boot
Lors du démarrage de votre système, un nombre important de messages apparaissent à l'écran.Tels que le type de carte réseau que vous utiliser, quel périphérique est détecté, etc ... Il existe pour cela une commande assez utile pour voir ce qui s'est passé :) Pour accéder à ces messages, tapez :
$ dmesg | more. Toutefois, cette commande est à exécuter juste après le démarrage de la machine car c'est un simple buffer. L'idéal étant de rediriger les infos dans un fichier ;)
1.5. Version du noyau
Pour accéder à toute les informations concernant le noyau de votre système (date de compilation, le type de processeur, etc...). Il suffit de faire un uname -a. La version du noyau est donnée en majeur.mineur.révision, exemple : 2.4.2. Une précision : les mineurs impairs sont des versions dites "unstable", en développement.
1.6. Afficher le contenu d'un fichier tar sans le décompresser
Une option de la commande tar permet de lister le contenu d'un fichier compressé. Voici la commande qui permet de faire cela :
$ tar tzf Nom_archive.tar (c'est l'option t de la commande tar qui permet cela)Pour plus d'infos, man tar. :)
1.7. Générer un modprobe.conf facilement
Lorsque modconf ou autre vous indique qu'il ne le trouve pas ce fichier, il existe une manipulation toute simple pour le générer, et ne pas utiliser la méthode de sioux qui consiste à créer un modprobe.conf vide:
Allez dans /usr/share/doc/module-init-tools/example
Dé-gunziper le fichier generatemodprobe.conf.gz2
Puis, le lancer avec
# sh -e generatemodprobe.conf
et voilà, si tout va bien, vous obtiendrez un beau /etc/modprobe.conf tout neuf !
1.8. Connaitre la taille des répertoires utilisateurs de son système
Pour savoir combien les utilisateurs de votre système consomme d'espace disque, il suffit de faire :
for dir in $(ls /home); do du -shc /home/$dir; done
1.9. Désactiver les bips lorsque vous êtes en console
Les bips que l'on peut rencontrer lors des completions ou lors de mauvaises manipulations en console sont assez frustants voir même très énervants. Pour les désactiver, il suffit de mettre dans votre /etc/inputrc ou dans votre ~/.inputrc la ligne suivante
set bell-style noneIl vous faudra vous reconnecter pour que les modifications soient prises en compte.
1.10. Observer ses logs dans un p'tit terminal
Voici une petite astuce qui permet de visionner ses logs en "direct" dans un terminal. Ouvrez un terminal et faites un tail -f fichier_log. Par exemple :
# tail -f /var/log/syslog
2. X
2.1. Version de XFree
Pour accéder à toute les informations concernant la version de Xfree de votre système. Tapez la commande :
$ X -version
2.2. Ma souris a pété un cable sous X
Vous avez probablement gpm de lancé. Si vous n'utilisez pas la souris en console, vous n'en avez pas besoin. Vous pouvez soit le désactiver en faisant /etc/init.d/gpm stop ou le retirer de votre système en faisant apt-get remove gpm sous root.
Si vous préférez garder gpm pour utiliser votre souris en console (c'est utile pour copier-coller avec le bouton du milieu), il faut modifier les configurations de X et de gpm pour que les deux programmes coopèrent au lieu de se concurrencer.
Éditer /etc/gpm.conf qui est le fichier de configuration de gpm. Chercher la ligne contenant repeat_type=. Le type spécifié est probablement ms3, le remplacer par raw. Ainsi, gpm retransmettra intégralement ce qu'il reçoit de la souris vers le device /dev/gpmdata.
Relancer ensuite gpm :
# /etc/init.d/gpm restart
Dans le fichier de config de X (/etc/X11/XF86Config ou son équivalent), trouver la section qui correspond à la souris (en général "Configured Mouse"). Changer le paramètre Device en "/dev/gpmdata" pour que X lise les données de la souris sur /dev/gpmdata.
Redémarrer le serveur X. La souris doit maintenant fonctionner aussi bien sous X qu'en console.
3. Shell
3.1. Modifications des noms de fichiers
Voici quelques petits exemples pour renommer une multitude de fichiers selon différents critères :
Convertir les noms de fichiers de majuscule en minuscule :
$ for i in *; do mv "$i" `echo $i | tr [:upper:] [:lower:]`; done
L'opération inverse est également possible :
$ for i in *; do mv "$i" `echo $i | tr [:lower:] [:upper:]`; done
Remplacer les espaces dans le nom des fichiers en caractère souligné "_" (underscore) :
$ for i in *\ *; do mv "$i" `echo $i | tr " " "_"`; done
L'opération inverse est également possible :
$ for i in *_*; do mv "$i" "`echo $i | tr "_" " "`"; done
Pour éviter de faire des erreurs, vous pouvez tester cette commande ainsi les résultats seront affichés mais aucune modification ne sera faite :
$ for i in *\ *; do printf "$i\n" | tr " " "_"; done
Changer les extensions des tous les fichiers d'un dossier :
$ for i in *.txt; do mv $i `basename $i txt`old; done
txt est l'extension à modifier ; old est la nouvelle extension.
3.2. Personnaliser son prompt
Les prompts (invite du shell) ne sont pas très intéressant. Sur une Debian, après une installation standard, les informations suivantes sont affichées :
utilisateur@machine:~$La variable d'environnement à modifier pour avoir un prompt plus attrayant est PS1. Pour connaitre sa configuration actuelle, faites un echo $PS1, vous devriez avoir quelque chose comme ceci :
utilisateur@machine:~$ echo $PS1 \u@\h:\w\$ 'Vous allez me dire "mais qu'est-ce que c'est que ce charabia ??". En fait, cela est assez simple, voici les différentes caractères spéciaux qui permettent de définir cette fameuse variable :
\t Heure actuelle sous la forme 24 heures HH:MM:SS.
\T Heure actuelle sous la forme 12 heures HH:MM:SS.
\@ Heure actuelle sous la forme 12 heures am/pm.
\d Date actuelle sous la forme "jour_semaine mois date".
\l Le nombre de jobs gérés par le shell.
\n Saut de ligne.
\s Nom du shell.
\W Répertoire de travail.
\u Nom d'utilisateur.
\h Nom de l'ordinateur.
\! Numéro de commande courant.
\nnn Le caractère nnn (base huit) est affiché. Exemple un é s'écrira '\\351'.
\\ Affichage d'un anti-slash.
\v La version de bash.
\V La version de bash plus le niveau du patch.
\! Le numéro de l'historique de cette commande.
\# Le numéro de la commande de cette commande.
\[ Début d'une séquence de caractères qui ne seront pas affichés.
\] Fin d'une séquence de caractères qui ne seront pas affichés.
\e Caractère d'échappement ASCII(033).
\a Caractère de sonnerie ASCII (07).
Voici un exemple de configuration de variable :
PS1='\[\033[1;32m\][\t|\d]\[\033[1;33m\][\u@\h] \[\033[0;36m\]\w\$\[\033[0m\]\n 'Je vous laisse découvrir le résultat ;) En ce qui concerne les fichiers de configuration, il faut éditer soit le .bashrc de son répertoire personnel ou en root le fichier /etc/profile afin de définir un prompt tout joli pour tous ses utilisateurs. Si vous désirez appronfondir vos connaissances dans ce domaine, je vous invite à jeter un oeil au Bash Prompt HOWTO.
3.3. Changer la casse dans un terminal
Les systèmes Unix, contrairement à d'autres systèmes, sont sensibles à la casse. Le Bash possède de nombreux raccourcis claviers permettant de vous simplifier énormément les choses. Par exemple, admettons que vous tapez une commande en majuscule alors qu'elle devrait être en minuscule, pas besoin de tout effacer, il vous suffit de faire :
Ctrl+A = Retourne au début de la ligne.
Alt+L = Met en minuscule toutes les lettres à partir du curseur jusquà la fin de la ligne.
Alt+U = Met en majuscule toutes les lettres à partir du curseur jusquà la fin de la ligne.
4. Bureautique
4.1. Convertir des documents .doc en texte ASCII
Un petit utilitaire, antiword, est disponible afin de vous permettre de convertir tous vos fichiers avec l'extension .doc en ASCII. Pour l'installer, rien de plus simple :
#apt-get install antiwordSon utilisation est relativement aisée ... Réferrez-vous à la page de man pour plus d'informations ;)