Grimoire-
Command
.es

GNU+Linux command memo

Memo_10 : Explorer le matériel

D’après l’édition 11 des travaux d’Alain Leaper, 2018-04-10
Licence GPL

1. Général

1.1. inxi : résumé global et compact des caractéristiques de la machine

$ inxi
CPU~Dual core Intel Core m7-6Y75 (-HT-MCP-) speed/max~1599/3100 MHz Kernel~4.18.0-0.bpo.1-amd64 x86_64 Up~14 days Mem~4649.4/7659.5MB HDD~574.9GB(75.4% used) Procs~281 Client~Shell inxi~2.3.5

Résumé détaillé, avec entre autre la date de fabrication de la machine et le taux d’usure de la batterie.

$ inxi -xxAv6
System:    Host: pc1 Kernel: 4.18.0-0.bpo.1-amd64 x86_64 (64 bit gcc: 6.3.0)
           Desktop: Xfce 4.12.3 (Gtk 2.24.30) dm: lightdm
           Distro: Debian GNU/Linux 9 (stretch)
Machine:   Device: laptop System: ASUSTeK product: UX305CA v: 1.0 serial: FCN0CJ01894550A
           Mobo: ASUSTeK model: UX305CA v: 1.0 serial: BSN12345678901234567
           UEFI: American Megatrends v: UX305CA.201 date: 09/11/2015
Battery    BAT0: charge: 34.6 Wh 96.4% condition: 35.9/45.0 Wh (80%) volts: 11.4/11.4
           model: ASUSTeK ASUS serial: N/A status: Not charging
CPU:       Dual core Intel Core m7-6Y75 (-HT-MCP-) cache: 4096 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 6048
           clock speeds: min/max: 400/3100 MHz 1: 1522 MHz 2: 1523 MHz 3: 1558 MHz
           4: 1554 MHz
Memory:    Array-1 capacity: 16 GB devices: 2 EC: None
           Device-1: ChannelA-DIMM0 size: 4 GB speed: 1867 MHz type: LPDDR3
           manufacturer: Elpida part: N/A serial: N/A
           Device-2: ChannelB-DIMM0 size: 4 GB speed: 1867 MHz type: LPDDR3
           manufacturer: Elpida part: N/A serial: N/A
Graphics:  Card: Intel HD Graphics 515 bus-ID: 00:02.0 chip-ID: 8086:191e
           Display Server: X.org 1.19.2 drivers: modesetting (unloaded: intel)
           tty size: 96x77 Advanced Data: N/A for root
Audio:     Card-1 Intel Sunrise Point-LP HD Audio
           driver: snd_hda_intel bus-ID: 00:1f.3 chip-ID: 8086:9d70
           Sound: Advanced Linux Sound Architecture v: k4.18.0-0.bpo.1-amd64
Network:   Card: Intel Wireless 7265 driver: iwlwifi bus-ID: 01:00.0 chip-ID: 8086:095a
           IF: wlan0 state: up mac: 18:5e:0f:98:07:1f
Drives:    HDD Total Size: 574.9GB (75.5% used)
           ID-1: /dev/sda model: Micron_M600_MTFD size: 512.1GB
           serial: 15341068C96C temp: 43C
           ID-2: USB /dev/sdb model: Extreme size: 62.7GB
           serial: AA010627151039020517-0:0 temp: 0C
           Optical: No optical drives detected.
Partition: ID-1: / size: 469G used: 388G (88%) fs: ext4 dev: /dev/dm-1
           label: N/A uuid: d495776a-4b68-436f-b253-8ee1fdf0d825
           ID-2: /boot size: 237M used: 83M (37%) fs: ext2 dev: /dev/sda2
           label: N/A uuid: 2db408e7-ccd8-492a-8346-befb1e5a4038
           ID-3: /boot/efi size: 511M used: 132K (1%) fs: vfat dev: /dev/sda1
           label: N/A uuid: EC94-B86D
Sensors:   System Temperatures: cpu: 50.5C mobo: N/A
           Fan Speeds (in rpm): cpu: 0
Info:      Processes: 284 Uptime: 14 days Memory: 4903.9/7659.5MB
           Init: systemd v: 237 runlevel: 5 Gcc sys: 6.3.0
           Client: Shell (zsh 5.3.1 running in zsh) inxi: 2.3.5
Commande vim pour mettre les étiquettes en gras dans cette sortie : %s/ \([-a-zA-Z0-9]*\):/ *\1:*/g

