next up previous contents Next: devfs. Up: Les périphériques d'UNIX. Previous: Cacher le résultat d'un   Table des matières  


19.6 Créer un fichier /dev/... avec mknod et /dev/MAKEDEV.

Bien que tous les fichiers soient listés dans le répertoire /dev, il est toujours possible de créer un fichier de périphérique n'importe où sur le système en utilisant la commande mknod:

mknod [-m <mode>] <nom_fichier> [b|c] <numero_majeur> <numero_mineur>


Les lettres b et c sont requises pour créer un périphérique bloc (block) ou caractère (character), respectivement. Pour démontrer cela, essayons:

mknod -m 0600 ~/disquette b 2 0

ls -al /dev/fd0 ~/disquette



De cette manière, /disquette pourra être utiliser exactement comme l'est /dev/fd0.

Observez attentivement le mode (c'est-à-dire les droits) de /dev/fd0. Seuls root et les utilisateurs du groupe floppy devraient pouvoir lire ce fichier et y écrire, étant donné que nous ne voulons bien évidemment pas qu'un utilisateur quelconque puisse se connecter à distance et écrire sur une disquette.

En fait, ceci est la raison essentielle pour avoir des périphériques représentés comme des fichiers et ce, à l'emplacement approprié. Les fichiers UNIX tolèrent de manière naturelle le contrôle des accès par les groupes des fichiers, et par conséquent des périphériques associés.

Pour créer des périphériques qui manquent dans le répertoire /dev (c'est-à-dire des périphériques ésotériques qui ne sont pas présent par défaut), extrayez d'abord les nombres majeur et mineur en consultant le fichier /usr/src/linux/Documentation/devices.txt. Ensuite, utilisez la commande mknod. Remarquez que cette méthode est assez lourde. Le script /dev/MAKEDEV est usuellement disponible pour parer cet inconvénient. Vous devez absolument être dans le répertoire /dev avant que le script ne soit exécuté.

Une utilisation typique de MAKEDEV est:

cd /dev

./MAKEDEV -v fd0

./MAKEDEV -v fd1 



de manière à créer un jeu complet de lecteurs de disquettes.

La page de man de MAKEDEV contient tous les détails. En particulier, elle donne l'information suivante:

Remarquez que les programmes donnant l'erreur ``ENOENT: No such file or directory'' indiquent normalement que le fichier de périphérique est manquant, alors que ``ENOENT: No such device'' signifie que, concernant le noyau, le pilote n'est pas configuré ou chargé.


next up previous contents Next: devfs. Up: Les périphériques d'UNIX. Previous: Cacher le résultat d'un   Table des matières  
1-01-2006