Zu den weniger geliebten Aufgaben eines Systemadministrators gehört die Dokumentation der betreuten Systeme, insbesondere der Server einschließlich ihrer Hardware. So schwierig es unter anderen Betriebssystemen sein kann an detaillierte Informationen zur jeweiligen Hardware zu kommen, so vielfältig sind die Möglichkeiten bei Linuxsystemen. Wie immer gibt es unter Linux verschiedene Möglichkeiten, wie man die gewünschten Informationen erhalten kann: einmal sind es Programme wie hwinfo, lsusb usw., andererseits liefert das System auch in den Dateien des Verzeichnisses /proc umfangreiche Informationen.
Entgegen der allgemeinen Auffassung, das „richtige Admins alles an der Konsole machen“ 😉 , arbeite ich nicht nach diesem „Qualitätsmerkmal“ aus dem Mainstream der Computerforen, sondern ich suche mir entsprechend der anstehenden Aufgabe das mMn beste Instrument, um diese Aufgabe zu lösen. Für die Sammlung der Hardwareinformationen habe ich mir ein kleines Skript geschrieben, dass die gewünschten Informationen sammelt und in einer Log-Datei ablegt. Für meine Umgebung (Debian und Suse Linux bzw. die debianbasierte Distribution ZevenOS-Neptune) funktioniert diese Skript hervorragend.
#!/usr/bin/sh
rm hardware.log
echo "BIOS" >> hardware.log
dmidecode >> hardware.log
echo "HDD" >> hardware.log
fdisk -l >> hardware.log
echo "Memory" >> hardware.log
cat /proc/meminfo >>hardware.log
echo "Release" >> hardware.log
cat /etc/*-release >> hardware.log
echo "Kernelinfo" >> hardware.log
uname -a >> hardware.log
Ich möchte hier nicht jeden einzelnen Schritt umfassend erläutern, aber mit Hilfe dieser Kombination aus Befehlen und dem Auslesen von Dateien erhalte ich alle Hardwareinformationen die für mich relevant sind (sogar einiges mehr). Um die so erhaltenen Daten auch Auswerten und weiter verwenden zu können, werden sie in die Datei hardware.log geschrieben und um diese Datei nicht in Unermessliche anwachsen zu lassen, wird sie in Schritt 1 gelöscht. Dieses kleine Skript hat den großen Vorteil, dass es jederzeit erweitert werden kann. Es versteht sich von selbst, dass das Skript mit Rootrechten ausgeführt werden muss.
Die Ergebnis (natürlich nur Teile davon) sieht dann für meinen Arbeitsplatzrechner dann so aus:
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Product Name: OptiPlex 780
Version: Not Specified
Serial Number: C92PQ4J
UUID: 44454C4C-3900-1032-8050-C3C04F51344A
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x0200, DMI type 2, 8 bytes
Base Board Information
Manufacturer: Dell Inc.
Product Name: 0C27VV
Version: A00
Serial Number: ..CN1374001603WK.
Handle 0x0300, DMI type 3, 13 bytes
Chassis Information
Manufacturer: Dell Inc.
Type: Mini Tower
Lock: Not Present
Version: Not Specified
Serial Number: C92PQ4J
Asset Tag:
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None