• # Qt/GParted ou fdisk

    Posté par  . Évalué à 2.

    - en mode graphique, sous KDE: QtParted @ http://qtparted.sourceforge.net/
    - en mode graphique, sous Gnome: GParted @ http://gparted.sourceforge.net/
    - dans un terminal: fdisk @ http://www.die.net/doc/linux/man/man8/fdisk.8.html
  • # Parted

    Posté par  . Évalué à 1.

    En terminal, parted n'est pas mal non plus.
    http://www.gnu.org/software/parted/
  • # information sur HDD (Linux)

    Posté par  . Évalué à 1.

    resalut je crois que j'ai pas bien expliqué ma question !!! :-(

    je cherche comment avoir les informations sur les disques et
    partions sous linux... grace à la programmation.

    je cherche une bibliothéque de fonction qui donne la possibilité
    d'avoir les informations sur le disque dure et les toute les partition presente sur le disque.

    je code avec le langage C.

    merci encor :-)
    • [^] # Re: information sur HDD (Linux)

      Posté par  . Évalué à 0.

      En gros, il n'y a pas.

      Il n'y a pas de standard (type POSIX) pour ça. S'il y a un standard, c'est hal :
      http://www.freedesktop.org/wiki/Software/hal

      Tu peux regarder les sources des programmes donnés précédement.

      Tu trouveras beaucoup d'info dans /sys.

      Voir aussi udev :
      http://kernel.org/pub/linux/utils/kernel/hotplug/
      Tu y trouveras volume_id et quelques programmes intéressants :
      # /lib/udev/ata_id /dev/hda
      Maxtor_6Y080L0_Y28G0SEE
      # /lib/udev/vol_id /dev/hda1
      ID_FS_USAGE=filesystem
      ID_FS_TYPE=ext3
      ID_FS_VERSION=1.0
      ID_FS_UUID=4d8be246-0959-4760-93da-7340446b2baa
      ID_FS_LABEL=big_b1
      ID_FS_LABEL_SAFE=big_b1


      Voir aussi hdparm :
      http://sourceforge.net/projects/hdparm/
      # /sbin/hdparm -i /dev/hdc

      /dev/hdc:

      Model=Maxtor 6Y080L0, FwRev=YAR41BW0, SerialNo=Y21860DE
      Config={ Fixed }
      RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
      BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
      CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=160086528
      IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
      PIO modes: pio0 pio1 pio2 pio3 pio4
      DMA modes: mdma0 mdma1 mdma2
      UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 udma6
      AdvancedPM=yes: disabled (255) WriteCache=enabled
      Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

      * signifies the current active mode




      Je répète, celà est trop dépend pour l'OS pour qu'il y ait un standard.
      • [^] # Re: information sur HDD (Linux)

        Posté par  . Évalué à 0.

        Ooops, j'ai oublié un exemple d'utilisation de hal.
        $ lshal --tree
        [...]
        storage_serial_Y28G0SEE
        volume_uuid_4d8be246_0959_4760_93da_7340446b2baa
        volume_uuid_72abcf17_7925_2b28_77d9_d218c8b8e4eb_0
        volume_part3_size_537255936_0
        [...]

        $ lshal --long --show storage_serial_Y28G0SEE
        udi = '/org/freedesktop/Hal/devices/storage_serial_Y28G0SEE'
        volume.ignore = true (bool)
        block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_Y28G0SEE' (string)
        info.udi = '/org/freedesktop/Hal/devices/storage_serial_Y28G0SEE' (string)
        storage.partitioning_scheme = 'mbr' (string)
        storage.removable.media_size = 81964302336 (0x1315740000) (uint64)
        storage.requires_eject = false (bool)
        storage.hotpluggable = false (bool)
        info.capabilities = {'storage', 'block'} (string list)
        info.category = 'storage' (string)
        info.product = 'Maxtor 6Y080L0' (string)
        storage.size = 81964302336 (0x1315740000) (uint64)
        storage.removable = false (bool)
        storage.removable.media_available = true (bool)
        storage.physical_device = '/org/freedesktop/Hal/devices/pci_1106_571_ide_0_0' (string)
        storage.firmware_version = 'YAR41BW0' (string)
        storage.serial = 'Y28G0SEE' (string)
        storage.vendor = '' (string)
        storage.model = 'Maxtor 6Y080L0' (string)
        storage.drive_type = 'disk' (string)
        storage.automount_enabled_hint = true (bool)
        storage.media_check_enabled = false (bool)
        storage.no_partitions_hint = false (bool)
        storage.bus = 'ide' (string)
        block.is_volume = false (bool)
        block.minor = 0 (0x0) (int)
        block.major = 3 (0x3) (int)
        block.device = '/dev/hda' (string)
        linux.hotplug_type = 3 (0x3) (int)
        info.parent = '/org/freedesktop/Hal/devices/pci_1106_571_ide_0_0' (string)
        linux.sysfs_path_device = '/sys/block/hda' (string)
        linux.sysfs_path = '/sys/block/hda' (string)

        $ lshal --long --show volume_uuid_4d8be246_0959_4760_93da_7340446b2baa
        udi = '/org/freedesktop/Hal/devices/volume_uuid_4d8be246_0959_4760_93da_7340446b2baa'
        volume.unmount.valid_options = {'lazy'} (string list)
        volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'data='} (string list)
        org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject'} (string list)
        org.freedesktop.Hal.Device.Volume.method_argnames = {'mount_point fstype extra_options', 'extra_options', 'extra_options'} (string list)
        org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'} (string list)
        org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 'Eject'} (string list)
        info.interfaces = {'org.freedesktop.Hal.Device.Volume'} (string list)
        volume.ignore = true (bool)
        info.udi = '/org/freedesktop/Hal/devices/volume_uuid_4d8be246_0959_4760_93da_7340446b2baa' (string)
        volume.partition.flags = {} (string list)
        volume.partition.uuid = '' (string)
        volume.partition.label = '' (string)
        volume.partition.type = '0x83' (string)
        volume.partition.scheme = 'mbr' (string)
        info.product = 'big_b1' (string)
        volume.partition.media_size = 81964302336 (0x1315740000) (uint64)
        volume.partition.start = 32256 (0x7e00) (uint64)
        volume.size = 100606464 (0x5ff2200) (uint64)
        volume.num_blocks = 196497 (0x2ff91) (int)
        volume.block_size = 512 (0x200) (int)
        volume.partition.number = 1 (0x1) (int)
        info.capabilities = {'volume', 'block'} (string list)
        info.category = 'volume' (string)
        volume.is_partition = true (bool)
        volume.is_disc = false (bool)
        volume.linux.is_device_mapper = false (bool)
        volume.is_mounted_read_only = false (bool)
        volume.is_mounted = true (bool)
        volume.mount_point = '/boot' (string)
        volume.label = 'big_b1' (string)
        volume.uuid = '4d8be246-0959-4760-93da-7340446b2baa' (string)
        volume.fsversion = '1.0' (string)
        volume.fsusage = 'filesystem' (string)
        volume.fstype = 'ext3' (string)
        storage.model = '' (string)
        block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_Y28G0SEE' (string)
        block.is_volume = true (bool)
        block.minor = 1 (0x1) (int)
        block.major = 3 (0x3) (int)
        block.device = '/dev/hda1' (string)
        linux.hotplug_type = 3 (0x3) (int)
        info.parent = '/org/freedesktop/Hal/devices/storage_serial_Y28G0SEE' (string)
        linux.sysfs_path_device = '/sys/block/hda/hda1' (string)
        linux.sysfs_path = '/sys/block/hda/hda1' (string)
      • [^] # Re: information sur HDD (Linux)

        Posté par  . Évalué à 1.

        > Tu trouveras beaucoup d'info dans /sys.

        Décidément, je n'ai pas toute ma tête.

        Voilà une librairie pour accéder à /sys :
        http://prdownloads.sourceforge.net/linux-diag/ (chercher sysfstutils).

Suivre le flux des commentaires

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