Forum Programmation.c Afficher la liste des disques physiques connectés

Posté par . Licence CC by-sa
Tags : aucun
0
5
avr.
2017

Bonsoir,
Dans le cadre d'un TP je doit écrire un programme C pour afficher les disques physiques connectés sous Debian sachant qu'il est exigé de ne pas utiliser les commandes tel que fdisk -l !
J'ai cherché sur le net et j'ai trouve seulement des commande mais pas d'autres solution !
Donc j'aimerai avoir une idée
Merci
Cordialement

  • # lsblk

    Posté par . Évalué à 2.

    Bonjour,

    Je ne suis pas moi-même programmeur. Mais lsblk rend ce service de lister les disques. Peut-être qu'en jetant un œil au code source cela pourrait donner des idées. lsblk fait partie de util-linux.

  • # lshw

    Posté par . Évalué à 2.

    comme pour lsblk tu as lshw
    qui liste le materiel et qui, avec l'option qui va bien liste les disques.

    lshw -C disk

    il doit y avoir le code source dispo sur internet

  • # Imite les !

    Posté par . Évalué à 9.

    Salut,

    Tu n'a pas le droit d'utiliser des commandes telle que fdisk -l, mais tu as le droit de faire comme elles !

    strace fdisk -l ;-)

  • # chercher le fichier

    Posté par . Évalué à 7.

    sous linux tout est fichier (enfin, presque). Tu peux essayer de lire le dossier /sys/block, par exemple
    # ls -1 /sys/block | grep ^sd
    sda
    sdb
    sdc
    sdd

    Chacun des sous-dossiers sd? représente un disque physique, et dans ce sous-dossier le fichier "dev" contient les numéros majeur:mineur du périphérique par blocs

    # cat /sys/block/sd?/dev
    8:0
    8:16
    8:32
    8:48

    8 est le numéro majeur des disques SCSI, un vieux disque IDE serait 3 (/dev/hd*)
    voir https://www.kernel.org/doc/html/latest/admin-guide/devices.html

  • # /dev/disk

    Posté par . Évalué à 1.

    Bonjour

    Tu as aussi, accessibles depuis un compte utilisateur non privilégié :

    tous les liens qui sont dans les sous-répertoires de /dev/disk

    grep blocks: <(dmesg)

    udisksctl status

  • # /dev

    Posté par . Évalué à 1.

    Est-ce que c'est possible d'ouvrir le dossier dev et de lister les disques ?

    • [^] # Re: /dev

      Posté par . Évalué à 2.

      ouvrir je ne penses pas
      lire dedans, oui tu peux

      lister les disques, oui et non car il peut etre peuplé de "fantome"
      des /dev/sdXY qui n'existent pas reellement par exemple pour anticiper un disque USB

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.