GNU/Linux >> Tutoriels Linux >  >> Linux

Trouver tous les périphériques de stockage connectés à une machine Linux

Vous pouvez toujours faire fdisk -l qui semble fonctionner plutôt bien, même sur des configurations étranges telles que les appareils EC2 xvda.

Voici un dump pour une instance m1.large :

[email protected]:~# fdisk -l

Disk /dev/xvda1: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda1 doesn't contain a valid partition table

Disk /dev/xvda2: 365.0 GB, 365041287168 bytes
255 heads, 63 sectors/track, 44380 cylinders, total 712971264 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda2 doesn't contain a valid partition table

Disk /dev/xvda3: 939 MB, 939524096 bytes
255 heads, 63 sectors/track, 114 cylinders, total 1835008 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda3 doesn't contain a valid partition table

Alors que mount dit :

[email protected]:~# mount
/dev/xvda1 on / type ext4 (rw)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/xvda2 on /mnt type ext3 (rw)

Et /proc/partitions dit :

[email protected]:~# cat /proc/partitions
major minor  #blocks  name

 202        1   10485760 xvda1
 202        2  356485632 xvda2
 202        3     917504 xvda3

Note complémentaire

Comment fdisk -l fonctionne est quelque chose que j'aimerais savoir moi-même.


vous pouvez également essayer lsblk ... est dans util-linux ... mais j'ai aussi une question

fdisk -l /dev/sdl

aucun résultat

grep sdl /proc/partitions      
   8      176   15632384 sdl
   8      177   15628288 sdl1

lsblk | grep sdl
sdl       8:176  1  14.9G  0 disk  
`-sdl1    8:177  1  14.9G  0 part  

fdisk est bon mais pas si bon... on dirait qu'il ne peut pas tout "voir"

dans mon exemple particulier, j'ai un stick qui contient également un lecteur de carte et je ne peux voir que le stick en utilisant fdisk :

fdisk -l /dev/sdk

Disk /dev/sdk: 15.9 GB, 15931539456 bytes
255 heads, 63 sectors/track, 1936 cylinders, total 31116288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbe24be24

   Device Boot      Start         End      Blocks   Id  System
/dev/sdk1   *        8192    31116287    15554048    c  W95 FAT32 (LBA)

mais pas la carte (la carte étant /dev/sdl)

aussi, file -s est inefficace...

file -s /dev/sdl1
/dev/sdl1: sticky x86 boot sector, code offset 0x52, OEM-ID "NTFS    ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, hidden sectors 8192, dos < 4.0 BootSector (0x0)

c'est bien... MAIS

fdisk -l /dev/sdb
/dev/sdb1            2048   156301487    78149720   fd  Linux raid autodetect
/dev/sdb2       156301488   160086527     1892520   82  Linux swap / Solaris

file -s /dev/sdb1
/dev/sdb1: sticky \0

pour voir des informations sur un disque auquel fdisk n'a pas accès, vous pouvez utiliser parted :

parted /dev/sdl print

Model: Mass Storage Device (scsi)
Disk /dev/sdl: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      4194kB  16.0GB  16.0GB  primary  ntfs




arted /dev/sdb print 
Model: ATA Maxtor 6Y080P0 (scsi)
Disk /dev/sdb: 82.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  80.0GB  80.0GB  primary                  raid
 2      80.0GB  82.0GB  1938MB  primary  linux-swap(v1)

ls /sys/block


/proc/partitions listera tous les périphériques de bloc et les partitions que le système reconnaît. Vous pouvez ensuite essayer d'utiliser file -s <device> pour déterminer quel type de système de fichiers est présent sur la partition, le cas échéant.


Linux
  1. Comment trouver la liste de tous les ports ouverts sous Linux

  2. Renommer tous les fichiers et noms de répertoires en minuscules sous Linux

  3. Comment trouver un fichier sous Linux dans tous les répertoires de manière récursive

  4. Comment trouver tous les fichiers se terminant par .rb avec Linux ?

  5. Recherche de tous les périphériques de stockage connectés à une machine Linux

Commande Linux blkid pour rechercher les détails des périphériques de bloc

Comment trouver les périphériques connectés au réseau sous Linux

Trouver des appareils connectés à votre Wifi sous Linux

Comment trouver toutes les polices installées sous Linux

6 façons différentes de répertorier les disques durs sous Linux

10 commandes pour vérifier les partitions de disque et l'espace disque sous Linux