1.2. dmidecode : informations sur le matériel, carte mère, BIOS…

Le paquet éponyme doit être installé et il est préférable de lancer la commande en tant qu’utilisateur root.

$ dmidecode
System Information
	Manufacturer: ASUSTeK COMPUTER INC.
	Product Name: UX305CA
	Version: 1.0
	Serial Number: FXNXCX0X8X4X5XA
	UUID: 58B66962-XXXX-3448-XXXX-07F60D8386B6
	Wake-up Type: Power Switch
	SKU Number: ASUS-NotebookSKU
	Family: UX
[…]

Affichage du nombre de lignes de la sortie :

$ dmidecode | wc -l

478

Beaucoup d’informations défilent à l’écran, en particulier à propos du BIOS et de la carte mère.

Ces numéros de série sont sensés être unique. À l’instar de l’adresse MAC d’une carte réseau.

# dmidecode -s system-serial-number

1.3. lshw : information sur le matériel, les périphériques

Le paquet éponyme doit être installé. Il est préférable de lancer la commande en tant qu’utilisateur root.

$ lshw
*-memory
     description: Mémoire Système
     identifiant matériel: 12
     emplacement: Carte mère
     taille: 8GiB
   *-bank:0
        description: SODIMM LPDDR3 Synchrone 1867 MHz (0,5 ns)
        fabriquant: Elpida
        identifiant matériel: 0
        numéro de série: 00000000
        emplacement: ChannelA-DIMM0
        taille: 4GiB
        bits: 64 bits
        horloge: 1867MHz (0.5ns)

Au passage, on constate ici, que les 8Go de mémoire RAM de la machine sont disposés en deux canaux de 4Go chacun, ce qui correspond à une configuration en dual-channel.

Nombre de lignes listées :

$ lshw | wc -l

382

1.4. Connaître la date de fabrication de son ordinateur, sans inxi, via dmidecode, ou lshw

Il n’y a pas de moyen fiable, mais il est possible de trouver des dates dans la sortie de dmidecode. On peut ainsi généralement trouver la date de la version du BIOS (qui peut avoir été mis à jour), ou encore la date de fabrication de la batterie de l’ordinateur.

$ dmidecode | grep -C 2 Date

Ici on filtre la sortie de la commande dmidecode avec la commande grep qui ne gardera que les lignes comportant le motif "Date", plus 2 lignes de contexte (option -C).

Vendor: American Megatrends Inc.
Version: UX305CA.201
Release Date: 09/11/2015
Address: 0xF0000
Runtime Size: 64 kB

Fonctionne également avec lshw en mode root :

# lshw | grep date
          date: 09/11/2015

1.5. lspci : afficher les périphériques PCI et AGP

$ lspci
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 515 (rev 07)
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 08)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d13 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Device 9d46 (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)

1.6. lsusb : liste les concentrateurs et périphériques USB

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2a Intel Corp.
Bus 001 Device 002: ID 0bda:57cb Realtek Semiconductor Corp.
Bus 001 Device 030: ID 21b4:0082
Bus 001 Device 031: ID 2ae5:6764
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Le paquet usbutils doit être installé.

1.7. lsdev : liste les périphériques

Le noyau Linux expose un grand nombre de périphériques (parfois virtuels) et d’interruptions sous forme de fichier. Ainsi lire ou écrire dans une clé USB revient à lire ou écrire dans un fichier. Capturer une image via une webcam revient également à lire un fichier… Ces fichiers sont accessibles dans /dev/.

$ ls /dev
crw-------  1 root root     10,    58 mai   22 18:20 acpi_thermal_rel
drwxr-xr-x  2 root root            60 mai   22 18:20 pc1-vg
crw-r--r--  1 root root     10,   235 mai   22 18:20 autofs
drwxr-xr-x  2 root root           160 juin   7 21:38 block
drwxr-xr-x  2 root root            60 juin   7 21:38 bsg
crw-------  1 root root     10,   234 mai   22 18:20 btrfs-control
drwxr-xr-x  3 root root            60 mai   22 18:20 bus
drwxr-xr-x  2 root root          3,4K juin  11 09:10 char
crw-------  1 root root      5,     1 mai   22 18:20 console
lrwxrwxrwx  1 root root            11 mai   22 18:20 core -> /proc/kcore
drwxr-xr-x  6 root root           140 juin   9 19:43 cpu
crw-------  1 root root     10,    62 mai   22 18:20 cpu_dma_latency
crw-------  1 root root     10,   203 mai   22 18:20 cuse
drwxr-xr-x  6 root root           120 mai   31 22:20 disk
brw-rw----  1 root disk    254,     0 mai   22 18:20 dm-0
brw-rw----  1 root disk    254,     1 mai   22 18:20 dm-1
$ ls /dev | wc -l

