Ces résumés de commandes sont destinées aux débutants pour les aider en cas de problème ou pour réaliser quelques procédures de maintenance de leur système.
Points abordés : fsck au boot, sudo, .dmrc, gethostbyname(), grub
Régulièrement, au bout d'un certain nombre de démarrages, une vérification de l'intégrité des systèmes de fichiers est réalisée automatiquement, et le programme fsck se lance pour faire cela.
En
général tout se passe bien, et
après cette vérification votre système
démarre normalement.
Mais, parfois, le système de fichiers a besoin d'une
intervention de votre part pour certains points de
réparations et il est alors remonté en lecture
seulement ( ro = read only ) et il vous est demandé
d'effectuer un fsck. Dans ce cas vous pouvez avoir un message de ce
genre :
|
* fsck failed.
Please repair manually and reboot.
Please note that the root file system is currently mounted read-only, to remount it read-write # mount -n -o remount,rw / ctrl - D will exit from this shell and reboot the system |
Le message signale donc que la partition a
été montée en lecture seulement et
qu'il faut réparer le système de fichiers, puis
remonter la partition en lecture écriture.
Pour faire cela, il faudra déterminer quelle est la
désignation de la partition en se servant de la comande : df -ht / qui
retournera par exemple :
| :~# df -hT / Sys. de
fich. Type
Tail. Occ.
Disp. %Occ. Monté sur
/dev/hdc2 ext3 5,8G 2,4G 3,4G 42% / |
On voit que la partition / racine est la /dev/hdc2 et qu'elle utilise un système de fichiers ext3. Pour solutionner le problème dans le système de fichiers, utiliser la commande :
|
:~# e2fsck -f -y -C0
/dev/hdc2
|
À noter que la commande e2fsck est réservée à un système de fichiers ext3 (ou ext2). On peut aussi utiliser simplement la commande fsck ( fsck -f -y /dev/hd?,? ) qui déterminera automatiquement le système de fichiers. Voir le man fsck.
Lorsque fsck aura terminé, il faudra remonter la partition en lecture écriture :
|
:~# mount -n -o
remount,rw /
|
Il ne reste plus qu'à relancer la machine avec la commande :
| :~# reboot |
Si vous ne pouvez plus utiliser sudo, il faudra éditer le fichier de configuration /etc/sudoers pour le vérifier. Mais, comme vous ne pouvez pas utiliser sudo, pour afficher ce fichier il faudra utilise le mode recovery, en le séléctionnant au boot, dans le menu de grub. Vous pouvez aussi utiliser un live cd. Comme vu plus haut, en mode recovery vous serez root, toutes les commandes passées le seront donc avec les droits aministrateur.
Le fichier /etc/sudoers doit être édité seulement avec la commande visudo, qui en principe va lancer l'éditeur vi. Comme cet éditeur n'est pas "user-friendly", on va lui préférer nano, plus simple d'utilisation, car il affiche en bas d'écran les raccourcis des commandes utiles. Le signe ^ représente la touche ctrl, et ^O signifie qu'il faut utiliser les touches ctrl et o (lettre o) pour enrégistrer les modifications.
Pour éditer /etc/sudoers avec nano, la commande sera :
|
:/# EDITOR=nano
visudo
|
Le résultat devrait ressembler à ceci :

Il faudra voir aussi si l'user est bien dans le groupe admin avec la commande getent :
|
:/# getent group
admin
admin:x:112:cep |
getent nous indique que l'utilisateur cep fait bien partie du groupe admin. Si cela n'avait pas été le cas, il aurait fallu l'ajouter avec la commande adduser :
|
:~# adduser
votre_user admin
Ajout de l'utilisateur « votre_user » au groupe « admin »... Fait. |
Par la même occasion, on vérifie que le fichier /etc/sudoers a bien les permissions en 440 ( -r--r----- ) :
|
:~# stat -c %a
/etc/sudoers
440 |
Si ce n'est pas le cas, il faudra modifier avec la commande chmod : chmod 0440 /etc/sudoers puis relancer une session normale avec la commande exit.
Si un jour vous avez ce genre de message :
| Les permission de votre fichier $HOME/.dmrc sont incorrecte et il est ignoré. |
Ou bien encore :
|
votre session a
duré moins de 10 seconde
|
Il vous faudra simplement rétablir les droits sur votre répertoire personnel dans /home depuis un xterm de secours ou depuis une console avec les commandes :
|
sudo chmod 700
/home/votre_user
sudo chown
votre_user /home/votre_user
sudo chgrp votre_user /home/votre_user |
Si ce message d'erreur s'affiche :
| sudo: unable to lookup via gethostbyname() |
Il faudra redémarrer en recovery, en choisissant ce mode au boot dans le menu de grub, pour vérifier la configuration de votre fichier /etc/hosts, qui devrait ressembler à ceci :
|
~# cat /etc/hosts
127.0.0.1 localhost 127.0.1.1 nom_machine.lan nom_machine # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |
Adapter nom_machine au nom que vous aviez choisi. Vérifiez par la même occasion /etc/hostname, et si nécessaire voyez man hostname.
Pour plusieurs raisons, vous pouvez être aménés à réstaurer grub dans le mbr de votre disque. Pour faire cela, il faudra démarrer avec le cdrom d'installation ou un live cdrom et ouvrir un terminal pour lancer grub avec la commande : sudo grub. Un "batch" grub sera alors disponible pour lancer les commandes utiles.
Il vous faudra d'abord savoir dans quelle partition se trouvent les fichiers nécessaires à l'installation de grub, pour cela il faudra utiliser la commande find puis installer grub dans le mbr, c'est à dire dans (hd0) selon la dénomination de grub avec la commande setup.
Exemple de procédure :

Explications des commandes : dans cet exemple, la commande find /boot/grub/stage1 a trouvé deux installations de grub sur ma machine, l'une dans (hd0,0), c'est à dire sur /dev/hda1, l'autre à (hd1,4), c'est à dire dans la partition /dev/hdb5.
Comme je veux installer grub dans le mbr du premier disque dans l'ordre de boot, c'est à dire (hd0) je vais utiliser la commande setup (hd0) (hd0,0) c'est à dire setup vers (hd0) en prenant les fichiers de configuration à la source (hd0,0) et en mentionnant cette source dans l'installation de grub.
Si j'avais voulu utiliser les fichiers de grub situés dans la partition /dev/hdb5, pour installer grub dans le mbr, la commande aurait été :
setup (hd0) (hd1,4)
Pour quitter le batch grub, c'est la commande : quit