Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware-erkennung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hardware-erkennung [2023-05-19 12:24:40] – [Linux] manfredhardware-erkennung [2024-04-07 19:59:25] (aktuell) manfred
Zeile 1: Zeile 1:
 +====== Hardware-Erkennung ======
 +
 +  * [[Hardwareerkennungsskript]]
 +
 +
 +===== System Infos =====
 +
 +[[::Hard-Ware-Infos#dmidecode]] oder ''biosdecode''
 +
 +
 +==== Ubuntu ====
 +
 +  > udevadm info -e | less
 +
 +
 +===== Architektur =====
 +
 +
 +Debian/Ubuntu:
 +  > dpkg --print-architecture
 +  amd64
 +
 +FreeBSD:
 +  > uname -m
 +  amd64
 +
 +  > sysctl -n hw.machine
 +  amd64
 +
 +
 +===== Fakten eines Systems =====
 +
 +//Facter// ist ein Ruby-Probramm, mit dem man von verschiedenen Systemen die "Fakten" ermitteln kann.
 +
 +  # aptitude -y install facter
 +
 +  # facter
 +  architecture => x86_64
 +  domain => deutschland.de
 +  facterversion => 1.5.6
 +  fqdn => fritz.deutschland.de
 +  hardwareisa => unknown
 +  hardwaremodel => x86_64
 +  hostname => fritz
 +  id => root
 +  interfaces => eth0,eth1,eth2,eth0_oq
 +  ipaddress => 192.168.1.252
 +  ipaddress_eth0_oq => 192.168.1.252
 +  is_virtual => false
 +  kernel => Linux
 +  kernelmajversion => 2.6
 +  kernelrelease => 2.6.32-26-server
 +  kernelversion => 2.6.32
 +  lsbdistcodename => lucid
 +  lsbdistdescription => Ubuntu 10.04.1 LTS
 +  lsbdistid => Ubuntu
 +  lsbdistrelease => 10.04
 +  lsbmajdistrelease => 10
 +  macaddress => 00:4c:e4:bb:37:5f
 +  macaddress_eth0 => 00:4c:e4:bb:37:5f
 +  macaddress_eth0_oq => 00:4c:e4:bb:37:5f
 +  macaddress_eth1 => 00:01:9b:d5:a6:d2
 +  macaddress_eth2 => 00:5f:71:50:05:b9
 +  manufacturer => Bochs
 +  memoryfree => 416.91 MB
 +  memorysize => 493.70 MB
 +  netmask => 255.255.255.0
 +  netmask_eth0_oq => 255.255.255.0
 +  network_eth0_oq => 10.30.0.0
 +  operatingsystem => Ubuntu
 +  operatingsystemrelease => 10.04
 +  physicalprocessorcount => 0
 +  processor0 => QEMU Virtual CPU version 0.12.3
 +  processorcount => 1
 +  productname => Bochs
 +  ps => ps -ef
 +  puppetversion => 0.25.4
 +  rubysitedir => /usr/local/lib/site_ruby/1.8
 +  rubyversion => 1.8.7
 +  selinux => false
 +  serialnumber => Not Specified
 +  sshdsakey => AAAAB3NzaC1kc3MAAACBALAXF0yA8viNDXigzoeufxGX6KHt6B1wArkv829WiMncs6sWZVS8NOwRG824E7f0hBipnpxxhFPOLqnYHbOKyRZn4Z8TokflHfOTqOjrRC4P4IZ+FB8ciCAYSRUH8BaelkLd31OYAyRqWzp+fQQwp3BPTw2J1x/QH9z43xl0fZVpAAAAFQCB5IPM9GeE8VwYw5dY4vImIHCXywAAAIBmd81alxC4Se17nnsEz1iDh8wX3rQSg1g8mM+f7vLEPioaqRt4uGum72ZtK1T+G6vQi9/K6snMXG8eM+eTwSqfGNbV8mjIFLED13IHqznBroUDkMB6qgi18tRpvMaQA/aNS19gWyIFh5aaYYrBiKBYWonYR/w0id/w3gxelfNAMgAAAIEAp+wA/byh+r7whGO0ldS5VOobIo9Bh69ssWfDihLKaQFKbeMccW/US+GZMES9IzfmQlZgLYWf59lCg1bZinFoG7bUKobQBhGRRqo18Q/eXs+PPoSTIUONNCD7ofjg7p8sw+AaGXgfWzL+JUyXDYC0XexhZEJvZFu1js8R0GqMNMg=
 +  sshrsakey => AAAAB3NzaC1yc2EAAAABIwAAAQEAq/SvbV3L+YXhGtisUNWiU4as65dA/wjOYeazdLQ30KbmVyhtspEqmI3EAVr4v3n9tOtXs7sE4k/5HdVwP6WghoTia2LoigNuM5KYhODMZKIUvP4A5tvxUlmF1d7b9oNT+P5RBERC+aHvXWZ5CzsJYJw+V61npqD7xeQosMnQiJIDf4E4f7GZtErySAaAbTFQzNqTuLulXmKWW8MDfaGFDlAEWP1zs4nuXbYihrMTT4RmZwCTloObfXKgve46G7fUVnuwJ8QrcNJBzUCV/fNoQicNZw9ma8JBGfuPnhGafGVrziZhDRT6S9paqiWeNYFvUSjRhd/TeCavNqFIj07XKQ==
 +  swapfree => 0.00 kB
 +  swapsize => 0.00 kB
 +  timezone => CET
 +  type => Other
 +  uniqueid => 007f0101
 +  uptime => 2:55 hours
 +  uptime_days => 0
 +  uptime_hours => 2
 +  uptime_seconds => 10520
 +  virtual => physical
 +
 +
 +===== Arbeitsspeicher =====
 +
 +  * [[Die Größe des realen Arbeitsspeicher ermitteln]]
 +
 +==== Plattenspeicher ====
 +
 +Die folgende Lösung ist die einfachste, aber leider Sprach- und Distributionsabhängig:
 +  fdisk -l | egrep ^'Platte /|Disk /'
 +  Disk /dev/sda: 72.7 GB, 72746008576 bytes
 +  Disk /dev/sdb: 898.9 GB, 898990342144 bytes
 +  Disk /dev/sdc: 1023 MB, 1023934464 bytes
 +
 +Das Laufwerk ///dev/sdc// ist ein 1GB-USB-Stick. Bei dieser Methode kann man ihn nicht klar genug von den eingebauten Laufwerken unterscheiden, deshalb ist eine der nachfolgenden Methoden zum ermitteln der internen Festplatten besser geeignet.
 +
 +Hier eine Distributionsunabhängige möglichkeit die Plattengröße zu ermitteln:
 +  fgrep -H 0 /sys/class/block/*/removable | egrep -v 'loop|ram|dm-' | awk -F'/' '{print $5}' | while read DEV;do echo "${DEV}=$(cat /sys/class/block/${DEV}/size) Bloecke";done
 +  sda=142082048 Bloecke
 +  sdb=1755840512 Bloecke
 +
 +oder in MB
 +  fgrep -H 0 /sys/class/block/*/removable | egrep -v 'loop|ram|dm-' | awk -F'/' '{print $5}' | while read DEV;do echo "${DEV}=$(cat /sys/class/block/${DEV}/size | awk -F'/' '{print $1/2048}') MB";done
 +  sda=69376 MB
 +  sdb=857344 MB
 +
 +
 +===== HDD =====
 +
 +
 +==== FreeBSD ====
 +
 +  # sysctl kern.disks
 +  kern.disks: ada10 ada9 ada8 ada7 ada6 ada5 ada4 ada3 ada2 ada1 ada0 cd0
 +
 +  # camcontrol devlist
 +  <WDC WD2005FBYZ-01YCBB2 RR07>      at scbus0 target 0 lun 0 (ada0,pass0)
 +  <WDC WD161KRYZ-01AGBB0 01.01H01>   at scbus1 target 0 lun 0 (ada1,pass1)
 +  <WDC WD121KRYZ-01W0RB0 01.01H01>   at scbus2 target 0 lun 0 (ada2,pass2)
 +  <WDC WD101KRYZ-01JPDB1 01.01H02>   at scbus3 target 0 lun 0 (ada3,pass3)
 +  <ST10000NM0016-1TT101 SND0>        at scbus4 target 0 lun 0 (ada4,pass4)
 +  <HGST HUH721010ALE600 LHGNT384>    at scbus5 target 0 lun 0 (ada5,pass5)
 +  <WDC WD101KRYZ-01JPDB1 01.01H02>   at scbus6 target 0 lun 0 (ada6,pass6)
 +  <WDC WD161KRYZ-01AGBB0 01.01H01>   at scbus7 target 0 lun 0 (ada7,pass7)
 +  <PIONEER BD-RW   BDR-S09 1.51>     at scbus9 target 0 lun 0 (sg0,cd0,pass8)
 +  <WDC WD121KRYZ-01W0RB1 02.02H02>   at scbus10 target 0 lun 0 (ada8,pass9)
 +  <ST10000NM0016-1TT101 SNE0>        at scbus12 target 0 lun 0 (ada9,pass10)
 +  <WDC WD121KRYZ-01W0RB0 01.01H01>   at scbus13 target 0 lun 0 (ada10,pass11)
 +  <AHCI SGPIO Enclosure 2.00 0001>   at scbus14 target 0 lun 0 (ses0,pass12)
 +
 +
 +==== FreeBSD + Linux ====
 +
 +  # lsblk 
 +  DEVICE         MAJ:MIN SIZE TYPE                                          LABEL MOUNT
 +  ada0             0:129 1.8T GPT                                               - -
 +    ada0p1         0:143 260M efi                                    gpt/efiboot0 /boot/efi
 +    <FREE>         -:  1.0M -                                                 - -
 +    ada0p2         0:144 4.0G freebsd-swap                              gpt/swap0 SWAP
 +    ada0p3         0:145 1.8T freebsd-zfs                                gpt/zfs0 <ZFS>
 +    <FREE>         -:   68K -                                                 - -
 +  ada1             0:130  15T -                              diskid/DISK-2CGWXXXX -
 +  ada10            0:141  11T -                                                 - -
 +  ada2             0:131  11T -                              diskid/DISK-5PGRXXXX -
 +  ada3             0:132 9.1T -                              diskid/DISK-7JJKXXXX -
 +  ada4             0:133 9.1T -                              diskid/DISK-ZA25XXXX -
 +  ada5             0:134 9.1T -                              diskid/DISK-1SHNXXXX -
 +  ada6             0:135 9.1T -                              diskid/DISK-7JJKXXXX -
 +  ada7             0:136  15T -                              diskid/DISK-2CKMXXXX -
 +  ada8             0:137  11T -                              diskid/DISK-5PHWXXXX -
 +  ada9             0:139 9.1T -                              diskid/DISK-ZA2CXXXX -
 +  
 +  # lsblk
 +  NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
 +  loop0         7:   0 132,7M  1 loop /snap/chromium/1973
 +  ...
 +  sda           8:   0 931,5G  0 disk 
 +  ├─sda1        8:1    0     1M  0 part 
 +  ├─sda2        8:2    0  31,5G  0 part 
 +  └─sda3        8:3    0   900G  0 part 
 +  sr0          11:0    1  1024M  0 rom  
 +  nvme0n1     259:   0   477G  0 disk 
 +  ├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
 +  └─nvme0n1p2 259:2    0 476,4G  0 part /
 +
 +  # smartctl --scan
 +  /dev/sda -d scsi # /dev/sda, SCSI device
 +  /dev/nvme0 -d nvme # /dev/nvme0, NVMe device
 +  
 +  # smartctl --scan
 +  /dev/ada0 -d atacam # /dev/ada0, ATA device
 +  /dev/ada1 -d atacam # /dev/ada1, ATA device
 +  /dev/ada2 -d atacam # /dev/ada2, ATA device
 +  /dev/ada3 -d atacam # /dev/ada3, ATA device
 +  /dev/ada4 -d atacam # /dev/ada4, ATA device
 +  /dev/ada5 -d atacam # /dev/ada5, ATA device
 +  /dev/ada6 -d atacam # /dev/ada6, ATA device
 +  /dev/ada7 -d atacam # /dev/ada7, ATA device
 +  /dev/cd0 -d atacam # /dev/cd0, ATA device
 +  /dev/ada8 -d atacam # /dev/ada8, ATA device
 +  /dev/ada9 -d atacam # /dev/ada9, ATA device
 +  /dev/ada10 -d atacam # /dev/ada10, ATA device
 +  /dev/ses0 -d atacam # /dev/ses0, ATA device
 +
 +
 +==== Linux ====
 +
 +  # ls -1 /sys/class/block/
 +  loop0
 +  ...
 +  nvme0n1
 +  nvme0n1p1
 +  nvme0n1p2
 +  sda
 +  sda1
 +  sda2
 +  sda3
 +  sr0
 +
 +  # ls -1 /dev/disk/by-id/
 +  ata-HL-DT-ST_DVD+_-RW_GU90N_M2OG22D3834
 +  ata-WDC_WD1003FBYZ-010FB0_WD-WCAW37334750
 +  ata-WDC_WD1003FBYZ-010FB0_WD-WCAW37334750-part1
 +  ata-WDC_WD1003FBYZ-010FB0_WD-WCAW37334750-part2
 +  ata-WDC_WD1003FBYZ-010FB0_WD-WCAW37334750-part3
 +  nvme-eui.5cd2e42981503a70
 +  nvme-eui.5cd2e42981503a70-part1
 +  nvme-eui.5cd2e42981503a70-part2
 +  nvme-SSDPEKKF512G8_NVMe_INTEL_512GB_PHHH830500MA512H
 +  nvme-SSDPEKKF512G8_NVMe_INTEL_512GB_PHHH830500MA512H-part1
 +  nvme-SSDPEKKF512G8_NVMe_INTEL_512GB_PHHH830500MA512H-part2
 +  wwn-0x5001480000000000
 +  wwn-0x50014ee25f2c0054
 +  wwn-0x50014ee25f2c0054-part1
 +  wwn-0x50014ee25f2c0054-part2
 +  wwn-0x50014ee25f2c0054-part3
 +
 +
 +===== CPU =====
 +
 +
 +==== CPU-Erkennung ====
 +
 +
 +=== Linux ===
 +
 +  # cat /proc/cpuinfo
 +  processor     : 0
 +  vendor_id     : GenuineIntel
 +  cpu family    : 6
 +  model         : 13
 +  model name    : Intel(R) Pentium(R) M processor 1.73GHz
 +  stepping      : 8
 +  cpu MHz       : 1733.000
 +  cache size    : 2048 KB
 +  fdiv_bug      : no
 +  hlt_bug       : no
 +  f00f_bug      : no
 +  coma_bug      : no
 +  fpu           : yes
 +  fpu_exception : yes
 +  cpuid level   : 2
 +  wp            : yes
 +  flags         : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe up bts est tm2
 +  bogomips      : 3467.42
 +  clflush size  : 64
 +  cache_alignment       : 64
 +  address sizes : 32 bits physical, 32 bits virtual
 +  power management:
 +
 +Anzahl der (logischen) CPU-Kerne ausgeben:
 +  > awk '/processor/{print $NF+1}' /proc/cpuinfo | tail -n1
 +  12
 +  
 +  > nproc --all
 +  12
 +
 +Anzahl der (pysikalischen) CPU-Kerne ausgeben:
 +  > sed 's/.,//' /sys/devices/system/cpu/cpu0/topology/core_cpus_list
 +  6
 +  
 +  > awk '/^cpu cores/{print $NF}' /proc/cpuinfo | head -n1
 +  6
 +  
 +  > lscpu -p=CORE | grep -E '^[0-9]' | sort | uniq | wc -l
 +  6
 +  
 +  > grep -m 1 'cpu cores' /proc/cpuinfo | sed 's/.* //'
 +  6
 +  
 +  > grep -m 1 'cpu cores' /proc/cpuinfo | awk '{print $NF}'
 +  6
 +
 +
 +=== FreeBSD ===
 +
 +FreeBSD-Kernel-Version:
 +  > freebsd-version -k
 +  13.1-RELEASE-p4
 +
 +FreeBSD-Userland-Version:
 +  > freebsd-version -u
 +  13.1-RELEASE-p4
 +
 +  > pciconf -lv | grep -A1 -E vendor[^=] | less
 +
 +  > usbconfig
 +  ugen0.1: <Intel XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
 +  ugen0.2: <ASRock LED Controller> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
 +  ugen0.3: <vendor 0x413c Dell KB216 Wired Keyboard> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
 +
 +Bei FeeBSD kommt man über das Werkzeug //dmesg// an die ersehnten Infos ran:
 +
 +  # dmesg | grep -F Features
 +    Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
 +    Features2=0x2001<SSE3,CX16>
 +    AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
 +    AMD Features2=0x11f<LAHF,CMP,SVM,ExtAPIC,CR8,Prefetch>
 +
 +Wie man hier im Vergleich sehen kann, wird das Prozessorflag **SVM** für Hardware-Virtualisierung in der Linux-Emulation nicht angezeigt, von //dmesg// dagegen schon.
 +
 +Die kompletten Prozessor-Infos sehen in //dmesg// so aus:
 +
 +  CPU: AMD Athlon(tm) Dual Core Processor 5050e (2600.02-MHz K8-class CPU)
 +    Origin = "AuthenticAMD"  Id = 0x60fb2  Stepping = 2
 +    Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
 +    Features2=0x2001<SSE3,CX16>
 +    AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
 +    AMD Features2=0x11f<LAHF,CMP,SVM,ExtAPIC,CR8,Prefetch>
 +    TSC: P-state invariant
 +  real memory  = 4294967296 (4096 MB)
 +  avail memory = 4065894400 (3877 MB)
 +  ACPI APIC Table: <082708 APIC1356>
 +  FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 +  FreeBSD/SMP: 1 package(s) x 2 core(s)
 +   cpu0 (BSP): APIC ID:  0
 +   cpu1 (AP): APIC ID:  1
 +
 +Hier ist auch zu sehen, das die CPU zwei Kerne besitzt.
 +
 +  > sysctl -a | grep -Ei 'hw.machine|hw.model|hw.ncpu'
 +  hw.machine: amd64
 +  hw.model: Intel(R) Core(TM) i5-10600T CPU @ 2.40GHz
 +  hw.ncpu: 12
 +  hw.machine_arch: amd64
 +
 +  > sysctl hw.model hw.machine hw.ncpu
 +  hw.model: Intel(R) Core(TM) i5-10600T CPU @ 2.40GHz
 +  hw.machine: amd64
 +  hw.ncpu: 12
 +
 +  > sysctl hw.ncpu
 +  hw.ncpu: 12
 +  
 +  > sysctl -e hw.ncpu
 +  hw.ncpu=12
 +  
 +  > sysctl -n hw.ncpu
 +  12
 +  
 +  # Beschreibung:
 +  > sysctl -d hw.ncpu
 +  hw.ncpu: Number of active CPUs
 +
 +  > devinfo -rv | grep -F cpu
 +
 +Anzahl der (logischen) CPU-Kerne ausgeben:
 +  > sysctl -n hw.ncpu
 +  12
 +  
 +  > nproc --all
 +  12
 +
 +Anzahl der (pysikalischen) CPU-Kerne ausgeben:
 +  > sysctl -n kern.smp.cores
 +  6
 +
 +  > getconf LONG_BIT
 +  64
 +
 +  > pkg install sysutils/cpu-x
 +  > cpu-x
 +
 +  > pkg install sysutils/cpuid
 +  > cpuid | less
 +
 +  > pkg install sysutils/dmidecode
 +  > dmidecode -t processor | grep -F Count
 +          Core Count: 6
 +          Thread Count: 12
 +
 +  > pkg install sysutils/x86info
 +  > x86info -a
 +
 +  > kldload -v coretemp
 +  > echo 'coretemp_load="YES"' >> /boot/loader.conf
 +  oder bei AMD-CPUs
 +  > kldload -v amdtemp
 +  > echo 'amdtemp_load="YES"' >> /boot/loader.conf
 +  
 +  > sysctl -a | grep -F temperature
 +  dev.pchtherm.0.temperature: 47.0C
 +  dev.cpu.11.temperature: 30.0C
 +  dev.cpu.9.temperature: 29.0C
 +  dev.cpu.7.temperature: 29.0C
 +  dev.cpu.5.temperature: 29.0C
 +  dev.cpu.3.temperature: 31.0C
 +  dev.cpu.1.temperature: 29.0C
 +  dev.cpu.10.temperature: 30.0C
 +  dev.cpu.8.temperature: 28.0C
 +  dev.cpu.6.temperature: 29.0C
 +  dev.cpu.4.temperature: 29.0C
 +  dev.cpu.2.temperature: 31.0C
 +  dev.cpu.0.temperature: 29.0C
 +
 +
 +Wenn man die Linuxemulation aktiviert hat und das Linux-//proc//-Verzeichnis gemountet hat, kann man es genauso wie bei Linux machen.
 +
 +  # cat /usr/compat/linux/proc/cpuinfo
 +  processor     : 0
 +  vendor_id     : AuthenticAMD
 +  cpu family    : 15
 +  model         : 1
 +  model name    : AMD Athlon(tm) Dual Core Processor 5050e
 +  stepping      : 2
 +  processor     : 1
 +  vendor_id     : AuthenticAMD
 +  cpu family    : 15
 +  model         : 1
 +  model name    : AMD Athlon(tm) Dual Core Processor 5050e
 +  stepping      : 2
 +  flags         : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 mmx fxsr xmm sse2
 +  cpu MHz       : 2600.02
 +  bogomips      : 2600.02
 +
 +//Die Infos dort müssen nicht immer 100%-ig stimmen.//
 +
 +
 +==== 16/32/64 Bit ====
 +
 +  * [[http://blog.incase.de/index.php/cpu-feature-flags-and-their-meanings/]]
 +  * /usr/src/linux-headers-2.6.31-20/arch/x86/include/asm/cpufeature.h
 +
 +Zur Erkennung der CPU, hat jede ein entsprechendes Flag:
 +
 +  - Real mode - 16 bit CPU
 +  - i286-Protected Mode - 16-bit CPU
 +  - i386-Protected Mode - 32-bit CPU
 +  - Long mode (lm) - 64 bit CPU
 +
 +Die 64-Bit-CPUs haben das Flag //lm// (//long mode//):
 +
 +  egrep ^flags /proc/cpuinfo | tr -s ' ' '\n' | egrep ^lm | uniq
 +  lm
 +
 +
 +==== Hardware-Virtualisierung ====
 +
 +  egrep ^flags /proc/cpuinfo | tr -s ' ' '\n' | egrep 'vmx|svm' | uniq
 +  vmx
 +
 +oder
 +
 +  egrep 'vmx|svm' /proc/cpuinfo > /dev/null && echo "CPU unterstützt Hardware-Virtualisierung" || echo "CPU unterstützt keine Hardware-Virtualisierung"
 +  CPU unterstützt Hardware-Virtualisierung
 +
 +===== MAC-Adressen =====
 +
 +So ermittelt man die MAC-Adressen eines Linux-Systems am Sinnvollsten und umgeht dadurch einige Fallstricke, die durch Systemunterschiede auftreten.
 +
 +  find /sys/ -type f | egrep 'address' | fgrep -i 'eth' | xargs cat ${1}
 +
 +===== weitere Informationen beschaffen =====
 +
 +[[::dmidecode]]
 +