163

La commande lsdev synthétise un peu la situation. Le paquet procinfo doit être installé.

$ lsdev
Device            DMA   IRQ  I/O Ports
------------------------------------------------
0000:00:02.0                   0000-0000
0000:00:17.0                   0000-0000   0000-0000   0000-0000
0000:00:1f.4                   0000-0000
ACPI                             0000-0000     0000-0000     0000-0000     0000-0000     0000-0000
acpi                      9
aerdrv, PCIe PME        122
ahci                             0000-0000     0000-0000     0000-0000
ahci[0000:00:17.0]        124
cascade             4
dma                            0000-0000
dma1                           0000-0000
dma2                           0000-0000
dmar0                   120
dmar1                   121
EC                               0000-0000     0000-0000
ELAN1000:00             109
fpu                            0000-0000
i2c_designware.0         16
i2c_designware.1         17
i801_smbus                       0000-0000
i8042                     1
i915                    126
iTCO_wdt                       0000-0000     0000-0000     0000-0000       0000-0000
iwlwifi                 128
keyboard                       0000-0000   0000-0000
mei_me                  125
PCI                          0000-0000 0000-0000 0000-0000
pic1                           0000-0000
pic2                           0000-0000
pnp                            0000-0000   0000-0000   0000-0000   0000-0000     0000-0000   0000-0000   0000-0000     0000-0000       0000-0000
PNP0C09:00                     0000-0000   0000-0000
rtc0                      8    0000-0000
snd_hda_intel:card0        127
timer                     0
timer0                         0000-0000
timer1                         0000-0000
xhci_hcd                123

1.8. lstopo : résumé de la topologie du système

Nécessite le paquet hwloc.

$ lstopo
Machine (7848MB)
  Package L#0 + L3 L#0 (4096KB)
    L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
      PU L#0 (P#0)
      PU L#1 (P#2)
    L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1
      PU L#2 (P#1)
      PU L#3 (P#3)
  Misc(MemoryModule)
  Misc(MemoryModule)
  HostBridge L#0
    PCI 8086:191e
      GPU L#0 "renderD128"
      GPU L#1 "card0"
      GPU L#2 "controlD64"
    PCI 8086:9d03
      Block(Disk) L#3 "sda"
    PCIBridge
      PCI 8086:095a
        Net L#4 "wlan0"

Mais aussi en version dessinée dans la console :

$ lstopo -.txt
┌─────────────────────────────────────────────────────────────────────────────┐
│ Machine (7408MB)                                                            │
│                                                                             │
│ ┌────────────────────────────────┐            ┌───────────────────────────┐ │
│ │ Package P#0                    │  ├┤╶─┬─────┤ PCI 8086:191e             │ │
│ │                                │      │     │                           │ │
│ │ ┌────────────────────────────┐ │      │     │ ┌────────────┐  ┌───────┐ │ │
│ │ │ L3 (4096KB)                │ │      │     │ │ renderD128 │  │ card0 │ │ │
│ │ └────────────────────────────┘ │      │     │ └────────────┘  └───────┘ │ │
│ │                                │      │     │                           │ │
│ │ ┌────────────┐  ┌────────────┐ │      │     │ ┌────────────┐            │ │
│ │ │ L2 (256KB) │  │ L2 (256KB) │ │      │     │ │ controlD64 │            │ │
│ │ └────────────┘  └────────────┘ │      │     │ └────────────┘            │ │
│ │                                │      │     └───────────────────────────┘ │
│ │ ┌────────────┐  ┌────────────┐ │      │                                   │
│ │ │ L1d (32KB) │  │ L1d (32KB) │ │      │     ┌───────────────┐             │
│ │ └────────────┘  └────────────┘ │      ├─────┤ PCI 8086:9d03 │             │
│ │                                │      │     │               │             │
│ │ ┌────────────┐  ┌────────────┐ │      │     │ ┌─────┐       │             │
│ │ │ L1i (32KB) │  │ L1i (32KB) │ │      │     │ │ sda │       │             │
│ │ └────────────┘  └────────────┘ │      │     │ └─────┘       │             │
│ │                                │      │     └───────────────┘             │
│ │ ┌────────────┐  ┌────────────┐ │      │                                   │
│ │ │ Core P#0   │  │ Core P#1   │ │      │               ┌───────────────┐   │
│ │ │            │  │            │ │      └─────┼┤╶───────┤ PCI 8086:095a │   │
│ │ │ ┌────────┐ │  │ ┌────────┐ │ │                      │               │   │
│ │ │ │ PU P#0 │ │  │ │ PU P#1 │ │ │                      │ ┌───────┐     │   │
│ │ │ └────────┘ │  │ └────────┘ │ │                      │ │ wlan0 │     │   │
│ │ │ ┌────────┐ │  │ ┌────────┐ │ │                      │ └───────┘     │   │
│ │ │ │ PU P#2 │ │  │ │ PU P#3 │ │ │                      └───────────────┘   │
│ │ │ └────────┘ │  │ └────────┘ │ │                                          │
│ │ └────────────┘  └────────────┘ │                                          │
│ └────────────────────────────────┘                                          │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ Host: pc1                                                                   │
│                                                                             │
│ Indexes: physical                                                           │
│                                                                             │
│ Date: mar. 12 juin 2018 11:15:13 CEST                                       │
└─────────────────────────────────────────────────────────────────────────────┘

