Retour

Procédures de réparation



Explication de quelques procédures de réparation destinées aux débutants.

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 

1/ fsck au boot

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


2°/ sudo ne fonctionne plus

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 :

/etc/sudoers

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.


3°/ .dmrc

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


4°/ gethostbyname()

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.

5°/ grub

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 : 

grub

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



Retour



Valid HTML 4.01 Transitional        Valid CSS!