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.
# Qt/GParted ou fdisk
Posté par aurel (site web personnel, Mastodon) . Évalué à 2.
- 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 Damien . Évalué à 1.
http://www.gnu.org/software/parted/
# information sur HDD (Linux)
Posté par xenos . Évalué à 1.
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 clearstream . Évalué à 0.
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 clearstream . Évalué à 0.
$ 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 clearstream . Évalué à 1.
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).
[^] # Re: information sur HDD (Linux)
Posté par xenos . Évalué à 1.
je crois que j'ai beaucoup de trucs à lire :)
tnx
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.