2. Microprocesseur

2.1. /proc/cpuinfo : caractéristiques du microprocesseur

Il est également possible d’installer le paquet util-linux et d’utiliser la commande lscpu.

$ lscpu
Architecture :        x86_64
Mode(s) opératoire(s) des processeurs : 32-bit, 64-bit
Boutisme :            Little Endian
Processeur(s) :       4
Liste de processeur(s) en ligne : 0-3
Thread(s) par cœur : 2
Cœur(s) par socket : 2
Socket(s) :           1
Nœud(s) NUMA :       1
Identifiant constructeur : GenuineIntel
Famille de processeur : 6
Modèle :             78
Nom de modèle :      Intel(R) Core(TM) m7-6Y75 CPU @ 1.20GHz
Révision :           3
Vitesse du processeur en MHz : 2000.000
Vitesse maximale du processeur en MHz : 3100,0000
Vitesse minimale du processeur en MHz : 400,0000
BogoMIPS :            3024.00
Virtualisation :      VT-x
Cache L1d :           32K
Cache L1i :           32K
Cache L2 :            256K
Cache L3 :            4096K
Nœud NUMA 0 de processeur(s) : 0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp

2.2. procinfo : statistiques globales d’utilisation des ressources

La commande procinfo rassemble un bouquet d’informations sur l’état de la machine en provenance de /proc. Elle liste notamment la mémoire libre, la date démarrage, la charge système, ventilée par mode d’exécution, les utilisations d’interruptions, de périphériques de stockage et des interfaces réseau.

