Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Linux.debian : gestion des périphériques

Posté par Nap () le 25 août 2004
j'ai essayé une fois la gentoo, et elle avait une gestion des disques durs différents de debian : en effet sous debian on trouve /dev/hdax où x prends ses valeurs de 1 à 32, alors que ces périphériques n'existent pas tous. Sous gentoo, seuls ceux qui existent sont présent !



Mes questions :

pourquoi cette différence ?

comment reproduire sous debian le comportement de gentoo ?

pourquoi Debian fait-il le choix de ne pas mettre en place ce système, et garde ce genre de bizarrerie ?

> Lire le message (7 commentaires, moyenne: 2,9).  

Vous avez demandé le commentaire #464320.

Re: gestion des périphériques

Posté par nicolasr () le 25/08/2004 à 12:18. (lien). Évalué à 3.

comment reproduire sous debian le comportement de gentoo ?

# apt-get install udev

  • [^]Re: gestion des périphériques

    Posté par Wallou Wally () le 25/08/2004 à 12:23. (lien). Évalué à 0.

    Par défaut gentoo est en devfs par udev

    • [^]Re: gestion des périphériques

      Posté par Jean-Baptiste Mayer () le 25/08/2004 à 12:40. (lien). Évalué à 3.

      Par défaut gentoo est en devfs par udev

      Devfs est déprécié depuis au moins le premier noyau de la série 2.6 ...

    [^]Re: gestion des périphériques

    Posté par Nap () le 25/08/2004 à 12:55. (lien). Évalué à 3.

    j'avais fait ça une fois pour essayer, ça avait strictement rien changé. Je ne comprends rien à ces trucs.

    • [^]Re: gestion des périphériques

      Posté par nicolasr () le 25/08/2004 à 14:31. (lien). Évalué à 3.

      sur debian, tu trouveras une bonne doc dans /usr/share/doc/udev (path classique pour les debianeux ;-)

      sinon, l'intérêt de udev est que tu peux, en miminant un peu le cambouis, affecter toujours le même device linux (/dev/tondevice) à un périphérique donné (au hasard, ta clé USB mass-storage et ton appareil photo numérique mass-storage aussi).

      Plus de confusion pour savoir qui est /dev/sda1 ou /dev/sda2...

      et ça, c'est bien (c).

      [^]Re: gestion des périphériques

      Posté par Obsidian () le 25/08/2004 à 14:52. (lien). Évalué à 5.

      Par défaut, lesdits « fichiers spéciaux » dans /dev occupent réellement une entrée du catalogue (et un inode !), même s'ils ne référencent aucun contenu stocké sur le disque. Les noms hda, hdb etc ne sont que des mnémoniques pour que l'utilisateur s'y retrouve, même s'ils sont standardisés, mais ce qui fait l'efficacité du fichier spécial, ce sont ces deux numéros MAJOR et MINOR qui vont eux réellement dire au kernel à quelle routine on souhaite causer.

      Le problème est qu'à terme cela bouffe beaucoup d'inodes, et que surtout, il faut tous les créer lorsque tu installes de nouveaux périphériques ou compile une nouvelle fonction dans le noyau. On utilise mknod pour faire cela.

      Pour éviter ces inconvénients, les mainteneurs de ta distrib préférée te les créent tous une fois pour toutes dans /dev. Si derrière le périph ou la fonction n'existe pas, le noyau répondra simplement « No such device » lorsque tu essaieras de lire ou d'écrire dans ce fichier.

      Mais quand même, dans un souci d'efficacité, est apparu dans le noyau un nouveau filesystem, devfs. Celui-ci fonctionne exactement de la même manière que /proc, c'est-à-dire qu'une fois ce volume monté sur un répertoire (en l'occurence /dev) tout ce que tu vois dedans est simulé par le kernel.

      Le noyau émule donc les /fichiers /dev standard et, pas bête, il ne génère que ceux qu'il sait gérer. Voila pourquoi sur une distrib normale, tu vas voir apparaitre tous les hda*, et lorsque tu montes devfs, seuls les disques présents apparaissent.

      Enfin, tu n'es pas sans savoir que lorsque tu fais mount, le volume concerné masque le contenu du répertoire sur lequel il est monté (sans l'écraser). Lorsque que tu le démontes, ce qu'il y a en dessous reparaît. Donc si ton devfs est monté sur un répertoire /dev déjà plein de fichiers spéciaux, il est très probable - et c'est heureux - que tu ne constates aucune différence de fonctionnement.

      Maintenant le devfs, on aime ou on aime pas:

      Avantages:
      - Tu récupères tous les inodes inutilement accaparés sur ton disque.
      - Tu n'as pas maintenir ton répertoire /dev à jour, le noyau le fait pour toi.
      - La liste des /dev est infiniment plus claire.
      - Tu sais immédiatement ce que le noyau sait gérer ou pas, et tu sais qu'un /dev présent pointe forcément sur une routine qui fonctionne.
      - Lorsque tu charges un nouveau pilote, en utilisant un module (modprobe), le noyau peut lui assigner dynamiquement un couple de numéros MAJOR/MINOR. Autrement, il faut attendre que l'autorité qui s'occupe de l'affectation de ces numéros t'en attribue un, ce qui sera forcément très long et probablement très incertain car ces numéros sont en nombre limité.

      Inconvénients:
      - C'est pas forcément standard
      - Il faut de toutes façons avoir un minimum de fichiers spéciaux « ordinaires » dans /dev pour permettre au système de s'initialiser correctement jusqu'à ce qu'il monte devfs
      - Le contenu du répertoire est volatile, et donc disparait à chaque démontage/remontage, ce qui exclut la création de liens symboliques dans le répertoire /dev, telles que /dev/cdrom ou /dev/mouse qui permettent de pointer directement le périphérique concerné, spécialement s'il s'agit de périphs amovibles ou USB.

      Personnellement, je préfère m'en passer et gérer le système moi-même. Au moins cela libère beaucoup de ressources, cela exclut d'avance beaucoup de pannes et de conflits potentiels, et cela me permet de n'apprendre que l'administration Unix standard, et pas le fonctionnement de tous les outils de maintenance propre à chaque distrib !

      Voila, bon courage.