Ich muss wissen, welche Festplatten verfügbar sind, auch solche, die nicht gemountet und möglicherweise nicht formatiert sind. Ich kann sie in dmesg
oder nicht finden /var/log/messages
(zu viel zum Scrollen). Ich hoffe, dass es eine Möglichkeit gibt , diese Informationen zu verwenden /dev
oder /proc
herauszufinden, aber ich weiß nicht wie. Ich benutze Linux.
223
lshw
(Hardware auflisten ),hwinfo
(Hardwareinformationen),lsscsi
(SCSI-Geräte auflisten),lsusb
(USB-Busse / -Geräte auflisten ), (Blockgeräte auflistenlsblk
)fdisk -l
undmount
. Weitere Informationen unter binarytides.com/linux-commands-hardware-info .Antworten:
Dies ist stark plattformabhängig. Auch unterschiedliche Methoden können Edge-Cases unterschiedlich behandeln („gefälschte“ Festplatten verschiedener Art, RAID-Volumes usw.).
In modernen udev-Installationen gibt es symbolische Links zu Speichermedien in Unterverzeichnissen von
/dev/disk
, mit denen Sie eine Festplatte oder Partition nach Seriennummer (/dev/disk/by-id/
), UUID (/dev/disk/by-uuid
), Dateisystembezeichnung (/dev/disk/by-label/
) oder Hardware-Konnektivität (/dev/disk/by-path/
) suchen können .Unter Linux 2.6 hat jede Festplatte und jedes festplattenähnliche Gerät einen Eintrag in
/sys/block
. Unter Linux werden seit jeher Festplatten und Partitionen in aufgelistet/proc/partitions
. Alternativ können Sie auch lshw : verwendenlshw -class disk
.Linux bietet auch das
lsblk
Hilfsprogramm, das eine schöne Baumansicht der Speichervolumes anzeigt (seit util-linux 2.19, nicht vorhanden auf eingebetteten Geräten mit BusyBox).Wenn Sie ein
fdisk
oderdisklabel
Dienstprogramm haben, kann es Ihnen möglicherweise mitteilen, auf welchen Geräten es arbeiten kann.Auf dem Rosetta Stone for Unix finden Sie Dienstprogrammnamen für viele Unix-Varianten , insbesondere die Zeilen „Hardwarekonfiguration auflisten“ und „Datenträgerbezeichnung lesen“.
quelle
lsblk
listet alle blockierten Geräte auf. Es eignet sich gut für die Skripterstellung:lsblk
ist im util-linux-Paket enthalten und daher viel universeller als die vorgeschlagenen Alternativen.quelle
lsblk -d
,-d
bedeutet use , dass keine Abhängigkeitsmeldung aufgeführt ist.lsblk -ido KNAME,TYPE,SIZE,MODEL
(vonutil-linux
dem ein Teil Teil vonbase
on Arch ist) sofort die angeforderten Informationen aus, ohne dass root sein muss. Beachten Sie, dass es das Gerätemodell und nicht die Modellfamilie enthält .smarctl -i /dev/<device>
empfohlen von Skippy hat es getan, zB: "Modellfamilie: Seagate Barracuda 7200.12" (fehlt in lsblk -ido: "disk 465,8G ST3500418AS").Wie wäre es mit
quelle
lshw
) nicht auf dem Server installiert, und ich vermute, die Antwort wird sein, dass wir es nicht installieren.hwinfo
hilft:quelle
Laut @Giles ist dies in hohem Maße plattformabhängig. Hier ist ein solches Beispiel.
Ich verwende ein CentOS 5.5-System. Dieses System verfügt über 4 Festplatten und einen 3ware RAID-Controller.
In meinem Fall
lshw -class disk
,cat /proc/scsi/scsi
undparted --list
zeigt die RAID - Controller (3ware 9650SE-4LP). Dies zeigt nicht die tatsächlichen Festplatten:Zeigt nur den 3ware RAID-Controller an, der das / dev / sda-Volume bereitstellt:
Um die darunter liegenden Festplatten zu sehen, musste ich das Dienstprogramm tw_cli von 3ware installieren und den Controller selbst fragen.
quelle
Da beide „ Kann ich sehen , was HDD ich installiert habe? “ Und „ Wie kann das Fabrikat und Modell meiner Speichergeräte ich feststellen? “ Werden als Duplikate dieser Frage markiert, ich bin überrascht , niemand erwähnt
hdparm
undsmartctl
. Ein Blick auf ein paar Maschinen scheint, dass eine von ihnen (wenn es nicht beide sind) oft bereits in Standard-Linux-Distributionen (auch alten) installiert ist.Wie üblich finden Sie auf der Manpage weitere Optionen.
quelle
smartctl
Art und Weise auch auf Cygwin funktioniert, +1! Durchlaufen Sie einfach mögliche Gerätenamen und prüfen Sie, obsmartctl
das Laufwerk SMART unterstützt.Ich verwende Fedora 14 und bin
lshw
hier nicht verfügbar (zumindest nicht standardmäßig). In meinem Fall habe ich jedoch denfdisk -l
Befehl (als Root-Benutzer) verwendet, um die folgende Ausgabe zu erhalten:quelle
fdisk -l /dev/sd?
oderfdisk -l /dev/hd?
, um dm-Geräte nicht einzubringen.Ich fand in anderem SE Antwort ,
inxi
Werkzeug als sehr praktisch:quelle
Viele der aufgelisteten Befehle helfen Ihnen bei der Suche nach Datenträgern, die vom System beim Booten bereits erkannt wurden. Bei modernen Laufwerken suchen Sie möglicherweise nach etwas, das Sie bei laufender Maschine eingefügt haben (ich habe es getan). Ich mag den Rat von http://fredericiana.com/2010/06/15/hot-plugging-a-sata-drive-under-linux/ :
... Dann können Sie Ihre Linux-Dienstprogramme wie fdisk verwenden, um Informationen zu den gefundenen Festplatten anzuzeigen.
quelle
Hier erhalten Sie detaillierte Informationen zu Hardware / physischen Festplatten, auch wenn diese nicht gemountet sind.
Das Programm ist auf allen Linux-Varianten, die ich verwendet habe, vorinstalliert, aber Sie müssen root sein, um es zu verwenden.
quelle
Das hat bei mir funktioniert:
quelle
sudo gparted
wird dies alles in einer GUI anzeigen.(Sie haben nicht angegeben, dass Sie dies in einem Terminal tun müssen. Ich frage mich, warum diese Lösung fehlte.)
quelle
So geben Sie die Anzahl der Blockgeräte ohne ausgefallene Tools oder undeutliche Syntax oder Parameter zurück:
In meinen lokalen Testfällen,
47
auf meiner größten Kriegsmaschine und1
auf meinem Laptop.quelle
IMHO, lsblk ist der Befehl, der in der Linux-Welt am weitesten verbreitet ist (funktioniert sogar auf Ports wie Raspbian). Ich möchte niemanden beleidigen, aber es gibt einige Befehle, bei denen Sie den Gerätenamen explizit kennen müssen, um ihn nachzuschlagen. Zum Beispiel sollten Sie sich der Existenz von sdc bewusst sein, um smartctl auszuführen. Das heißt, lsblk ist nicht universell - ja, unter Solaris, aber nicht unter HPUX. Vielen Dank.
quelle
lsblk
auch unter Solaris verfügbar ist, werden hierdurch nicht mehr Informationen hinzugefügt als die beiden Antworten, die am häufigsten gewählt wurden. Dies sollte besser als Kommentar zu unix.stackexchange.com/a/94211/22812