$ procinfo
Memory:        Total        Used        Free     Buffers
RAM:         7585492     7371212      214280      348424
Swap:         511996      399136      112860
\n
Bootup: Tue May 22 18:20:57 2018   Load average: 0.14 0.17 0.35 1/561 24268
\n
user  :        3d 06:14:05.67   9.2%  page in :        115091178
nice  :     2w 2d 19:23:01.41  47.3%  page out:        112190902
system:           19:36:37.61   2.3%  page act:        215584374
IOwait:           00:36:09.46   0.1%  page dea:         12848729
hw irq:           00:00:00.00   0.0%  page flt:       1270234042
sw irq:           00:52:41.84   0.1%  swap in :            87085
idle  :        2w 13:15:46.37  41.0%  swap out:           249363
uptime:     2w 5d 15:59:49.84         context :       2424849332
\n
irq   0:          9  2-edge timer        irq 121:          0  1-edge dmar1
irq   1:     700997  1-edge i8042        irq 122:          0  458752-edge aerdr
irq   8:          1  8-edge rtc0         irq 123:   17947417  327680-edge xhci_
irq   9:      13941  9-fasteoi acpi      irq 124:   12707523  376832-edge ahci[
irq  16:  563807702  16-fasteoi i801_s   irq 125:         36  360448-edge mei_m
irq  17:          0  17-fasteoi idma64   irq 126:   61131741  32768-edge i915
irq 109:   18143470  109-fasteoi ELAN1   irq 127:        444  514048-edge snd_h
irq 120:          0  0-edge dmar0        irq 128:   42042078  524288-edge iwlwi
\n
sda          3445959r         9150991w   dm-1         3795079r        13257612w
dm-0         3795200r        13257612w
\n
lo          TX 6.82GiB       RX 6.82GiB       wlan0       TX 30.22GiB      RX 16.42GiB

Le paquet procinfo doit être installé.

3. Mémoire RAM

3.1. free : mémoire vive installée, utilisée…

Par défaut les quantités affichées sont exactes, en octet. Pour avoir les quantités exprimées en méga octets, il faut ajouter l’argument -m à la liste de commande (ou -k pour des kilo octets).

$ free -mt (1)
1 -t pour afficher le total : RAM + SWAP

Donne :

              total        used        free      shared  buff/cache   available
Mem:           7847        2048        3391         295        2407        5566
Swap:          3999           0        3999
Total:        11847        2048        7391

Enfin, la forme la plus simple : -h ; pour des tailles humanisées, ajustée suivant l’échelle affichant les valeurs les plus courtes (en giga octets, méga octets, kilo octets).

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7,7G        2,0G        3,3G        295M        2,4G        5,5G
Swap:          3,9G          0B        3,9G

3.2. Mesure de la vitesse de lecture de la RAM

# hdparm -T /dev/sda

Example output:

/dev/sda:
Timing cached reads: 14480 MB in 2.00 seconds = 7257.39 MB/sec

4. Stockage

4.1. smartctl : Nombre d’heures de fonctionnement d’un périphérique de stockage

Indique bien plus d’informations, pas forcément simple à interprêter.

$ sudo smartctl -a /dev/$device
[…]
 9 Power_On_Hours 0x0032  100  100  000 Old_age Always - 8612
[…]

4.1.1. Spin_Up_Time

On trouve aussi le nombre d’heures de rotation des plateaux d’un disque dur à plateau :

[…]
 3 Spin_Up_Time 0x0007 222 222 033 Pre-fail Always - 2246
[…]

4.1.2. Percent_Lifetime_Remain

Pour les SSD, on peut consulter la durée de vie restante des puces de stockage (sans présumer de la durée de vie du contrôleur) :

[…]
 202 Percent_Lifetime_Remain 0x0031 096 096 000 Pre-fail Offline - 4
[…]

Ici le SSD a déjà consommé 4% de sa capacité de (ré-)écriture (en 3 ans et 9 000h).

4.2. fdisk -l : liste la table des partitions

$ fdisk -l
Disque /dev/sda : 477 GiB, 512110190592 octets, 1000215216 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : gpt
Identifiant de disque : B0D99CC0-XXXX-490C-XXXX-1CB71A7CBBCA
\n
Périphérique   Début        Fin  Secteurs Taille Type
/dev/sda1       2048    1050623   1048576   512M Système EFI
/dev/sda2    1050624    1550335    499712   244M Système de fichiers Linux
/dev/sda3    1550336 1000214527 998664192 476,2G Système de fichiers Linux
\n
Disque /dev/mapper/sda3_crypt : 476,2 GiB, 511313969152 octets, 998660096 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
\n
Disque /dev/mapper/pc1--vg-root : 476,2 GiB, 511310823424 octets, 998653952 secteurs

4.3. blkid : liste les UUID des différentes partitions

$ /sbin/blkid
/dev/mapper/sda3_crypt: UUID="4CWReB-XXXX-24lo-W8Xa-XXXX-cLKh-XXXXXX" TYPE="LVM2_member"
/dev/mapper/pc1--vg-root: UUID="d495776a-XXXX-436f-XXXX-8ee1fdf0d825" TYPE="ext4"

4.4. lsblk : renseignements sur les périphériques blocs, topologie de partitions

$ lsblk
NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0   477G  0 disk
├─sda1                  8:1    0   512M  0 part  /boot/efi
├─sda2                  8:2    0   244M  0 part  /boot
└─sda3                  8:3    0 476,2G  0 part
  └─sda3_crypt        253:0    0 476,2G  0 crypt
      └─pc1--vg-root 253:1    0 476,2G  0 lvm   /

4.5. Tester la vitesse de lecture et écriture d’un stockage

# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc  (1) (2)
1024+0 enregistrements lus
1024+0 enregistrements écrits
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 2,34437 s, 458 MB/s
1 Write speed of current folder storage
2 bs= explanations dd buffer size
# sync && echo 3 > /proc/sys/vm/drop_caches (1)
# dd if=tempfile of=/dev/null bs=1M count=1024 (2)
1024+0 enregistrements lus
1024+0 enregistrements écrits
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 2,76278 s, 389 MB/s
1 Needs root priviledges
2 Read speed

5. Réseau

5.1. iw : configuration et caractéristiques des périphériques WiFi

# iw dev
phy#0
	Unnamed/non-netdev interface
		wdev 0xf
		addr 18:5e:0f:98:07:1f
		type P2P-device
		txpower 0.00 dBm
	Interface wlan0
		ifindex 2
		wdev 0x1
		addr 18:5e:0f:98:07:1f
		ssid FDN.fr_0676970253
		type managed
		channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz
		txpower 22.00 dBm

5.2. hciconfig : configuration, et version, des périphériques Bluetooth

Comme vu ici : Bluetooth version.

$ hciconfig -a (1)
hci0:	Type: Primary  Bus: USB
	BD Address: XX:XX:XX:XX:XX:XX  ACL MTU: 1021:5  SCO MTU: 96:6
	UP RUNNING PSCAN
	RX bytes:2331 acl:0 sco:0 events:255 errors:0
	TX bytes:42004 acl:0 sco:0 commands:254 errors:0
	Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
	Link policy: RSWITCH HOLD SNIFF
	Link mode: SLAVE ACCEPT
	Name: 'machine_host_name'
	Class: 0x10010c
	Service Classes: Object Transfer
	Device Class: Computer, Laptop
	HCI Version: 4.2 (0x8)  Revision: 0x1000
	LMP Version: 4.2 (0x8)  Subversion: 0x1000
	Manufacturer: Intel Corp. (2)
1 Activate Bluetooth to get version information

6. Affichage

6.1. xrandr : affiche les résolutions d’écran

La commande xrandr permet de lister les résolutions supportées par les différents moniteurs branchés au système. En prenant le temps de lire le man et d’ajouter une bonne flopée d’arguments, il est également possible de configurer la position des moniteurs les uns par rapport aux autres ainsi que leurs résolutions respectives. Il est également possible d’utiliser la commande arandr pour configurer la chose à l’aide d’une interface graphique qui produit ensuite les commandes xrandr correspondantes.

$ xrandr (1)
1 La commande peut être lancée par un utilisateur normal

Donne :

Screen 0: minimum 8 x 8, current 3200 x 1800, maximum 32767 x 32767
eDP1 connected 3200x1800+0+0 (normal left inverted right x axis y axis) 290mm x 170mm
   3200x1800     60.00*+  48.01
   […]
HDMI1 disconnected (normal left inverted right x axis y axis)

Ici on apprend donc que l’écran peut afficher 3200 pixels par 1800 sur 290mm x 170mm. Une telle densité de pixels est nommée « HiDPI » (pour « beaucoup de points par centimètres carrés »). La plupart des environnements de bureau et des applications sont désormais capable d’adapter leur affichage à de telles densités de pixels.

Pour la liste des astuces, application par application, voir la page dédiée à la machine servant d’exemple dans cet article que j’ai créée sur le Wiki Debian : UX305FA.

7. Logiciel

7.1. uname : liste les caractéristiques de la plateforme

$ uname

Linux

$ uname -a (1)
1 -a : afficher tout.

Donne :

Linux pc1 4.16.0-0.bpo.1-amd64 #1 SMP Debian 4.16.5-1~bpo9+1 (2018-05-06) x86_64 GNU/Linux

Des informations spécifiques peuvent être isolées et affichées seules en précisant certaines options, comme -r pour la version courante du noyau. Pratique pour certaines compilations.

7.2. /etc/issue : connaître la version du système d’exploitation

$ cat /etc/issue

Debian GNU/Linux 9 \n \l

Affiche le nom d’une distribution GNU+Linux ainsi que sa version.

Concernant Debian, une version plus précise peut être affichée avec :

$ cat /etc/debian_version

9.4

Enfin la commande lsb_release permet d’obtenir d’avantage d’informations concernant sa distribution GNU+Linux :

$ lsb_release -a (1)
1 -a : pour afficher toutes les informations disponibles. Chaque information est sinon disponible indépendamment, via une option spécifique à découvrir dans le man lsb_release.

Donne :

No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.4 (stretch)
Release:	9.4
Codename:	stretch