Le système d'exploitation GNU-Linux/Les périphériques /dev

Un livre de Wikibooks.
Aller à : Navigation, rechercher
Le système d'exploitation GNU-Linux
Tux.svg
Plan
  1. Qu'est-ce qu'un système d'exploitation ?
  2. Unix et Linux
  3. Partitionnement du disque
  4. Installation
    1. Installer Debian via le réseau
  5. Utilisateur Unix
    1. Le login
    2. Commandes de base
    3. L'aide en ligne man
    4. L'éditeur de texte vi
    5. Les shells
    6. La complétion
    7. Les jokers
    8. Les répertoires importants
    9. Redirection des entrées/sorties
    10. Invoquer un programme en tâche de fond
    11. Propriétaires et droits d'accès
    12. Processus
  6. Administration du système
    1. Configuration du réseau
    2. Les utilisateurs et groupes
    3. Le processus d'initialisation
    4. Les systèmes de fichiers
    5. Le système virtuel /proc
    6. Les périphériques /dev
    7. L'ordonnanceur de travaux cron
    8. Le backup : tar et gzip
    9. ghost avec partimage
    10. sauvegarde de fichiers avec rsync
    11. Les fichiers journaux syslog
    12. Installation de nouveaux logiciels
    13. Le noyau Linux et les modules
    14. Autres commandes utiles
    15. Installation RAID1 logiciel + LVM + XFS
    16. Scripts de surveillance
    17. Réseaux sans fil
  7. Administration des services réseaux
    1. Le serveur de noms Bind
    2. Le serveur de configuration réseau DHCP
    3. Le serveur de shell distant SSH
    4. Le partage de fichiers Samba
    5. Le partage de fichiers NFS
    6. Le serveur d'impression CUPS
    7. Le serveur de mails Postfix
    8. Le serveur de fichiers FTP
    9. La base de données Mysql
    10. Le serveur Web Apache
    11. Les annuaires LDAP
    12. L'outil d'administration Webmin
    13. Le routage avec iptables et route
    14. La supervision
  8. Sécurisation d'un serveur Linux
    1. Installation d'un service en mode chroot
    2. Protection avec iptables
  9. Médiagraphie
  10. Auteurs
Modifier ce modèle

Les fichiers spéciaux [modifier]

Nous allons nous interesser plus particulièrement au répertoire /dev :

Ce dossier contient tous les périphériques matériels, par exemple:un lecteur cdrom,une carte son,une carte réseau,etc...

Il contient également les pseudo-périphériques. Quelques exemples :

  • /dev/zero génére des zéros
  • /dev/random génère de l'aléatoire
  • /dev/null constitue un trou noir à octets, et notamment utilisé pour se débarrasser des fichiers et des affichages
  • /dev/loop0 permet de créer de faux périphériques de type block (stockage) à partir de fichiers créés avec la commande dd

Si on liste le contenu de /dev

# ls -l /dev | more

On s'aperçoit que certains périphériques sont de type c (character) dans ce cas ils communiquent octet par octet ex: un port série.

Alors que d'autres sont de types b (blocks) ils communiquent par blocs de données (ex: un disque dur).

Par ailleurs le noyau identifie chaque périphérique au moyen de deux numéros, le majeur (en vert) et le mineur (en rouge), exemple :

# ls -l /dev/sda*
brw-rw---- 1 root disk 8, 0 2007-09-22 18:08 /dev/sda
brw-rw---- 1 root disk 8, 1 2007-09-22 18:08 /dev/sda1
brw-rw---- 1 root disk 8, 2 2007-09-22 18:08 /dev/sda2
brw-rw---- 1 root disk 8, 3 2007-09-22 18:08 /dev/sda3
brw-rw---- 1 root disk 8, 4 2007-09-22 18:08 /dev/sda4

Les partitions sda1 à sda4 ont le même majeur. Le majeur correspond au premier disque dur SCSI ou SATA.

Le noyau identifie ensuite chaque partition grâce au numéro mineur.

Les majeurs et les mineurs sont définit dans la documentation accompagnant le noyau Linux dans le fichier /usr/src/linux/Documentation/devices.txt ... et oui! comme vous pouvez vous en douter, le noyau Linux est livré avec une documentation très fournie disponible dans le répertoire Documentation/ livré avec le noyau, voir chapitre Le noyau Linux et les modules.

Extrait de /usr/src/linux/Documentation/devices.txt :

 ...
 8 block     SCSI disk devices (0-15)
               0 = /dev/sda            First SCSI disk whole disk
              16 = /dev/sdb            Second SCSI disk whole disk
              32 = /dev/sdc            Third SCSI disk whole disk
              ...
             240 = /dev/sdp            Sixteenth SCSI disk whole disk
              ...
             Partitions are handled in the same way as for IDE
             disks (see major number 3) except that the limit on
             partitions is 15.
 ...

La commande mknod sert à créer de nouveaux périphériques :

# mknod /dev/bidon b 42 0

On peut également directement lui affecter les droits d'accès :

# mknod -m 660 /dev/bidon b 42 0
Nuvola apps korganizer.svg
À faire...

parler de udevd