Problèmes courants

Table of Contents

Mes connexions au bavardage (chat, Internet Relay Chat, IRC..) sont refusées
Telnet lent (connexion)
"unable to get official name for local machine", ou bien sendmail se bloque lors du démarrage (boot)
Disquette de démarrage (boot, floppy, CRC)
Messages de LILO
Login impossible (mot de passe refusé, password, connexion)
Mon terminal se bloque (fige, gèle, arrêt)
e2fsck : deleted inode ... zero dtime

Mes connexions au bavardage (chat, Internet Relay Chat, IRC..) sont refusées

Réponse

Certains de ces services exigent que votre machine assure le service ident (voir /etc/services).

D. Duparc :

Lire le chapitre [Communiquer] du Guide du Rootard, en particulier [Que faire en cas d'attribution dynamique de l'adresse IP ?]

Créer un fichier /etc/hosts.base contenant seulement la ligne 127.0.0.1 localhost.

Ajouter au script /etc/ppp/ip-up de J.C. Delépine les lignes suivantes :

      cp /etc/hosts.base /etc/hosts
      echo $HOST georgette.lefrancois >> /etc/hosts
     
si georgette.lefrancois est le nom local de la machine.

Telnet lent (connexion)

Question

Quand je fais un telnet depuis une machine Windows (ou Linux, d'ailleurs), j'attends très longtemps au moment de la connexion, environ une minute, avant d'avoir l'invite de login. Après, ça fonctionne très bien...

Réponse

O Tharan explique :

Problème de résolution de noms classique : la machine Linux essaie de faire une résolution inverse sur l'adresse IP de la machine MS-Windows pour savoir qui l'appelle, et n'y arrive pas, d'où attente. Exemple : je me connecte avec l'adresse IP 192.168.1.2 et Linux essaie de savoir à quel nom (windows.babasse.fr) cela correspond.

Solution: renseigner la table /etc/hosts en indiquant l'adresse IP de la machine MS-Windows et son nom. Exemple :

   192.168.1.1	linux1.maison.fr
   192.168.1.2	windows1.maison.fr

Commentaire

Inutile d'installer un serveur de noms pour si peu, même si c'est un bon exercice.

"unable to get official name for local machine", ou bien sendmail se bloque lors du démarrage (boot)

Réponse

/etc/hosts doit contenir :

      127.0.0.1 FQDN localhost loopback N
     
où :
  • "FQDN" remplace le nom de machine complet : ce que renvoie la commande hostname -f (ou uname -n)

  • "N" remplace le nom de machine sans domaine : hostname | cut -f1 -d.

Disquette de démarrage (boot, floppy, CRC)

Question

Le démarrage sur disquette échoue avec un message crc error, ou un code d'erreur bizarre.

Réponse

Utiliser une autre disquette, la formater au préalable et s'assurer qu'elle n'a pas de défaut (bad sectors, secteurs défectueux).

Codes d'erreur : consulter la documentation de LILO.

Messages de LILO

Question

Quelle est la signification du message de démarrage de LILO ?

Réponse (Doc LILO, adaptée par J. Bernier et É. Jacoboni)

LILO, au cours de son exécution, affiche peu à peu chaque lettre du mot "LILO". Si LILO échoue à un stade donné, les lettres affichées révèlent l'étape avortée (sa documentation technique décrit tout cela de façon plus détaillée). Certains nombres hexadécimaux peuvent s'afficher après le premier "L" si des problèmes transitoires surviennent sur le disque dur. À moins que LILO ne se bloque, l'affichage d'une suite interminable de nombres hexadécimaux à ce niveau ne révèle pas des problèmes graves.

Note : l'option de LILO linear corrige de nombreux problèmes relevant de la géométrie. Attention: linear et compact ne font parfois pas bon ménage.

Messages affichés par LILO (consulter aussi, à ce propos the section called “Secteur d'amorçage (boot sector, démarrage, réinstallation secteur LILO)”) :

  • (rien) : Aucune partie de LILO n'a été chargée. Il n'est pas installé ou la partition sur laquelle se trouve le secteur de démarrage n'est pas 'activée'.

  • L (code d'erreur)... : le logiciel chargeur a été lu et lancé, mais LILO ne peut poursuivre. Les deux chiffres du code d'erreur indiquent la nature du problème (voir également la section "Codes d'erreurs disque" de la documentation). Ceci indique généralement un défaut du support ou une incohérence dans la définition de la géométrie de celui-ci (par exemple des paramètres incompatibles, voir la section "Géométrie du disque").

  • LI : le chargeur est en mesure de poursuivre vers le deuxième niveau mais ne parvient pas à lancer le logiciel correspondant. Ceci peut relever d'un problème de définition de la géométrie du disque ou d'un déplacement de /boot/boot.b non suivi d'une invocation de lilo.

  • LIL : le second niveau a bien été lancé mais il ne parvient pas à charger la table de descripteurs à partir du fichier map. Ceci est caractéristique d'un problème de support ou d'une géométrie incohérente.

  • LIL? : le second niveau a été chargé à une adresse incorrecte. Causes semblables à celle du message LI.

  • LIL- : la table des descripteurs est corrompue. Causes semblables à celle du message LI.

Login impossible (mot de passe refusé, password, connexion)

Question

Login (connexion) impossible, probablement après manipulation du fichier /etc/passwd ou de l'un des éléments de la chaîne associée (binaire login, shadow passwords, Red Hat : pwdb ou PAM...)

Réponse

S'il s'agit d'un login root à travers le réseau, ne pas négliger de modifier /etc/securettys. Dans le cas d'une Red Hat, examiner aussi la configuration PAM.

Solution fournie par J. Fourre et P. Saratxaga.

Démarrer de façon à pouvoir modifier /etc/passwd. Pour cela, il suffit de passer un paramètre au noyau afin de lancer le système dans un mode d'exploitation spécial.

Pour ce faire, démarrer :

  • en mode mono-utilisateur (single user) grâce à l'un des paramètres LILO :

    • S ;

    • single ;

    • init=/bin/sh.

  • grâce à une disquette de démarrage (par exemple, rescue)

Dans le cas d'une Red Hat :

Pablo recommande, sitôt le système démarré grâce au paramètre init=/bin/bash, d'invoquer /etc/rc.d/rc 2, remonter / en autorisant la lecture et l'écriture (mode rw) avec mount -n -o remount,rw /, puis d'éditer /etc/passwd.

On peut se contenter d'invoquer /etc/rc.d/init.d/keytable afin de bénéficier d'une gestion du clavier adéquate (AZERTY ...).

Pour supprimer un mot de passe, il suffit de modifier la ligne correspondant au compte dans le fichier /etc/passwd afin de détruire tous les caractères placés entre les deux premiers « deux-points ».

Exemple (suppression du mot de passe de root) :

  • Avant modification :

        root:RuN0C/zyWvkf2:0:0:root:/root:/bin/bash
  • Après modification :

        root::0:0:root:/root:/bin/bash

En cas de problème, renommer /etc/shadow.

Commentaires

Warning

un pirate peut employer ce genre d'approche pour prendre le contrôle d'une machine à laquelle il peut « physiquement » accéder.

Pour limiter les risques :

  • utiliser les options password et restricted de LILO (ne pas négliger qu'il faudra, lors du démarrage, composer le mot de passe avec un clavier configuré en QWERTY) ;

  • bitouiller le SETUP de sorte que le démarrage ne puisse s'effectuer qu'à partir du disque dur (et en aucun cas grâce à une disquette), et verrouiller cette configuration (mot de passe SETUP).

Cela devrait limiter les écarts des mauvais plaisants mais gare : un malintentionné peut encore ouvrir la machine (remise à zéro du SETUP, dépose du disque dur...).

F. Rouaix note :

si la machine peut également démarrer sous MS-DOS, utiliser loadlin pour charger un noyau avec des options arbitraires, telles que single.

L. Wacrenier ajoute :

le mot de passe de LILO n'est pas chiffré (un boot secteur n'a pas à s'encombrer de bibliothèque de chiffrement). Le mot de passe apparaîtra donc en clair à qui peut lire le disque. D'où l'idée de mettre un mot de passe qui ne peut être saisi au clavier (ou de redéfinir un clavier, etc.).

Mon terminal se bloque (fige, gèle, arrêt)

Question

La session de travail semble parfois bloquée, le terminal ne produit rien et n'accepte plus rien (aucune touche ne fonctionne).

Réponse

Le blocage est souvent normal car dû à une combinaison de touches Control-S ou bien Arrêt Défil. (Scroll Lock) en mode console. Il suffit alors d'employer Control -Q (ou sur Arrêt Défil.) pour ranimer la session.

V. Bernat

Cela peut aussi être dû à un problème de disque (genre il ne supporte pas bien le DMA et il a planté): on ne pense pas forcément à regarder la LED quand on l'a pas en face de soi. Un coup d'oeil sur la console (Alt-F10) permet de vérifier s'il a un problème (retry/reset).

e2fsck : deleted inode ... zero dtime

Question

e2fsck, par exemple lorsqu'il est invoqué automatiquement durant le boot, produit parfois un message :

     Deleted inode XXX has zero dtime. 
     Set dtime? yes.

Réponse

R. Card :

Chaque i-noeud possède un champ dtime qui contient la date de suppression du dernier fichier associé à cet i-noeud. Le but de ce champ est de permettre d'effectuer des traitements particuliers quand/si une fonction « undelete » sera incorporée à Ext2fs.

Lorsqu'un fichier est supprimé, le noyau met à jour ce champ dtime (avec la date courante) et l'i-noeud est réécrit sur disque. Quand un i-noeud est alloué, le champ dtime est mis à zéro.

fsck vérifie que le champ dtime est non nul pour tout i-noeud non alloué (dont le nombre de liens est nul). Si ce n'est pas le cas, il affiche ce message d'erreur. Généralement, cette erreur peut être due à des redémarrages brutaux, à des problèmes de disque ou à des bogues dans Ext2fs.

De toutes façons, c'est une erreur très bénigne dans la mesure où dtime n'est pas (encore) utilisé.