Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:centos:8:avance:l101 [2021/12/29 10:30] adminelearning:workbooks:centos:8:avance:l101 [2022/05/02 08:14] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
 +
 +Version : **2022.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======LCF304 - Gestion du Système X et de l'Accès Universel======+======LCF601 - Gestion des Paramètres du matériel et les Ressources======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **LCF304 - Gestion du Système X et de l'Accès Universel** +  * **LCF601 - Gestion des Paramètres et les Ressources du Matériel** 
-    * X Window System +    * Contenu du Module 
-      * Configuration +    * Présentation des Fichiers Spéciaux  
-    * Gestionnaire de Fenêtres +    * LAB #1 - Commandes 
-    Toolkits +      * 1.1 - La Commande lspci 
-    Freedesktop +      * 1.2 - La Commande lsusb 
-    * Display Manager +      * 1.3 - La Commande dmidecode 
-      * XDM, GDM et KDM +    * LAB #2 - La Commande sysctl 
-      * LightDM +      * 2.1 - Répertoire /proc 
-    X.orgX11 +        * Fichiers 
-      * Présentation +          * Processeur 
-      * Démarrage et Arrêt +          * Interruptions système 
-      * Utilisation +          * Canaux DMA 
-      * Configuration +          * Plages d'entrée/sortie 
-        La Section ServerFlags +          * Périphériques 
-        La Section ServerLayout +          * Modules 
-        * La Section Files +          * Statistiques de l'utilisation des disques 
-        La Section Modules +          Partitions 
-        La Section InputDevice +          Espaces de pagination 
-        La Section Monitor +          * Statistiques d'utilisation du processeur 
-        La Section Device +          * Statistiques d'utilisation de la mémoire 
-        * La Section Screen +          * Version du noyau 
-      * La Commande xwininfo +        * Répertoires 
-      * La Commande xdpyinfo +          * ide/scsi 
-    * L'Accès Universel +          * acpi 
-      * Le Clavier et la Souris +          * bus 
-      Claviers Visuels +          * net 
-      * L'Ecran +          * sys 
-      * Autres Technologies+      * 2.2 - Utilisation de la Commande sysctl        
 +    * LAB #3 - Interprétation des informations dans /proc 
 +      * 3.1 - free 
 +      * 3.2 - uptime ou w  
 +      3.3 - iostat 
 +      * 3.4 - hdparm 
 +      * 3.5 - vmstat 
 +      * 3.6 - mpstat 
 +      * 3.7 - sar 
 +    Modules usb 
 +    udev 
 +      * La Commande udevadm 
 +    Système de fichiers /sys 
 +    LAB #4 - Limiter les Ressources 
 +      4.1 - ulimit 
 +      4.2 - Groupes de Contrôle 
 +        * La Limitation de la Mémoire 
 +        * La Commande cgcreate 
 +        * La Commande cgdelete 
 +        * Le Fichier /etc/cgconfig.conf 
 +        La Commande cgconfigparser
  
-=====X Window System=====+=====Présentation des Fichiers Spéciaux=====
  
-L'architecture graphique de Linux est **X Window System**, aussi appelé **X Window** ou simplement **X**. **X** est responsable de la gestion du **GUI** (//Graphical User Interface//). En autres termes, **X** est responsable de dessiner et gérer les éléments tels :+Dans l'ordinateur les périphériques sont reliés à un **contrôleur** qui communique avec le processeur à l'aide d'un **bus**. Le contrôleur ainsi que les périphériques nécessitent des pilotes. Sous Linux, les pilotes sont généralement fournis sous la forme d'un **module**. Chaque périphérique est représenté par un **fichier spécial** dans le répertoire **/dev** et c'est dans ce fichier que le système trouve les informations nécessaires pour s'adresser au pilote.
  
-  * Fenêtres, +<WRAP center round important 60%> 
-  Boutons, +**Important** : Les périphériques qui nécessitent à ce que l'ordinateur soit éteint afin des les brancher/débrancher sont appelés communément **Cold Plug Devices**. Les périphériques qui peuvent être brancher/débrancher à chaud sont appelés des **Hot Plug Devices**. 
-  Menus, +</WRAP>
-  Curseur de souris, +
-  etc.+
  
-**X** est une application client/serveur. +Consultez le contenu du répertoire /dev :
  
-Il existe trois versions de X :+<code> 
 +[root@centos8 ~]# ls -l /dev | more 
 +total 0 
 +crw-r--r--.  1 root root     10, 235 Jun 28 02:04 autofs 
 +drwxr-xr-x.  2 root root         180 Jun 28 02:04 block 
 +drwxr-xr-x.  2 root root         100 Jun 28 02:04 bsg 
 +drwxr-xr-x.  3 root root          60 Jun 28 02:04 bus 
 +lrwxrwxrwx.  1 root root           3 Jun 28 02:04 cdrom -> sr0 
 +drwxr-xr-x.  2 root root        2940 Jun 28 02:04 char 
 +drwxr-xr-x.  2 root root          80 Jun 28 02:04 cl_centos8 
 +crw-------.  1 root root      5,   1 Jun 28 02:04 console 
 +lrwxrwxrwx.  1 root root          11 Jun 28 02:04 core -> /proc/kcore 
 +drwxr-xr-x. 10 root root         200 Jun 28 02:04 cpu 
 +crw-------.  1 root root     10,  62 Jun 28 02:04 cpu_dma_latency 
 +drwxr-xr-x.  6 root root         120 Jun 28 02:04 disk 
 +brw-rw----.  1 root disk    253,   0 Jun 28 02:04 dm-0 
 +brw-rw----.  1 root disk    253,   1 Jun 28 02:04 dm-1 
 +drwxr-xr-x.  3 root root          80 Jun 28 02:04 dri 
 +crw-rw----.  1 root video    29,   0 Jun 28 02:04 fb0 
 +lrwxrwxrwx.  1 root root          13 Jun 28 02:04 fd -> /proc/self/fd 
 +crw-rw-rw-.  1 root root      1,   7 Jun 28 02:04 full 
 +crw-rw-rw-.  1 root root     10, 229 Jun 28 02:04 fuse 
 +crw-------.  1 root root    245,   0 Jun 28 02:04 hidraw0 
 +crw-------.  1 root root     10, 228 Jun 28 02:04 hpet 
 +drwxr-xr-x.  3 root root           0 Jun 28 02:04 hugepages 
 +crw-------.  1 root root     10, 183 Jun 28 02:04 hwrng 
 +lrwxrwxrwx.  1 root root          12 Jun 28 02:04 initctl -> /run/initctl 
 +drwxr-xr-x.  4 root root         280 Jun 28 02:04 input 
 +crw-r--r--.  1 root root      1,  11 Jun 28 02:04 kmsg 
 +lrwxrwxrwx.  1 root root          28 Jun 28 02:04 log -> /run/systemd/journal/dev-log 
 +crw-rw----.  1 root disk     10, 237 Jun 28 02:04 loop-control 
 +crw-rw----.  1 root lp        6,   0 Jun 28 02:04 lp0 
 +crw-rw----.  1 root lp        6,   1 Jun 28 02:04 lp1 
 +crw-rw----.  1 root lp        6,   2 Jun 28 02:04 lp2 
 +crw-rw----.  1 root lp        6,   3 Jun 28 02:04 lp3 
 +drwxr-xr-x.  2 root root         100 Jun 28 02:04 mapper 
 +crw-------.  1 root root     10, 227 Jun 28 02:04 mcelog 
 +crw-r-----.  1 root kmem      1,   1 Jun 28 02:04 mem 
 +drwxrwxrwt.  2 root root          40 Jun 28 02:04 mqueue 
 +drwxr-xr-x.  2 root root          60 Jun 28 02:04 net 
 +crw-rw-rw-.  1 root root      1,   3 Jun 28 02:04 null 
 +--More-- 
 +</code>
  
-  * **[[http://www.xfree86.org|XFree86]]**+On peut noter dans la sortie de la commande que certains fichiers sont de type **bloc** (**b**)tandis que d'autre sont de type **caractère** (**c**)
-    un logiciel libre utilisé par la majorité des distributions jusqu'en 2004.  +
-  * **[[http://www.x.org/wiki/|X.orgX11]]**, +
-    * un logiciel libre utilisé depuis les modifications de la licence de XFree86 en 2004. La version 6.7.0 était basé sur la version 4.3.99 de XFree86. Depuis le développement est indépendant de son prédécesseur. +
-  * **[[http://www.xig.com|AcceleratedX]]**+
-    un logiciel commercial édité par la société **Xi Graphics** possedant sa propre base de pilotes graphiques.+
  
-====Configuration====+<code> 
 +... 
 +brw-rw----.  1 root disk      8,   1 Jun 28 02:04 sda1 
 +... 
 +crw-rw-rw-.  1 root tty       5,   0 Jun 28 02:04 tty 
 +... 
 +</code>
  
-IL existe plusieurs outils pour configurer le serveur X :+La différence entre les deux repose sur le type de communication entre le système et le module. Dans le premier cas le système accède au périphérique par des coordonnées du bloc de données sur le support tandis que dans le deuxième cas la communication d'échange de données se fait octet par octet sans utiliser des tampons.
  
-  * **XFree86 configure** est la commande utilisé pour configurer un serveur X basé sur XFree86 4.x. Cette commande produit le fichier **/root/XF86Config.new** qui peut être configuré manuellement. +Les deux informations clefs du fichier spécial sont situées à la place de la taille d'un fichier normal et se nomment le **majeur** et le **mineur** :
-  * **Xorg configure** est la commande utilisé pour configurer un serveur X basé sur X.orgX11. Cette commande produit le fichier **/root/xorg.conf.new** qui peut être configuré manuellement.+
  
-<WRAP center round important> +  * le **majeur** identifie le pilote du périphérique et donc son contrôleur, 
-**Important** : Ces deux commandes doivent être utilisées quand le serveur X est arrêté. +  le **mineur** identifie le périphérique ou une particularité du périphérique telle une partition d'un disque.
-</WRAP>+
  
-Deux outils qui ne bénéficient plus de support sont **xf86cfg** et **xorgcfg** sont parfois présents dans la distribution et peuvent être utilisés pour configurer le serveur X.+=====LAB #1 - Commandes=====
  
-Dernièrement il existe des outils spécifiques à une distribution :+====1.1 - La Commande lspci====
  
-  * Red HatCentOS, Fedora **system-config-display**.+Cette commande vous renseigne sur les adaptateurs reliés aux bus PCIAGP et PCI express :
  
-<WRAP center round important+<code
-**Important** Les outils disponibles pour le serveur XFree86 version 3.3.6 et antérieure était **xf86config****Xconfigurator** ou **XF86Setup**+[root@centos8 ~]# lspci 
-</WRAP>+00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 
 +00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 
 +00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 
 +00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01) 
 +00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03) 
 +00:02.0 VGA compatible controller: Device 1234:1111 (rev 02) 
 +00:03.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon 
 +00:07.0 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) port SATA Controller [AHCI mode] (rev 02) 
 +00:12.0 Ethernet controller: Red Hat, Inc. Virtio network device 
 +00:1e.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge 
 +00:1f.0 PCI bridge: Red HatIncQEMU PCI-PCI bridge 
 +</code>
  
-Les fichiers de configuration de chaque serveur X sont :+Pour obtenir de l'information sur un adaptateur spécifique, il convient d'utiliser la même commande avec l'option **-v** en spécifiant l'identifiant concerné :
  
-  * **[[http://www.xfree86.org|XFree86]]** 4.x, +<code> 
-    * **/etc/X11/XF86Config4** ou **/etc/XF86Config4** ou **/etc/X11/XF86Config** ou **/etc/XF86Config**+[root@centos8 ~]# lspci -v -s 00:03.
-  * **[[http://www.xfree86.org|XFree86]]** 3.6.6 et antérieure+00:03.0 Unclassified device [00ff]: Red Hat, IncVirtio memory balloon 
-    * **/etc/X11/XF86Config** ou **/etc/XF86Config**+        Subsystem: Red HatInc. Device 0005 
-  * **[[http://www.x.org/wiki/|X.orgX11]]**, +        Physical Slot: 3 
-    * **/etc/X11/xorg.conf** ou **/etc/xorg.conf**.+        Flags: bus masterfast devsel, latency 0, IRQ 10 
 +        I/O ports at e000 [size=64] 
 +        Memory at fe400000 (64-bitprefetchable) [size=16K] 
 +        Capabilities: [84] Vendor Specific Information: VirtIO: <unknown> 
 +        Capabilities: [70] Vendor Specific InformationVirtIO: Notify 
 +        Capabilities: [60Vendor Specific Information: VirtIO: DeviceCfg 
 +        Capabilities: [50Vendor Specific Information: VirtIO: ISR 
 +        Capabilities: [40] Vendor Specific Information: VirtIO: CommonCfg 
 +        Kernel driver in use: virtio-pci 
 +</code>
  
-=====Gestionnaire de Fenêtres=====+ou :
  
-**X** ne doit être confondue avec un **Gestionnaire de Fenêtres** (//Window Manager//). Le Gestionnaire de Fenêtres est responsable de la mise en page des élements fournis pas **X**. C'est pour cette raison que sous Linux il existe de nombreux Gestionnaires différents tels :+<code> 
 +[root@centos8 ~]# lspci -vv -s 00:03.0 
 +00:03.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon 
 +        Subsystem: Red Hat, Inc. Device 0005 
 +        Physical Slot: 3 
 +        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- 
 +        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- 
 +        Latency: 0 
 +        Interrupt: pin A routed to IRQ 10 
 +        Region 0: I/O ports at e000 [size=64] 
 +        Region 4: Memory at fe400000 (64-bit, prefetchable[size=16K] 
 +        Capabilities[84] Vendor Specific Information: VirtIO: <unknown> 
 +                BAR=0 offset=00000000 size=00000000 
 +        Capabilities: [70] Vendor Specific Information: VirtIO: Notify 
 +                BAR=4 offset=00003000 size=00001000 multiplier=00000004 
 +        Capabilities: [60] Vendor Specific Information: VirtIO: DeviceCfg 
 +                BAR=4 offset=00002000 size=00001000 
 +        Capabilities: [50] Vendor Specific Information: VirtIO: ISR 
 +                BAR=4 offset=00001000 size=00001000 
 +        Capabilities: [40] Vendor Specific Information: VirtIO: CommonCfg 
 +                BAR=4 offset=00000000 size=00001000 
 +        Kernel driver in use: virtio-pci 
 +</code>
  
-  * KDE,  +===Options de la commande===
-  * GNOME,  +
-  * twm,  +
-  * IceWM,  +
-  * Rvwm,  +
-  * CDE,  +
-  * WindowMaker,  +
-  * Enlightenment,  +
-  * Xfce, +
-  * Afterstep +
-  * Compiz Fusion, +
-  * Fluxbox, +
-  * Openbox, +
-  * Metacity, +
-  * Blackbox, +
-  * Ion, +
-  * Wmii, +
-  * etc.+
  
-Les Gestionnaires les plus connus sont :+Les options de cette commande sont :
  
-  * **KDE** (//Kool Desktop Environment//) par **Matthias Ettrich** en **1996**, +<code> 
-  * **GNOME** (//Gnu Network Object Model Environment//) par **Miguel de Icaza** et **Federico Mena** en **1997**,+[root@centos8 ~]# lspci --help 
 +lspci: invalid option -- '-' 
 +Usage: lspci [<switches>]
  
-=====Toolkits=====+Basic display modes: 
 +-mm             Produce machine-readable output (single -m for an obsolete format) 
 +-t              Show bus tree
  
-Chaque Gestionnaire utilise une bibliothèque graphique contenant des fonctions "toutes faites" pour créer les éléments graphiques. Chaque elément pour le Gestionnaire lui même s'appelle un **Widget** (//**Wi**ndows Ga**dget**//tandis que élément pour une fenêtre s'appelle simplement un **Gadget**.+Display options: 
 +-v              Be verbose (-vv or -vvv for higher verbosity) 
 +-k              Show kernel drivers handling each device 
 +-x              Show hex-dump of the standard part of the config space 
 +-xxx            Show hex-dump of the whole config space (dangerous; root only) 
 +-xxxx           Show hex-dump of the 4096-byte extended config space (root only) 
 +-b              Bus-centric view (addresses and IRQ's as seen by the bus) 
 +-D              Always show domain numbers 
 +-P              Display bridge path in addition to bus and device number 
 +-PP             Display bus path in addition to bus and device number
  
-Une bibliothèque complète est appelée un **Widget Toolkit**. Le Toolkit le plus connu est **MOTIF**. Cependant **MOTIF** n'est pas libre. Pour cette raison les développeurs de Linux ont du concevoir des Toolkits ayant une licence libre.+Resolving of device ID's to names: 
 +-             Show numeric ID's 
 +-nn             Show both textual and numeric ID's (names & numbers) 
 +-q              Query the PCI ID database for unknown ID's via DNS 
 +-qq             As above, but re-query locally cached entries 
 +-Q              Query the PCI ID database for all ID's via DNS
  
-Comme dans beaucoup de cas de développement sous Linux, il existe plusieurs Toolkits dont les deux les plus connus sont :+Selection of devices: 
 +-s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]   Show only devices in selected slots 
 +-d [<vendor>]:[<device>][:<class>             Show only devices with specified ID's
  
-  * **GTK** (//GIMP Toolkit//), programé en langage C et embarqué par défaut dans le Gestionnaire de Fenêtres **Gnome**, +Other options: 
-  * **QT** (//Cute//), programé en langage C++ et embarqué par défaut dans le Gestionnaire de Fenêtres **KDE**.+-i <file>       Use specified ID database instead of /usr/share/hwdata/pci.ids 
 +-p <file>       Look up kernel modules in a given file instead of default modules.pcimap 
 +-M              Enable `bus  
 +</code>
  
-=====Freedesktop=====+====1.2 - La Commande lsusb====
  
-Afin d'assurer la possibilité d'utiliser une application développée avec GTK sur un système fonctionnant sous QT et vice-versa, les développeurs de GNOME et KDE ont créé ensemble le projet **Freedesktop**. Les développements issus de ce projet sont intégrés dans les deux Gestionnaires.+Cette commande vous renseigne sur les adaptateurs reliés au bus usb :
  
-=====Display Manager=====+<code> 
 +[root@centos8 ~]# lsusb 
 +Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd  
 +Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  
-Le **Display Manager** est chargé de gérer les connexions locales et à distance, les authentifications et les ouvertures de sessionsDe ce faitLe Display Manager est l'équivalent des services console **init****getty** et **login** réunis.+[root@centos8 ~]# lsusb -vt 
 +/:  Bus 01.Port 1: Dev 1Class=root_hubDriver=uhci_hcd/2p, 12M 
 +    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M 
 +</code>
  
-Pour les connexions à distance le Display Manager utilise le protocole **XDMCP** (//X Display Manager Control Panel//)). Le fichier de configuration de XDMCP est **/etc/X11/xdm/xdmconfig**.+===Options de la commande===
  
-====XDM, GDM et KDM====+Les options de cette commande sont :
  
-Le Display Manager par défaut, compatible avec tous les serveurs **X**, est **XDM**Les deux autres Display Managers les plus connus sont :+<code> 
 +[root@centos8 ~]# lsusb --help 
 +Usage: lsusb [options]... 
 +List USB devices 
 +  -v, --verbose 
 +      Increase verbosity (show descriptors) 
 +  -s [[bus]:][devnum] 
 +      Show only devices with specified device and/or 
 +      bus numbers (in decimal) 
 +  -d vendor:[product] 
 +      Show only devices with the specified vendor and 
 +      product ID numbers (in hexadecimal) 
 + .LAB#1 
 +  -D device 
 +      Selects which device lsusb will examine 
 +  -t, --tree 
 +      Dump the physical USB device hierarchy as a tree 
 +  -V, --version 
 +      Show version of program 
 +  -h, --help 
 +      Show usage and help 
 +</code>
  
-  * **GDM** pour GNOME, +====1.3 - La Commande dmidecode====
-  * **KDM** pour KDE, +
-  * **LightDM** de Canonical.+
  
-Les deux premiers sont essentiellement des XDM avec des fonctionnalités supplémentaires telles :+La commande **dmidecode** lit la table **DMI** (//Desktop Management Interface//) aussi appelée **SMBIOS** (//System Management BIOS//) et fourni les informations sur :
  
-  * le passage d'un utilisateur à un autre+  * l'état du matériel actuel
-  * la liste des utilisateurs, +  * les extensions possibles.
-  * le choix d'un gestionnaire de fenêtres, +
-  * la possibilité d'une autoconnexion, +
-  * la liste des serveurs **X** distants, +
-  * etc.+
  
-====LightDM====+<code> 
 +[root@centos8 ~]# dmidecode 
 +# dmidecode 3.2 
 +Getting SMBIOS data from sysfs. 
 +SMBIOS 2.8 present. 
 +11 structures occupying 511 bytes. 
 +Table at 0x000F5870.
  
-LightDM est un gestionnaire d'affichage conçu pour être une alternative relativement légère et très personnalisable à GDM par Robert Ancellde CanonicalLightDM possède les caractéristiques suivantes :+Handle 0x0000DMI type 0, 24 bytes 
 +BIOS Information 
 +        Vendor: SeaBIOS 
 +        Version: rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 
 +        Release Date04/01/2014 
 +        Address: 0xE8000 
 +        Runtime Size: 96 kB 
 +        ROM Size: 64 kB 
 +        Characteristics: 
 +                BIOS characteristics not supported 
 +                Targeted content distribution is supported 
 +        BIOS Revision: 0.0
  
-  * Pas de dépendances de Gnome +Handle 0x0100, DMI type 1, 27 bytes 
-  * Utilisation de webkit pour le rendu des thèmes +System Information 
-  * Support de Toolkits Gtk et Qt+        Manufacturer: QEMU 
 +        Product Name: Standard PC (i440FX + PIIX, 1996) 
 +        Version: pc-i440fx-5.2 
 +        Serial Number: Not Specified 
 +        UUID: 95bd69e3-4a74-44a7-b58c-b74fbfb86df2 
 +        Wake-up Type: Power Switch 
 +        SKU Number: Not Specified 
 +        Family: Not Specified
  
-Sous RHEL/CentOS 7LightDM n'est pas installé par défaut et se trouve dans le dépôt EPELInstallez donc le dépôt :+Handle 0x0300DMI type 3, 22 bytes 
 +Chassis Information 
 +        Manufacturer: QEMU 
 +        Type: Other 
 +        Lock: Not Present 
 +        Version: pc-i440fx-5.
 +        Serial Number: Not Specified 
 +        Asset Tag: Not Specified 
 +        Boot-up State: Safe 
 +        Power Supply State: Safe 
 +        Thermal State: Safe 
 +        Security Status: Unknown 
 +        OEM Information: 0x00000000 
 +        Height: Unspecified 
 +        Number Of Power Cords: Unspecified 
 +        Contained Elements: 0 
 +        SKU Number: Not Specified 
 + 
 +Handle 0x0400, DMI type 4, 42 bytes 
 +Processor Information 
 +        Socket Designation: CPU 0 
 +        Type: Central Processor 
 +        Family: Other 
 +        Manufacturer: QEMU 
 +        ID: 61 0F 00 00 FF FB 8B 07 
 +        Version: pc-i440fx-5.2 
 +        Voltage: Unknown 
 +        External Clock: Unknown 
 +        Max Speed: 2000 MHz 
 +        Current Speed: 2000 MHz 
 +        Status: Populated, Enabled 
 +        Upgrade: Other 
 +        L1 Cache Handle: Not Provided 
 +        L2 Cache Handle: Not Provided 
 +        L3 Cache Handle: Not Provided 
 +        Serial Number: Not Specified 
 +        Asset Tag: Not Specified 
 +        Part Number: Not Specified 
 +        Core Count: 4 
 +        Core Enabled: 4 
 +        Thread Count: 1 
 +        Characteristics: None 
 + 
 +Handle 0x0401, DMI type 4, 42 bytes 
 +Processor Information 
 +        Socket Designation: CPU 1 
 +        Type: Central Processor 
 +        Family: Other 
 +        Manufacturer: QEMU 
 +        ID: 61 0F 00 00 FF FB 8B 07 
 +        Version: pc-i440fx-5.2 
 +        Voltage: Unknown 
 +        External Clock: Unknown 
 +        Max Speed: 2000 MHz 
 +        Current Speed: 2000 MHz 
 +        Status: Populated, Enabled 
 +        Upgrade: Other 
 +        L1 Cache Handle: Not Provided 
 +        L2 Cache Handle: Not Provided 
 +        L3 Cache Handle: Not Provided 
 +        Serial Number: Not Specified 
 +        Asset Tag: Not Specified 
 +        Part Number: Not Specified 
 +        Core Count: 4 
 +        Core Enabled: 4 
 +        Thread Count: 1 
 +        Characteristics: None 
 + 
 +Handle 0x1000, DMI type 16, 23 bytes 
 +Physical Memory Array 
 +        Location: Other 
 +        Use: System Memory 
 +        Error Correction Type: Multi-bit ECC 
 +        Maximum Capacity: 4 GB 
 +        Error Information Handle: Not Provided 
 +        Number Of Devices: 1 
 + 
 +Handle 0x1100, DMI type 17, 40 bytes 
 +Memory Device 
 +        Array Handle: 0x1000 
 +        Error Information Handle: Not Provided 
 +        Total Width: Unknown 
 +        Data Width: Unknown 
 +        Size: 4 GB 
 +        Form Factor: DIMM 
 +        Set: None 
 +        Locator: DIMM 0 
 +        Bank Locator: Not Specified 
 +        Type: RAM 
 +        Type Detail: Other 
 +        Speed: Unknown 
 +        Manufacturer: QEMU 
 +        Serial Number: Not Specified 
 +        Asset Tag: Not Specified 
 +        Part Number: Not Specified 
 +        Rank: Unknown 
 +        Configured Memory Speed: Unknown 
 +        Minimum Voltage: Unknown 
 +        Maximum Voltage: Unknown 
 +        Configured Voltage: Unknown 
 + 
 +Handle 0x1300, DMI type 19, 31 bytes 
 +Memory Array Mapped Address 
 +        Starting Address: 0x00000000000 
 +        Ending Address: 0x000BFFFFFFF 
 +        Range Size: 3 GB 
 +        Physical Array Handle: 0x1000 
 +        Partition Width: 1 
 + 
 +Handle 0x1301, DMI type 19, 31 bytes 
 +Memory Array Mapped Address 
 +        Starting Address: 0x00100000000 
 +        Ending Address: 0x0013FFFFFFF 
 +        Range Size: 1 GB 
 +        Physical Array Handle: 0x1000 
 +        Partition Width: 1 
 + 
 +Handle 0x2000, DMI type 32, 11 bytes 
 +System Boot Information 
 +        Status: No errors detected 
 + 
 +Handle 0x7F00, DMI type 127, 4 bytes 
 +End Of Table 
 +</code> 
 + 
 +===Options de la commande=== 
 + 
 +Les options de cette commande sont :
  
 <code> <code>
-[root@centos7 ~]# yum install -y epel-release +[root@centos7 ~]# dmidecode --help 
-Loaded pluginsfastestmirror, langpacks +Usagedmidecode [OPTIONS] 
-Loading mirror speeds from cached hostfile +Options are
- * basefr.mirror.babylon.network + -d, --dev-mem FILE     Read memory from device FILE (default/dev/mem) 
- * extrasfr.mirror.babylon.network + -h, --help             Display this help text and exit 
- * updates: fr.mirror.babylon.network + -q, --quiet            Less verbose output 
-Resolving Dependencies + -s, --string KEYWORD   Only display the value of the given DMI string 
---> Running transaction check + -t, --type TYPE        Only display the entries of given type 
----> Package epel-release.noarch 0:7-6 will be installed + -u, --dump             Do not decode the entries 
---> Finished Dependency Resolution+     --dump-bin FILE    Dump the DMI data to a binary file 
 +     --from-dump FILE   Read the DMI data from a binary file 
 + -V, --version          Display the version and exit 
 +</code>
  
-Dependencies Resolved+=====LAB #2 - La commande sysctl=====
  
-================================================================================ +====2.1 - Répertoire /proc====
- Package                Arch             Version         Repository        Size +
-================================================================================ +
-Installing: +
- epel-release           noarch           7-6             extras            14 k+
  
-Transaction Summary +Le répertoire /proc contient des fichiers et des répertoires virtuels. Le contenu de ces fichiers est créé dynamiquement lors de la consultation. Seul root peut consulter la totalité des informations dans le répertoire /proc.
-================================================================================ +
-Install  1 Package+
  
-Total download size: 14 k +<code> 
-Installed size: 24 k +[root@centos8 ~]# ls /proc 
-Downloading packages: +1      16391  19    2212  2427  2622  431   59    84    999          mdstat 
-epel-release-7-6.noarch.rpm                                |  14 kB   00:01      +10     16476  1931  2215  2428  2659  432       842   acpi         meminfo 
-Running transaction check +1007   16534  1956  2222  2431  2667  433   60    8465  buddyinfo    misc 
-Running transaction test +11     16576  1960  2226  2432  2686  434   61    866   bus          modules 
-Transaction test succeeded +11805  16593  2     2230  2435  27    435   63    867   cgroups      mounts 
-Running transaction +12     16598  20    2237  2439  28    436   64    868   cmdline      mtrr 
-  Installing : epel-release-7-6.noarch                                      1/1  +1219   16600  2007  2238  244   29    437   65    869   consoles     net 
-  Verifying  : epel-release-7-6.noarch                                      1/+1228   16613  2029  2241  2443  3     44    6568  87    cpuinfo      pagetypeinfo 
 +1232   16646  203   2244  2445  31    446   66    870   crypto       partitions 
 +1234   16673  2034  2247  2449  32    45    67    871   devices      sched_debug 
 +1235   16677  2037  2260  2451  33    46    674   872   diskstats    schedstat 
 +1247   16711  2054  2262  2465  34    47    68    874   dma          scsi 
 +13     16712  2062  2267  2472  35    4790  69    875   driver       self 
 +1307   16729  21    2268  2473  37    49    70    878   execdomains  slabinfo 
 +1339   16742  210   2274  2474  38    50    701   879   fb           softirqs 
 +1356   17     2118  2275  2475  39    5076  71    880   filesystems  stat 
 +14     1764   2121  2280  2476  4     51    714   884   fs           swaps 
 +1441   180    2124  2287  2478  40    52    72    887   interrupts   sys 
 +1443   181    2126  2292  2481  402   53    73    9     iomem        sysrq-trigger 
 +1444   1817   2156  23    2484  41    532   74    901   ioports      sysvipc 
 +1446   182    2160  2302  25    419   539   75    903   irq          thread-self 
 +14977  1828   2164  2307  2536  420   55    76    9144  kallsyms     timer_list 
 +15     1829   2165  2310  2539  421   568       916   kcore        tty 
 +15067  183    2167  2330  2571  422   569   808   918   keys         uptime 
 +1536   1845   2169  2332  2578  423   570   809   919   key-users    version 
 +1553   185    2177  2349  2579  425   571   81    921   kmsg         vmallocinfo 
 +15594  186    2187  2358  259   426   572   833   969   kpagecgroup  vmstat 
 +15735  187    2190  2373  2593  427   573   835   986   kpagecount   zoneinfo 
 +16     1880   2194  2384  26    428   574   837   989   kpageflags 
 +16165  1883   22    239   2602  43    575   838   990   loadavg 
 +16167  1888   2204  241   2608  430   576   839   993   locks 
 +</code>
  
-Installed: +===Fichiers===
-  epel-release.noarch 0:7-6                                                     +
  
-Complete!+==Processeur== 
 + 
 +<code> 
 +[root@centos8 ~]# cat /proc/cpuinfo 
 +processor       : 0 
 +vendor_id       : GenuineIntel 
 +cpu family      : 15 
 +model           : 6 
 +model name      : Common KVM processor 
 +stepping        : 1 
 +microcode       : 0x1 
 +cpu MHz         : 1999.987 
 +cache size      : 16384 KB 
 +physical id     : 0 
 +siblings        : 4 
 +core id         : 0 
 +cpu cores       : 4 
 +apicid          : 0 
 +initial apicid  : 0 
 +fpu             : yes 
 +fpu_exception   : yes 
 +cpuid level     : 13 
 +wp              : yes 
 +flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti 
 +bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit 
 +bogomips        : 3999.97 
 +clflush size    : 64 
 +cache_alignment : 128 
 +address sizes   : 40 bits physical, 48 bits virtual 
 +power management: 
 + 
 +processor       : 1 
 +vendor_id       : GenuineIntel 
 +cpu family      : 15 
 +model           : 6 
 +model name      : Common KVM processor 
 +stepping        : 1 
 +microcode       : 0x1 
 +cpu MHz         : 1999.987 
 +cache size      : 16384 KB 
 +physical id     : 0 
 +siblings        : 4 
 +core id         : 1 
 +cpu cores       : 4 
 +apicid          : 1 
 +initial apicid  : 1 
 +fpu             : yes 
 +fpu_exception   : yes 
 +cpuid level     : 13 
 +wp              : yes 
 +flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti 
 +bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit 
 +bogomips        : 3999.97 
 +clflush size    : 64 
 +cache_alignment : 128 
 +address sizes   : 40 bits physical, 48 bits virtual 
 +power management: 
 + 
 +processor       : 2 
 +vendor_id       : GenuineIntel 
 +cpu family      : 15 
 +model           : 6 
 +model name      : Common KVM processor 
 +stepping        : 1 
 +microcode       : 0x1 
 +cpu MHz         : 1999.987 
 +cache size      : 16384 KB 
 +physical id     : 0 
 +siblings        : 4 
 +core id         : 2 
 +cpu cores       : 4 
 +apicid          : 2 
 +initial apicid  : 2 
 +fpu             : yes 
 +fpu_exception   : yes 
 +cpuid level     : 13 
 +wp              : yes 
 +flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti 
 +bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit 
 +bogomips        : 3999.97 
 +clflush size    : 64 
 +cache_alignment : 128 
 +address sizes   : 40 bits physical, 48 bits virtual 
 +power management: 
 + 
 +processor       : 3 
 +vendor_id       : GenuineIntel 
 +cpu family      : 15 
 +model           : 6 
 +model name      : Common KVM processor 
 +stepping        : 1 
 +microcode       : 0x1 
 +cpu MHz         : 1999.987 
 +cache size      : 16384 KB 
 +physical id     : 0 
 +siblings        : 4 
 +core id         : 3 
 +cpu cores       : 4 
 +apicid          : 3 
 +initial apicid  : 3 
 +fpu             : yes 
 +fpu_exception   : yes 
 +cpuid level     : 13 
 +wp              : yes 
 +flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti 
 +bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit 
 +bogomips        : 3999.97 
 +clflush size    : 64 
 +cache_alignment : 128 
 +address sizes   : 40 bits physical, 48 bits virtual 
 +power management: 
 + 
 +processor       : 4 
 +vendor_id       : GenuineIntel 
 +cpu family      : 15 
 +model           : 6 
 +model name      : Common KVM processor 
 +stepping        : 1 
 +microcode       : 0x1 
 +cpu MHz         : 1999.987 
 +cache size      : 16384 KB 
 +physical id     : 1 
 +siblings        : 4 
 +core id         : 0 
 +cpu cores       : 4 
 +apicid          : 4 
 +initial apicid  : 4 
 +fpu             : yes 
 +fpu_exception   : yes 
 +cpuid level     : 13 
 +wp              : yes 
 +flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti 
 +bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit 
 +bogomips        : 3999.97 
 +clflush size    : 64 
 +cache_alignment : 128 
 +address sizes   : 40 bits physical, 48 bits virtual 
 +power management: 
 + 
 +processor       : 5 
 +vendor_id       : GenuineIntel 
 +cpu family      : 15 
 +model           : 6 
 +model name      : Common KVM processor 
 +stepping        : 1 
 +microcode       : 0x1 
 +cpu MHz         : 1999.987 
 +cache size      : 16384 KB 
 +physical id     : 1 
 +siblings        : 4 
 +core id         : 1 
 +cpu cores       : 4 
 +apicid          : 5 
 +initial apicid  : 5 
 +fpu             : yes 
 +fpu_exception   : yes 
 +cpuid level     : 13 
 +wp              : yes 
 +flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti 
 +bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit 
 +bogomips        : 3999.97 
 +clflush size    : 64 
 +cache_alignment : 128 
 +address sizes   : 40 bits physical, 48 bits virtual 
 +power management: 
 + 
 +processor       : 6 
 +vendor_id       : GenuineIntel 
 +cpu family      : 15 
 +model           : 6 
 +model name      : Common KVM processor 
 +stepping        : 1 
 +microcode       : 0x1 
 +cpu MHz         : 1999.987 
 +cache size      : 16384 KB 
 +physical id     : 1 
 +siblings        : 4 
 +core id         : 2 
 +cpu cores       : 4 
 +apicid          : 6 
 +initial apicid  : 6 
 +fpu             : yes 
 +fpu_exception   : yes 
 +cpuid level     : 13 
 +wp              : yes 
 +flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti 
 +bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit 
 +bogomips        : 3999.97 
 +clflush size    : 64 
 +cache_alignment : 128 
 +address sizes   : 40 bits physical, 48 bits virtual 
 +power management: 
 + 
 +processor       : 7 
 +vendor_id       : GenuineIntel 
 +cpu family      : 15 
 +model           : 6 
 +model name      : Common KVM processor 
 +stepping        : 1 
 +microcode       : 0x1 
 +cpu MHz         : 1999.987 
 +cache size      : 16384 KB 
 +physical id     : 1 
 +siblings        : 4 
 +core id         : 3 
 +cpu cores       : 4 
 +apicid          : 7 
 +initial apicid  : 7 
 +fpu             : yes 
 +fpu_exception   : yes 
 +cpuid level     : 13 
 +wp              : yes 
 +flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti 
 +bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit 
 +bogomips        : 3999.97 
 +clflush size    : 64 
 +cache_alignment : 128 
 +address sizes   : 40 bits physical, 48 bits virtual 
 +power management:
 </code> </code>
  
-Installez ensuite LightDM :+==Interruptions système==
  
 <code> <code>
-[root@centos7 ~]# yum install -y lightdm +[root@centos8 ~]# cat /proc/interrupts 
-Loaded plugins: fastestmirror, langpacks +           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7        
-epel/x86_64/metalink                                      23 kB     00:00      +  0       109          0          0          0          0          0          0          0   IO-APIC   2-edge      timer 
-epel                                                     | 4.3 kB     00:00      +  1:                   0          0          0          9          0          0          0   IO-APIC   1-edge      i8042 
-(1/3)epel/x86_64/group_gz                                | 170 kB   00:00      +  8                  0          0          0          0          1          0          0   IO-APIC   8-edge      rtc0 
-(2/3)epel/x86_64/updateinfo                              | 588 kB   00:00      +  9                  0          0          0          0          0          0          0   IO-APIC   9-fasteoi   acpi 
-(3/3)epel/x86_64/primary_db                              | 4.3 MB   00:01      + 10                  0          0          0      47098          0          0          0   IO-APIC  10-fasteoi   virtio0 
-Loading mirror speeds from cached hostfile + 11                  0         31          0          0          0          0          0   IO-APIC  11-fasteoi   uhci_hcd:usb1 
- * basefr.mirror.babylon.network + 12                  0          0         15          0          0          0          0   IO-APIC  12-edge      i8042 
- * epelmirrors.ircam.fr + 14:          0          0          0          0          0          0          0          0   IO-APIC  14-edge      ata_piix 
- * extrasfr.mirror.babylon.network + 15      7376          0        144          0          0          0          0      84588   IO-APIC  15-edge      ata_piix 
- * updatesfr.mirror.babylon.network + 24:          0          0          0          0          0          0          0          0   PCI-MSI 294912-edge      virtio1-config 
-Resolving Dependencies + 25                  0          0          0          0       5640          0         16   PCI-MSI 294913-edge      virtio1-input.0 
---> Running transaction check + 26        36          0          0       5058          0          0          0          0   PCI-MSI 294914-edge      virtio1-output.
----> Package lightdm.x86_64 0:1.10.6-4.el7 will be installed + 27              16008          0       9431          0          0          0          0   PCI-MSI 114688-edge      ahci[0000:00:07.0] 
---> Processing Dependency: lightdm-greeter = 1.2 for packagelightdm-1.10.6-4.el7.x86_64 +NMI:          0          0          0          0          0          0          0          0   Non-maskable interrupts 
---> Processing Dependencylightdm-gobject(x86-64) = 1.10.6-4.el7 for packagelightdm-1.10.6-4.el7.x86_64 +LOC:     870537     771900    1117711     288839     833717     502365     758229     405110   Local timer interrupts 
---> Running transaction check +SPU:                            0          0          0          0          0          0   Spurious interrupts 
----> Package lightdm-gobject.x86_64 0:1.10.6-4.el7 will be installed +PMI                  0          0          0          0          0          0          0   Performance monitoring interrupts 
----> Package lightdm-gtk.x86_64 0:1.8.5-19.el7 will be installed +IWI:                            0          0          2          0          0          0   IRQ work interrupts 
---> Processing Dependencylightdm-gtk-common = 1.8.5-19.el7 for packagelightdm-gtk-1.8.5-19.el7.x86_64 +RTR                  0          0          0          0          0          0          0   APIC ICR read retries 
---> Running transaction check +RES    178171      67749      43116      65994      71361     118585      54139      53452   Rescheduling interrupts 
----> Package lightdm-gtk-common.noarch 0:1.8.5-19.el7 will be installed +CAL     11095      11007      10841      10343      14679       9998      12165      12443   Function call interrupts 
---> Finished Dependency Resolution+TLB:       2295       2297       2000       1728       2330       2338       1991       1861   TLB shootdowns 
 +TRM:          0          0          0          0          0          0          0          0   Thermal event interrupts 
 +THR:          0          0          0          0          0          0          0          0   Threshold APIC interrupts 
 +DFR:          0          0          0          0          0          0          0          0   Deferred Error APIC interrupts 
 +MCE:          0          0          0          0          0          0          0          0   Machine check exceptions 
 +MCP:        288        288        288        288        288        288        288        288   Machine check polls 
 +HYP:          0          0          0          0          0          0          0          0   Hypervisor callback interrupts 
 +HRE:          0          0          0          0          0          0          0          0   Hyper-V reenlightenment interrupts 
 +HVS:          0          0          0          0          0          0          0          0   Hyper-V stimer0 interrupts 
 +ERR:          0 
 +MIS         0 
 +PIN:          0          0          0          0          0          0          0          0   Posted-interrupt notification event 
 +NPI:          0          0          0          0          0          0          0          0   Nested posted-interrupt event 
 +PIW:          0          0          0          0          0          0          0          0   Posted-interrupt wakeup event 
 +</code>
  
-Dependencies Resolved+<WRAP center round important 60%> 
 +**Important** : Un pilote de périphérique demande au processeur de fournir un service en utilisant un IRQ. Quand la demande est faite, le processeur interrompe ses activités et passe le contrôle au pilote identifié par l'IRQ. Techniquement l'attribution d'un IRQ à un périphérique doit être exclusive. Dans le cas où deux périphériques demandent un service en même temps, c'est le périphérique ayant l'IRQ le plus bas qui est prioritaire. 
 +</WRAP> 
  
-================================================================================ +==Canaux DMA==
- Package                   Arch          Version              Repository   Size +
-================================================================================ +
-Installing: +
- lightdm                   x86_64        1.10.6-4.el7         epel        190 k +
-Installing for dependencies: +
- lightdm-gobject           x86_64        1.10.6-4.el7         epel         57 k +
- lightdm-gtk               x86_64        1.8.5-19.el7         epel         58 k +
- lightdm-gtk-common        noarch        1.8.5-19.el7         epel         57 k+
  
-Transaction Summary +<code> 
-================================================================================ +[root@centos8 ~]# cat /proc/dma 
-Install  1 Package (+3 Dependent packages)+ 4: cascade 
 +</code>
  
-Total download size: 362 k +==Plages d'entrée/sortie==
-Installed size: 970 k +
-Downloading packages: +
-warning: /var/cache/yum/x86_64/7/epel/packages/lightdm-1.10.6-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY +
-Public key for lightdm-1.10.6-4.el7.x86_64.rpm is not installed +
-(1/4): lightdm-1.10.6-4.el7.x86_64.rpm                     | 190 kB   00:01      +
-(2/4): lightdm-gobject-1.10.6-4.el7.x86_64.rpm              57 kB   00:00      +
-(3/4): lightdm-gtk-1.8.5-19.el7.x86_64.rpm                  58 kB   00:00      +
-(4/4): lightdm-gtk-common-1.8.5-19.el7.noarch.rpm          |  57 kB   00:00      +
--------------------------------------------------------------------------------- +
-Total                                              179 kB/s | 362 kB  00:02      +
-Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 +
-Importing GPG key 0x352C64E5: +
- Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>" +
- Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 +
- Package    : epel-release-7-6.noarch (@extras) +
- From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 +
-Running transaction check +
-Running transaction test +
-Transaction test succeeded +
-Running transaction +
-  Installing : lightdm-gobject-1.10.6-4.el7.x86_64                          1/4  +
-  Installing : lightdm-gtk-common-1.8.5-19.el7.noarch                       2/4  +
-  Installing : lightdm-1.10.6-4.el7.x86_64                                  3/4  +
-  Installing : lightdm-gtk-1.8.5-19.el7.x86_64                              4/4  +
-  Verifying  : lightdm-gtk-common-1.8.5-19.el7.noarch                                                                                                               1/4  +
-  Verifying  : lightdm-gtk-1.8.5-19.el7.x86_64                                                                                                                      2/4  +
-  Verifying  : lightdm-1.10.6-4.el7.x86_64                                                                                                                          3/4  +
-  Verifying  : lightdm-gobject-1.10.6-4.el7.x86_64                                                                                                                  4/4 +
  
-Installed+<code> 
-  lightdm.x86_64 0:1.10.6-4.el7                                                                                                                                         +root@centos8 ~]# cat /proc/ioports | more 
 +0000-0cf7 : PCI Bus 0000:00 
 +  0000-001f : dma1 
 +  0020-0021 : pic1 
 +  0040-0043 : timer0 
 +  0050-0053 : timer1 
 +  0060-0060 : keyboard 
 +  0064-0064 : keyboard 
 +  0070-0077 : rtc0 
 +  0080-008f : dma page reg 
 +  00a0-00a1 : pic2 
 +  00c0-00df : dma2 
 +  00f0-00ff : fpu 
 +  0170-0177 : 0000:00:01.
 +    0170-0177 : ata_piix 
 +  01f0-01f7 : 0000:00:01.1 
 +    01f0-01f7 : ata_piix 
 +  0376-0376 : 0000:00:01.
 +    0376-0376 : ata_piix 
 +  03c0-03df : vga+ 
 +  03f6-03f6 : 0000:00:01.
 +    03f6-03f6 : ata_piix 
 +--More-- 
 +</code>
  
-Dependency Installed: +<WRAP center round alert 60%> 
-  lightdm-gobject.x86_64 0:1.10.6-4.el7                   lightdm-gtk.x86_64 0:1.8.5-19.el7                   lightdm-gtk-common.noarch 0:1.8.5-19.el7                  +**Important** Si deux périphériques ont le même port, les **deux** périphériques seront inutilisables. 
 +</WRAP> 
 + 
 +==Périphériques== 
 + 
 +<code> 
 +[root@centos8 ~]# cat /proc/devices 
 +Character devices: 
 +  mem 
 +  /dev/vc/0 
 +  4 tty 
 +  4 ttyS 
 +  /dev/tty 
 +  /dev/console 
 +  5 /dev/ptmx 
 +  7 vcs 
 + 10 misc 
 + 13 input 
 + 21 sg 
 + 29 fb 
 +128 ptm 
 +136 pts 
 +162 raw 
 +180 usb 
 +188 ttyUSB 
 +189 usb_device 
 +202 cpu/msr 
 +203 cpu/cpuid 
 +226 drm 
 +244 aux 
 +245 hidraw 
 +246 usbmon 
 +247 bsg 
 +248 watchdog 
 +249 ptp 
 +250 pps 
 +251 rtc 
 +252 dax 
 +253 tpm 
 +254 gpiochip
  
-Complete!+Block devices: 
 +  8 sd 
 +  9 md 
 + 11 sr 
 + 65 sd 
 + 66 sd 
 + 67 sd 
 + 68 sd 
 + 69 sd 
 + 70 sd 
 + 71 sd 
 +128 sd 
 +129 sd 
 +130 sd 
 +131 sd 
 +132 sd 
 +133 sd 
 +134 sd 
 +135 sd 
 +253 device-mapper 
 +254 mdp 
 +259 blkext
 </code> </code>
  
-Le fichier de configuration de LightDM est **/etc/lightdm/lightdm.conf** :+==Modules==
  
 <code> <code>
-[root@centos7 ~]# cat /etc/lightdm/lightdm.conf +[root@centos8 ~]# cat /proc/modules | more 
-+xt_CHECKSUM 16384 1 Live 0xffffffffc09a8000 
-# General configuration +ipt_MASQUERADE 16384 3 Live 0xffffffffc09a3000 
-+xt_conntrack 16384 1 Live 0xffffffffc099e000 
-# start-default-seat = True to always start one seat if none are defined in the configuration +ipt_REJECT 16384 2 Live 0xffffffffc0999000 
-# greeter-user = User to run greeter as +nft_compat 20480 16 Live 0xffffffffc0993000 
-# minimum-display-number = Minimum display number to use for X servers +nf_nat_tftp 16384 0 Live 0xffffffffc098b000 
-# minimum-vt = First VT to run displays on +nft_objref 16384 1 Live 0xffffffffc0986000 
-# lock-memory = True to prevent memory from being paged to disk +nf_conntrack_tftp 16384 3 nf_nat_tftp, Live 0xffffffffc0981000 
-# user-authority-in-system-dir = True if session authority should be in the system location +nft_counter 16384 33 Live 0xffffffffc097c000 
-# guest-account-script = Script to be run to setup guest account +tun 53248 1 Live 0xffffffffc096e000 
-# logind-load-seats = True to automatically set up multi-seat configuration from logind +bridge 192512 0 Live 0xffffffffc093e000 
-# logind-check-graphical = True to on start seats that are marked as graphical by logind +stp 16384 1 bridge, Live 0xffffffffc0939000 
-# log-directory = Directory to log information to +llc 16384 2 bridge,stp, Live 0xffffffffc0930000 
-# run-directory = Directory to put running state in +nft_fib_inet 16384 1 Live 0xffffffffc08f5000 
-# cache-directory = Directory to cache to +nft_fib_ipv4 16384 1 nft_fib_inet, Live 0xffffffffc08ed000 
-# sessions-directory = Directory to find sessions +nft_fib_ipv6 16384 1 nft_fib_inet, Live 0xffffffffc08e8000 
-# remote-sessions-directory = Directory to find remote sessions +nft_fib 16384 3 nft_fib_inet,nft_fib_ipv4,nft_fib_ipv6, Live 0xffffffffc08e3000 
-# greeters-directory = Directory to find greeters +nft_reject_inet 16384 5 Live 0xffffffffc08de000 
-# backup-logs = True to move add a .old suffix to old log files when opening new ones +nf_reject_ipv4 16384 2 ipt_REJECT,nft_reject_inet, Live 0xffffffffc08d9000 
-# +nf_reject_ipv6 16384 1 nft_reject_inet, Live 0xffffffffc08d4000 
-[LightDM] +nft_reject 16384 nft_reject_inet, Live 0xffffffffc08cf000 
-#start-default-seat=true +--More-- 
-#greeter-user=lightdm +</code>
-#minimum-display-number=0 +
-minimum-vt=+
-#lock-memory=true +
-user-authority-in-system-dir=true +
-#guest-account-script=guest-account +
-#logind-load-seats=false +
-#logind-check-graphical=false +
-#log-directory=/var/log/lightdm +
-#run-directory=/var/run/lightdm +
-#cache-directory=/var/cache/lightdm +
-#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions +
-#remote-sessions-directory=/usr/share/lightdm/remote-sessions +
-#greeters-directory=/usr/share/lightdm/greeters:/usr/share/xgreeters +
-#backup-logs=true+
  
-+==Statistiques de l'utilisation  des disques==
-# Seat defaults +
-+
-# type Seat type (xlocal, xremote) +
-# xdg-seat Seat name to set pam_systemd XDG_SEAT variable and name to pass to X server +
-# pam-service PAM service to use for login +
-# pam-autologin-service PAM service to use for autologin +
-# pam-greeter-service = PAM service to use for greeters +
-# xserver-command = X server command to run (can also contain arguments e.g. X -special-option) +
-# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option) +
-# xserver-layout = Layout to pass to X server +
-# xserver-config = Config file to pass to X server +
-# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server +
-# xserver-share = True if the X server is shared for both greeter and session +
-# xserver-hostname = Hostname of X server (only for type=xremote) +
-# xserver-display-number = Display number of X server (only for type=xremote) +
-# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true) +
-# xdmcp-port = XDMCP UDP/IP port to communicate on +
-# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) +
-# unity-compositor-command = Unity compositor command to run (can also contain arguments e.g. unity-system-compositor -special-option) +
-# unity-compositor-timeout = Number of seconds to wait for compositor to start +
-# greeter-session = Session to load for greeter +
-# greeter-hide-users = True to hide the user list +
-# greeter-allow-guest = True if the greeter should show a guest login option +
-# greeter-show-manual-login = True if the greeter should offer a manual login option +
-# greeter-show-remote-login = True if the greeter should offer a remote login option +
-# user-session = Session to load for users +
-# allow-user-switching = True if allowed to switch users +
-# allow-guest = True if guest login is allowed +
-# guest-session = Session to load for guests (overrides user-session) +
-# session-wrapper = Wrapper script to run session with +
-# greeter-wrapper = Wrapper script to run greeter with +
-# guest-wrapper = Wrapper script to run guest sessions with +
-# display-setup-script = Script to run when starting a greeter session (runs as root) +
-# display-stopped-script = Script to run after stopping the display server (runs as root) +
-# greeter-setup-script = Script to run when starting a greeter (runs as root) +
-# session-setup-script = Script to run when starting a user session (runs as root) +
-# session-cleanup-script = Script to run when quitting a user session (runs as root) +
-# autologin-guest = True to log in as guest by default +
-# autologin-user = User to log in with by default (overrides autologin-guest) +
-# autologin-user-timeout = Number of seconds to wait before loading default user +
-# autologin-session = Session to load for automatic login (overrides user-session) +
-# autologin-in-background = True if autologin session should not be immediately activated +
-# exit-on-failure = True if the daemon should exit if this seat fails +
-+
-[SeatDefaults] +
-#type=xlocal +
-#xdg-seat=seat0 +
-#pam-service=lightdm +
-#pam-autologin-service=lightdm-autologin +
-#pam-greeter-service=lightdm-greeter +
-xserver-command=X -background none +
-#xmir-command=Xmir +
-#xserver-layout= +
-#xserver-config= +
-#xserver-allow-tcp=false +
-#xserver-share=true +
-#xserver-hostname= +
-#xserver-display-number= +
-#xdmcp-manager= +
-#xdmcp-port=177 +
-#xdmcp-key= +
-#unity-compositor-command=unity-system-compositor +
-#unity-compositor-timeout=60 +
-greeter-session=lightdm-greeter +
-#greeter-hide-users=false +
-#greeter-allow-guest=true +
-#greeter-show-manual-login=false +
-#greeter-show-remote-login=true +
-#user-session=default +
-#allow-user-switching=true +
-#allow-guest=true +
-#guest-session= +
-session-wrapper=/etc/X11/xinit/Xsession +
-#greeter-wrapper= +
-#guest-wrapper= +
-#display-setup-script= +
-#display-stopped-script= +
-#greeter-setup-script= +
-#session-setup-script= +
-#session-cleanup-script= +
-#autologin-guest=false +
-#autologin-user= +
-#autologin-user-timeout=0 +
-#autologin-in-background=false +
-#autologin-session=UNIMPLEMENTED +
-#exit-on-failure=false+
  
 +<code>
 +[root@centos8 ~]# cat /proc/diskstats
 +         0 sda 15481 112 1445637 154103 10272 2377 277530 890611 0 237219 1044714 0 0 0 0
 +         1 sda1 402 3 66754 13349 31 18 392 4632 0 2824 17981 0 0 0 0
 +         2 sda2 14915 109 1375516 140528 8450 2359 277138 869788 0 225416 1010316 0 0 0 0
 +        16 sdb 230 0 5991 36 0 0 0 0 0 110 36 0 0 0 0
 +  11       0 sr0 10 0 4 2 0 0 0 0 0 9 2 0 0 0 0
 + 253       0 dm-0 11651 0 1364532 72138 12121 0 288727 1208138 0 227630 1280276 0 0 0 0
 + 253       1 dm-1 104 0 4440 79 0 0 0 0 0 71 79 0 0 0 0
 +</code>
 +
 +==Partitions==
 +
 +<code>
 +[root@centos8 ~]# cat /proc/partitions
 +major minor  #blocks  name
 +
 +          0   33554432 sda
 +          1    1048576 sda1
 +          2   32504832 sda2
 +         16    4194304 sdb
 +  11        0    1048575 sr0
 + 253        0   29143040 dm-0
 + 253        1    3358720 dm-1
 +</code>
 +
 +==Espaces de pagination==
 +
 +<code>
 +[root@centos8 ~]# cat /proc/swaps
 +Filename                                Type            Size    Used    Priority
 +/dev/dm-1                               partition       3358716 0       -2
 +</code>
 +
 +==Statistiques d'utilisation du processeur==
 +
 +<code>
 +[root@centos8 ~]# cat /proc/loadavg
 +0.00 0.00 0.00 1/697 16936
 +</code>
 +
 +==Statistiques d'utilisation de la mémoire==
 +
 +<code>
 +[root@centos8 ~]# cat /proc/meminfo
 +MemTotal:        3825032 kB
 +MemFree:         1862116 kB
 +MemAvailable:    2420560 kB
 +Buffers:            3300 kB
 +Cached:           750496 kB
 +SwapCached:            0 kB
 +Active:           315572 kB
 +Inactive:        1400260 kB
 +Active(anon):       1856 kB
 +Inactive(anon):   974728 kB
 +Active(file):     313716 kB
 +Inactive(file):   425532 kB
 +Unevictable:           0 kB
 +Mlocked:               0 kB
 +SwapTotal:       3358716 kB
 +SwapFree:        3358716 kB
 +Dirty:                 0 kB
 +Writeback:             0 kB
 +AnonPages:        962004 kB
 +Mapped:           261084 kB
 +Shmem:             14552 kB
 +KReclaimable:      46980 kB
 +Slab:             118396 kB
 +SReclaimable:      46980 kB
 +SUnreclaim:        71416 kB
 +KernelStack:       11280 kB
 +PageTables:        46532 kB
 +NFS_Unstable:          0 kB
 +Bounce:                0 kB
 +WritebackTmp:          0 kB
 +CommitLimit:     5271232 kB
 +Committed_AS:    5072744 kB
 +VmallocTotal:   34359738367 kB
 +VmallocUsed:           0 kB
 +VmallocChunk:          0 kB
 +Percpu:             5920 kB
 +HardwareCorrupted:     0 kB
 +AnonHugePages:    546816 kB
 +ShmemHugePages:        0 kB
 +ShmemPmdMapped:        0 kB
 +FileHugePages:         0 kB
 +FilePmdMapped:         0 kB
 +HugePages_Total:       0
 +HugePages_Free:        0
 +HugePages_Rsvd:        0
 +HugePages_Surp:        0
 +Hugepagesize:       2048 kB
 +Hugetlb:               0 kB
 +DirectMap4k:      173944 kB
 +DirectMap2M:     4020224 kB
 +</code>
 +
 +==Version du noyau==
 +
 +<code>
 +[root@centos8 ~]# cat /proc/version
 +Linux version 4.18.0-305.3.1.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.4.1 20200928 (Red Hat 8.4.1-1) (GCC)) #1 SMP Tue Jun 1 16:14:33 UTC 2021
 +</code>
 +
 +===Répertoires===
 +
 +==ide/scsi==
 +
 +Ce répertoire contient des répertoires dans lesquels se trouvent des informations sur la capacité, le type et la géométrie des disques.
 +
 +==acpi==
 +
 +Ce répertoire contient des informations sur la gestion de l'énérgie, les températures, les vitesses de ventilateurs, la charge des batteries.
 +
 +==bus==
 +
 +Ce répertoire contient un sous-répertoire par bus.
 +
 +==net==
 +
 +Ce répertoire contient des informations sur le réseau.
 +
 +==sys==
 +
 +Ce répertoire contient des paramètres du noyau. Certains des fichiers dans ce répertoire sont accessibles en écriture par root en temps réel. Par exemple pour éviter des attaques réseau **%%DoS%%** utilisant la commande **ping**, saisissez la commande suivante :
 +
 +  # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all [Entrée]
 +
 +Cette commande a pour résultat d'ignorer les reqûetes ping.
 +
 +====2.2 - Utilisation de la Commande sysctl====
 +
 +Les fichiers dans le répertoire **/proc/sys** peuvent être administrés par la commande **sysctl** en temps réel. 
 +
 +La commande **sysctl** applique les règles consignés dans le fichier **/etc/sysctl.conf** au démarrage de la machine.
 +
 +Saisissez la commande :
 +
 +<code>
 +[root@centos8 ~]# cat /etc/sysctl.conf
 +# sysctl settings are defined through files in
 +# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
 # #
-Seat configuration+Vendors settings live in /usr/lib/sysctl.d/
 +# To override a whole file, create a new file with the same in 
 +# /etc/sysctl.d/ and put new settings there. To override 
 +# only specific settings, add a file with a lexically later 
 +# name in /etc/sysctl.d/ and put new settings there.
 # #
-Each seat must start with "Seat:"+For more information, see sysctl.conf(5) and sysctl.d(5)
-# Uses settings from [SeatDefaults], any of these can be overriden by setting them in this section+ 
-# +[root@centos8 ~]# ls -l /etc/sysctl.d/ 
-#[Seat:0]+total 0 
 +lrwxrwxrwx. 1 root root 14 Mar 16 15:42 99-sysctl.conf -> ../sysctl.conf 
 +[root@centos8 ~]# ls -l /usr/lib/sysctl.d/ 
 +total 24 
 +-rw-r--r--. 1 root root 1810 Dec 22  2020 10-default-yama-scope.conf 
 +-rw-r--r--. 1 root root  524 Mar 16 15:42 50-coredump.conf 
 +-rw-r--r--. 1 root root 1270 Mar 16 15:42 50-default.conf 
 +-rw-r--r--. 1 root root  246 Jun 15  2020 50-libkcapi-optmem_max.conf 
 +-rw-r--r--. 1 root root  636 Mar 16 15:42 50-pid-max.conf 
 +-rw-r--r--. 1 root root  499 Nov 26  2019 60-libvirtd.conf
  
 +[root@centos8 ~]# cat /usr/lib/sysctl.d/50-default.conf 
 +#  This file is part of systemd.
 # #
-XDMCP Server configuration + systemd is free software; you can redistribute it and/or modify it 
-+ under the terms of the GNU Lesser General Public License as published by 
-# enabled = True if XDMCP connections should be allowed + the Free Software Foundation; either version 2.of the License, or 
-# port = UDP/IP port to listen for connections on +#  (at your option) any later version.
-listen-address = Host/address to listen for XDMCP connections (use all addresses if not present) +
-key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf) +
-# +
-# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn.  Alternatively +
-# it can be a word and the first 7 characters are used as the key. +
-+
-[XDMCPServer] +
-#enabled=false +
-#port=177 +
-#listen-address= +
-#key=+
  
 +# See sysctl.d(5) and core(5) for documentation.
 +
 +# To override settings in this file, create a local file in /etc
 +# (e.g. /etc/sysctl.d/90-override.conf), and put any assignments
 +# there.
 +
 +# System Request functionality of the kernel (SYNC)
 # #
-VNC Server configuration +Use kernel.sysrq to allow all keys. 
-+See https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html for a list 
-# enabled = True if VNC connections should be allowed +# of values and keys. 
-# command Command to run Xvnc server with +kernel.sysrq 16 
-port = TCP/IP port to listen for connections on + 
-# listen-address = Host/address to listen for VNC connections (use all addresses if not present) +Append the PID to the core filename 
-width = Width of display to use +kernel.core_uses_pid = 1 
-# height Height of display to use + 
-depth = Color depth of display to use +https://bugzilla.redhat.com/show_bug.cgi?id=1689346 
-# +kernel.kptr_restrict = 1 
-[VNCServer] + 
-#enabled=false +Source route verification 
-#command=Xvnc +net.ipv4.conf.all.rp_filter 
-#port=5900 + 
-#listen-address= +Do not accept source routing 
-#width=1024 +net.ipv4.conf.all.accept_source_route 
-#height=768 + 
-#depth=8+Promote secondary addresses when the primary address is removed 
 +net.ipv4.conf.all.promote_secondaries 
 + 
 +Fair Queue CoDel packet scheduler to fight bufferbloat 
 +net.core.default_qdisc fq_codel 
 + 
 +Enable hard and soft link protection 
 +fs.protected_hardlinks 1 
 +fs.protected_symlinks 1
 </code> </code>
  
-La configuration de l'écran d'accueil GTK de LightDM se trouve dans le fichier **/etc/lightdm/lightdm-gtk-greeter.conf** :+Les options de la commande **sysctl** sont :
  
 <code> <code>
-[root@centos7 ~]# cat /etc/lightdm/lightdm-gtk-greeter.conf +[root@centos8 ~]# sysctl --help 
-# + 
-# background Background file to use, either an image path or a color (e.g#772953) +Usage: 
-# theme-name = GTK+ theme to use + sysctl [options] [variable[=value] ...] 
-# icon-theme-name = Icon theme to use + 
-# font-name = Font to use +Options: 
-# xft-antialias = Whether to antialias Xft fonts (true or false) +  -a, --all            display all variables 
-# xft-dpi = Resolution for Xft in dots per inch (e.g. 96) +  -A                   alias of -a 
-# xft-hintstyle = What degree of hinting to use (none, slight, medium, or hintfull) +  -X                   alias of -a 
-# xft-rgba = Type of subpixel antialiasing (nonergb, bgr, vrgb or vbgr) +      --deprecated     include deprecated parameters to listing 
-# show-indicators = semi-colon ";" separated list of allowed indicator modules. Built-in indicators include "~a11y", "~language", "~session", "~power". Unity indicators can be represented by short name (e.g. "sound""power"), service file name, or absolute path +  -b, --binary         print value without new line 
-# show-clock (true or false) +  -e, --ignore         ignore unknown variables errors 
-# clock-format = strftime-format stringe.g. %H:%M +  -N, --names          print variable names without values 
-# keyboard = command to launch on-screen keyboard +  -n, --values         print only values of the given variable(s
-# position = main window position: x y +  -p, --load[=<file> read values from file 
-# default-user-image = Image used as default user iconpath or #icon-name +  -f                   alias of -p 
-# screensaver-timeout = Timeout (in secondsuntil the screen blanks when the greeter is called as lockscreen +      --system         read values from all system directories 
- +  -r, --pattern <expression> 
-[greeter+                       select setting that match expression 
-background=/usr/share/backgrounds/day.jpg +  -q, --quiet          do not echo variable set 
-#theme-name= +  -w, --write          enable writing a value to variable 
-#icon-theme-name= +  -o                   does nothing 
-#font-name= +  -x                   does nothing 
-#xft-antialias= +  -d                   alias of -h 
-#xft-dpi= + 
-#xft-hintstyle= + -h, --help     display this help and exit 
-#xft-rgba= + -V, --version  output version information and exit 
-#show-indicators= + 
-#show-clock= +For more details see sysctl(8).
-#clock-format= +
-#keyboard= +
-#position= +
-#screensaver-timeout=+
 </code> </code>
  
-=====X.orgX11=====+<WRAP center round important 60%> 
 +**Important** : Consultez la page de la traduction du manuel de **sysctl** **[[http://www.delafond.org/traducmanfr/man/man8/sysctl.8.html|ici]]** pour comprendre la commande. 
 +</WRAP> 
 + 
 +=====LAB#3 - Interprétation des informations dans /proc===== 
 + 
 +Les informations brutes stockées dans /proc peuvent être interprétées grâce à l'utilisation des commandes dites de //gestion des performances//
 + 
 +  * free, 
 +  * uptime et w, 
 +  * iostat, 
 +  * hdparm, 
 +  * vmstat, 
 +  * mpstat, 
 +  * sar.
  
-====Présentation====+====3.1 - La Commande free====
  
-L'exécutable X.orgX11 se trouve dans **/usr/bin** :+La commande **free** permet de donner l’état de la mémoire totale, libre, partagée, swap et bufferisée. Saisissez donc la commande suivante :
  
 <code> <code>
-[root@centos7 ~]# whereis Xorg +[root@centos8 ~]# free -m 
-Xorg/usr/bin/Xorg /usr/share/man/man1/Xorg.1.gz+              total        used        free      shared  buff/cache   available 
 +Mem          3735        1135        1818          14         782        2363 
 +Swap:          3279                  3279
 </code> </code>
  
-Les modules de **X.orgX11** sont installés par défaut dans **/usr/lib/xorg/** ou dans **/usr/lib64/xorg/** :+Dans le cas de cet exemple, nous pouvons constater que l’affichage montre : 
 + 
 +  3735 Mo de mémoire physique totale, 
 +  1135 Mo de mémoire physique utilisée et 1818 Mo de mémoire physique libre, 
 +  3279 Mo de mémoire swap totale et 0 Mo de swap utilisé 
 + 
 +Les options de cette commande sont :
  
 <code> <code>
-[root@centos7 ~]# ls -lR /usr/lib64/xorg +[root@centos8 ~]# free --help
-/usr/lib64/xorg: +
-total 36 +
-drwxr-xr-x. 5 root root  4096 Jun  4 10:00 modules +
--rw-r--r--. 1 root root 31246 Apr 10  2015 protocol.txt+
  
-/usr/lib64/xorg/modules+Usage
-total 776 + free [options]
-drwxr-xr-x. 2 root root   4096 Jun  4 15:33 drivers +
-drwxr-xr-x. 2 root root     22 Jun  4 10:00 extensions +
-drwxr-xr-x. 2 root root    106 Jun  4 10:02 input +
--rwxr-xr-x. 1 root root  99568 Apr 10  2015 libexa.so +
--rwxr-xr-x. 1 root root  20016 Apr 10  2015 libfbdevhw.so +
--rwxr-xr-x. 1 root root 153528 Apr 10  2015 libfb.so +
--rwxr-xr-x. 1 root root  19952 Mar  6  2015 libglamoregl.so +
--rwxr-xr-x. 1 root root 150992 Apr 10  2015 libint10.so +
--rwxr-xr-x. 1 root root  36552 Apr 10  2015 libshadowfb.so +
--rwxr-xr-x. 1 root root  36248 Apr 10  2015 libshadow.so +
--rwxr-xr-x. 1 root root  28232 Apr 10  2015 libvbe.so +
--rwxr-xr-x. 1 root root  33576 Apr 10  2015 libvgahw.so +
--rwxr-xr-x. 1 root root 198568 Apr 10  2015 libwfb.so+
  
-/usr/lib64/xorg/modules/drivers: +Options
-total 2616 + -b, --bytes         show output in bytes 
--rwxr-xr-x. 1 root root   11296 Mar  6  2015 ati_drv.so +     --kilo          show output in kilobytes 
--rwxr-xr-x. 1 root root   20408 Jun  9  2014 dummy_drv.so +     --mega          show output in megabytes 
--rwxr-xr-x. 1 root root   24648 Jun 10  2014 fbdev_drv.so +     --giga          show output in gigabytes 
--rwxr-xr-x. 1 root root 1501152 Mar  6  2015 intel_drv.so +     --tera          show output in terabytes 
--rwxr-xr-x. 1 root root   50472 Jun  9  2014 modesetting_drv.so +     --peta          show output in petabytes 
--rwxr-xr-x. 1 root root  211080 Jun 10  2014 nouveau_drv.so + -k, --kibi          show output in kibibytes 
--rwxr-xr-x. 1 root root  181560 Mar 11  2015 qxl_drv.so + -m, --mebi          show output in mebibytes 
--rwxr-xr-x. 1 root root  438848 Mar  6  2015 radeon_drv.so + -g, --gibi          show output in gibibytes 
--rwxr-xr-x. 1 root root   24216 Jun  9  2014 v4l_drv.so +     --tebi          show output in tebibytes 
-lrwxrwxrwx. 1 root root      50 Jun  4 15:33 vboxvideo_drv.so -> /usr/lib64/VBoxGuestAdditions/vboxvideo_drv_115.so +     --pebi          show output in pebibytes 
--rwxr-xr-x. 1 root root   28936 Jun 10  2014 vesa_drv.so + -h, --human         show human-readable output 
--rwxr-xr-x. 1 root root  162008 Mar  6  2015 vmware_drv.so+     --si            use powers of 1000 not 1024 
 + -l, --lohi          show detailed low and high memory statistics 
 + -t, --total         show total for RAM + swap 
 + -s N, --seconds N   repeat printing every N seconds 
 + -c N, --count N     repeat printing N times, then exit 
 + -w, --wide          wide output
  
-/usr/lib64/xorg/modules/extensions: +     --help     display this help and exit 
-total 296 + -V, --version  output version information and exit
--rwxr-xr-x. 1 root root 302520 Apr 10  2015 libglx.so+
  
-/usr/lib64/xorg/modules/input: +For more details see free(1).
-total 276 +
--rwxr-xr-x. 1 root root  58776 Jun 10  2014 evdev_drv.so +
--rwxr-xr-x. 1 root root  70464 Mar  6  2015 synaptics_drv.so +
--rwxr-xr-x. 1 root root  20144 Jun 10  2014 vmmouse_drv.so +
--rwxr-xr-x. 1 root root  11440 Jun 10  2014 void_drv.so +
--rwxr-xr-x. root root 113864 Jun 10  2014 wacom_drv.so+
 </code> </code>
  
-Sous RHEL/CentOS 7 les paquets X.orgX11 installés peuvent être trouvés en utilisant la commande suivante :+====3.2 - Les Commandes uptime et w==== 
 + 
 +Chacune des ces commandes indique la charge moyenne du ou des processeurs depuis 1 minute, 5 minutes et 15 minutes :
  
 <code> <code>
-[root@centos7 ~]# rpm -qa | grep xorg +[root@centos8 ~]# uptime 
-xorg-x11-drv-intel-2.99.916-5.el7.x86_64 + 04:39:03 up 1 day,  2:34,  user,  load average: 0.00, 0.00, 0.00 
-xorg-x11-fonts-Type1-7.5-9.el7.noarch +  
-abrt-addon-xorg-2.1.11-19.el7.centos.0.3.x86_64 +[root@centos8 ~]# w 
-xorg-x11-utils-7.5-13.1.el7.x86_64 + 04:39:04 up 1 day,  2:34,  user,  load average: 0.00, 0.00, 0.00 
-xorg-x11-drv-void-1.4.0-23.el7.x86_64 +USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT 
-xorg-x11-drv-dummy-0.3.6-15.el7.x86_64 +trainee  pts/   10.0.2.1         03:58    0.00s  0.11s  0.02s sshd: trainee [priv]
-xorg-x11-drv-fbdev-0.4.3-15.el7.x86_64 +
-xorg-x11-drv-evdev-2.8.2-5.el7.x86_64 +
-xorg-x11-glamor-0.6.0-2.20140918git347ef4f.el7.x86_64 +
-xorg-x11-drv-qxl-0.1.1-12.el7.x86_64 +
-xorg-x11-server-utils-7.7-4.el7.x86_64 +
-xorg-x11-drivers-7.7-6.el7.x86_64 +
-xorg-x11-drv-modesetting-0.8.0-13.el7.x86_64 +
-xorg-x11-xinit-1.3.2-14.el7.x86_64 +
-xorg-x11-drv-ati-7.4.0-1.20140918git56c7fb8.el7.x86_64 +
-xorg-x11-xauth-1.0.7-6.1.el7.x86_64 +
-xorg-x11-drv-vesa-2.3.2-14.el7.x86_64 +
-xorg-x11-font-utils-7.5-18.1.el7.x86_64 +
-xorg-x11-server-common-1.15.0-33.el7_1.x86_64 +
-xorg-x11-drv-vmware-13.0.2-1.el7.x86_64 +
-xorg-x11-drv-vmmouse-13.0.0-10.el7.x86_64 +
-xorg-x11-server-Xorg-1.15.0-33.el7_1.x86_64 +
-xorg-x11-drv-wacom-0.23.0-6.el7.x86_64 +
-xorg-x11-drv-nouveau-1.0.10-5.el7.x86_64 +
-xorg-x11-drv-synaptics-1.7.1-13.el7.x86_64 +
-xorg-x11-xkb-utils-7.7-9.1.el7.x86_64 +
-xorg-x11-drv-v4l-0.2.0-35.el7.x86_64+
 </code> </code>
  
-====Démarrage et Arrêt====+Les valeurs **load average** ou //charge moyenne// indiquent le nombre moyen de processus en cours de traitement ou en attente pour la période concernée.
  
-Les distributions RHEL ont historiquement utilisés les niveaux d'exécution pour démarrer et arrêter le serveur X. Les distributions Debian n'utilisaient pas le système de niveaux d'exécution. Dans ce cas, le serveur X est arrêté avec le script **/etc/init.d/xdm** ( ou kdm ou gdm3 selon le cas ) en passant l'option **stop** et démarrer avec l'option **start**.+Par exemple si les valeurs sur un système muni d'un seul processeur étaient **3,48  4,00  3,85** ceci indiquerait que le processeur a du mal à traiter les processus mettant en moyenne :
  
-====Utilisation====+  * 2,48 processus en attente dans la dernière minute, 
 +  * 3,00 processus en attente dans les dernières 5 minutes, 
 +  * 2,85 processus en attente dans les dernières 15 minutes.
  
-Pour interagir avec et contrôler X.orgX11, un utilisateur dispose de plusieurs raccourcis claviers :+Les options de ces commandes sont :
  
-^ Raccourci  ^ Action ^ +<code
-<key>Ctrl</key>-<key>Alt</key>-<key>Retour arrière</key> | La session X est terminée et la boîte de connexion est affichée. | +[root@centos8 ~]# uptime --help
-| <key>Ctrl</key>-<key>Alt</key>-<key>Plus</key> | La résolution suivante dans la liste des celles admises est utilisée. | +
-| <key>Ctrl</key>-<key>Alt</key>-<key>Moins</key> | La résolution précédente dans la liste des celles admises est utilisée. |+
  
-====Configuration====+Usage: 
 + uptime [options] 
 + 
 +Options: 
 + -p, --pretty   show uptime in pretty format 
 + -h, --help     display this help and exit 
 + -s, --since    system up since 
 + -V, --version  output version information and exit 
 + 
 +For more details see uptime(1). 
 + 
 +[root@centos8 ~]# w --help 
 + 
 +Usage: 
 + w [options] 
 + 
 +Options: 
 + -h, --no-header     do not print header 
 + -u, --no-current    ignore current process username 
 + -s, --short         short format 
 + -f, --from          show remote hostname field 
 + -o, --old-style     old style output 
 + -i, --ip-addr       display IP address instead of hostname (if possible) 
 + 
 +     --help     display this help and exit 
 + -V, --version  output version information and exit 
 + 
 +For more details see w(1). 
 +</code> 
 + 
 +====3.3 - La Commande iostat==== 
 + 
 +La commande **iostat** affiche des statistiques sur l'utilisation des disques, des terminaux et des lecteurs de cartouche : 
 + 
 +<code> 
 +[root@centos8 ~]# iostat 
 +bash: iostat: command not found... 
 +Install package 'sysstat' to provide command 'iostat'? [N/y] y 
 + 
 + 
 + * Waiting in queue...  
 +The following packages have to be installed: 
 + lm_sensors-libs-3.4.0-22.20180522git70f7e08.el8.x86_64 Lm_sensors core libraries 
 + sysstat-11.7.3-5.el8.x86_64    Collection of performance monitoring tools for Linux 
 +Proceed with changes? [N/y] y 
 + 
 + 
 + * Waiting in queue...  
 + * Waiting for authentication...  
 + * Waiting in queue...  
 + * Downloading packages...  
 + * Requesting data...  
 + * Testing changes...  
 + * Installing packages...  
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_(8 CPU) 
 + 
 +avg-cpu:  %user   %nice %system %iowait  %steal   %idle 
 +           0.03    0.00    0.03    0.01    0.00   99.93 
 + 
 +Device             tps    kB_read/   kB_wrtn/   kB_read    kB_wrtn 
 +sda               0.28         7.67         1.49     735338     142510 
 +sdb               0.00         0.03         0.00       2995          0 
 +scd0              0.00         0.00         0.00          2          0 
 +dm-0              0.26         7.25         1.55     694786     148837 
 +dm-1              0.00         0.02         0.00       2220          0 
 +</code> 
 + 
 +Au-dessous de la première ligne indiquant la version du noyau du système et son nom d'hôte ainsi que la date actuelle, iostat affiche une vue d'ensemble de l'utilisation CPU moyenne du système depuis le dernier démarrage. Le rapport d'utilisation du CPU inclut les pourcentages suivants : 
 + 
 +  * **%user** - Pourcentage de temps passé en mode utilisateur (exécutant des applications, etc.) 
 +  * **%nice** - Pourcentage de temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l'aide de la commande nice) 
 +  * **%system** - Pourcentage de temps passé en mode noyau 
 +  * **%steal** - Pourcentage du temps passé par des CPU virtuels en attendant que l'hyperviseur s'occupe d'un autre CPU virtuel. 
 +  * **%iowait** - Pourcentage du temps passé à attendre les entrées et les sorties des disques. 
 +  * **%idle** - Pourcentage de temps passé en inactivité 
 + 
 +Notez la valeur de **%iowait**. Dans le cas où ce pourcentage est trop élévé, ceci indique que le processeur passe son temps à attendre les entrées et les sorties de disque. 
 + 
 +Au-dessous du rapport d'utilisation du CPU de la sortie de la commande **iostat** figure le rapport d'utilisation des périphériques. Ce dernier contient une ligne pour chaque périphérique disque du système et inclut les informations suivantes : 
 + 
 +  * La spécification du périphérique. 
 +  * Le nombre de transferts (ou opérations d'E/S) par seconde. 
 +  * Le nombre de blocs de KB lus par seconde. 
 +  * Le nombre de blocs de KB écrits par seconde. 
 +  * Le nombre total de KB lus. 
 +  * Le nombre total de KB écrits. 
 +   
 +Dernièrement, pour voir les statistiques étendues des disques, utilisez la commande suivante : 
 + 
 +<code> 
 +[root@centos8 ~]# iostat -d -x 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        30/06/21        _x86_64_        (8 CPU) 
 + 
 +Device            r/s     w/    rkB/    wkB/  rrqm/  wrqm/ %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util 
 +sda              0.20    0.16     11.67      1.81     0.00     0.03   0.48  17.45    6.79   69.99   0.01    58.28    11.33   9.13   0.33 
 +sdb              0.00    0.00      0.02      0.00     0.00     0.00   0.00   0.00    0.13    0.00   0.00     8.81     0.00   0.51   0.00 
 +scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.20    0.00   0.00     0.20     0.00   0.90   0.00 
 +dm-0             0.12    0.19      3.98      1.90     0.00     0.00   0.00   0.00    4.18   79.07   0.02    32.88    10.07  10.34   0.32 
 +dm-1             0.00    0.00      0.01      0.00     0.00     0.00   0.00   0.00    0.76    0.00   0.00    21.35     0.00   0.68   0.00 
 +</code> 
 + 
 +Les options de cette commande sont : 
 + 
 +<code> 
 +[root@centos8 ~]# iostat --help 
 +Usage: iostat [ options ] [ <interval> [ <count> ] ] 
 +Options are: 
 +[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] 
 +[ -j { ID | LABEL | PATH | UUID | ... } ] [ --human ] [ -o JSON ] 
 +[ [ -H ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ] 
 +[ <device> [...] | ALL ] 
 +</code> 
 + 
 +====3.4 - La Commande hdparm==== 
 + 
 +Pour surveiller la vitesse des entrées et des sorties du disque, vous pouvez utiliser la commande **hdparm** : 
 + 
 +<code> 
 +[root@centos8 ~]# hdparm -t /dev/sda 
 + 
 +/dev/sda: 
 + Timing buffered disk reads: 1410 MB in  3.00 seconds = 469.98 MB/sec 
 +</code> 
 + 
 +====3.5 - La Commande vmstat==== 
 + 
 +La commande **vmstat** affiche des statistiques sur la mémoire, la pagination et la charge ponctuelle du processeur : 
 + 
 +<code> 
 +[root@centos8 ~]# vmstat 1 10 
 +procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- 
 +  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 
 +  0      0 1765216   2256 866336    0    0            9   12  0  0 100  0  0 
 +  0      0 1765136   2256 866336    0    0           57   80  0  0 100  0  0 
 +  0      0 1765136   2256 866376    0    0           54   77  0  0 100  0  0 
 +  0      0 1765136   2256 866376    0    0           66  100  0  0 100  0  0 
 +  0      0 1765136   2256 866376    0    0          103  125  0  0 100  0  0 
 +  0      0 1765108   2256 866376    0    0           64   86  0  0 100  0  0 
 +  0      0 1765108   2256 866376    0    0           62   88  0  0 100  0  0 
 +  0      0 1765108   2256 866376    0    0           68   97  0  0 100  0  0 
 +  0      0 1765108   2256 866376    0    0           60   88  0  0 100  0  0 
 +  0      0 1765108   2256 866376    0    0          177  251  0  0 100  0  0 
 +</code> 
 + 
 +La première ligne subdivise le champ en six catégories à savoir : processus, mémoire, swap, E/S, système et CPU sur lesquelles elle donne des statistiques. La seconde ligne identifie de manière encore plus détaillée chacun des champs, permettant ainsi de parcourir simplement et rapidement l'ensemble des données lors de la recherche de statistiques spécifiques. 
 + 
 +Les champs relatifs aux processus sont les suivants : 
 + 
 +  * r — Le nombre de processus exécutables attendant d'avoir accès au CPU 
 +  * b — Le nombre de processus exécutables dans un état de veille qui ne peut être interrompu 
 + 
 +Les champs relatifs à la mémoire sont les suivants : 
 + 
 +  * swpd — La quantité de mémoire virtuelle utilisée 
 +  * free — La quantité de mémoire libre 
 +  * buff — La quantité de mémoire utilisée par les tampons (ou buffers) 
 +  * cache — La quantité de mémoire utilisée comme cache de pages 
 + 
 +Les champs relatifs au swap sont les suivants : 
 + 
 +  * si — La quantité de mémoire chargée depuis le disque 
 +  * so — La quantité de mémoire déchargée sur le disque 
 + 
 +Les champs relatifs aux Entrées/Sorties (E/S) sont les suivants : 
 + 
 +  * bi — Blocs envoyés vers un périphérique blocs 
 +  * bo— Blocs reçus d'un périphérique blocs  
 + 
 +Les champs relatifs au système sont les suivants : 
 + 
 +  * in — Nombre d'interruptions par seconde 
 +  * cs — Nombre de changements de contexte par seconde 
 + 
 +Les champs relatifs au CPU sont les suivants : 
 + 
 +  * us — Le pourcentage de temps pendant lequel le CPU exécute un code de niveau utilisateur 
 +  * sy — Le pourcentage de temps pendant lequel le CPU exécute un code de niveau système 
 +  * id — Le pourcentage de temps pendant lequel le CPU était inoccupé 
 +  * wa — Attente d'E/
 + 
 +Les options de cette commande sont : 
 + 
 +<code> 
 +[root@centos8 ~]# vmstat --help 
 + 
 +Usage: 
 + vmstat [options] [delay [count]] 
 + 
 +Options: 
 + -a, --active           active/inactive memory 
 + -f, --forks            number of forks since boot 
 + -m, --slabs            slabinfo 
 + -n, --one-header       do not redisplay header 
 + -s, --stats            event counter statistics 
 + -d, --disk             disk statistics 
 + -D, --disk-sum         summarize disk statistics 
 + -p, --partition <dev>  partition specific statistics 
 + -S, --unit <char>      define display unit 
 + -w, --wide             wide output 
 + -t, --timestamp        show timestamp 
 + 
 + -h, --help     display this help and exit 
 + -V, --version  output version information and exit 
 + 
 +For more details see vmstat(8). 
 +</code>
  
-<WRAP center round important> +<WRAP center round important 60%
-**Important** : Notez que X.orgX11 s'auto-configure. Il est rarement nécessaire de configurer X.orgX11 manuellement. Par contre il est toujours possible de créer le fichier **/etc/X11/xorg.conf** dans le cas où l'auto-configuration ne donne pas de résultats satisfaisants.+**Important** : Par défaut la commande vmstat affiche des informations depuis le démarrage du système.
 </WRAP> </WRAP>
  
-Un fichier de configuration **/etc/X11/xorg.conf** prend la forme suivante :+====3.6 - La Commande mpstat====
  
-<file> +La commande **mpstat** affiche des statistiques détaillées sur le CPU :
-Section "Monitor" +
-  Identifier   "Monitor[0]" +
-  ModelName    "VirtualBox Virtual Output" +
-  VendorName   "Oracle Corporation" +
-EndSection+
  
-Section "Device" +<code> 
-  BoardName    "VirtualBox Graphics" +[root@centos8 ~]# mpstat 
-  Driver       "vboxvideo" +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_(8 CPU)
-  Identifier   "Device[0]" +
-  VendorName   "Oracle Corporation" +
-EndSection+
  
-Section "Screen" +04:53:22     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 
-  SubSection "Display" +04:53:22     all    0.03    0.00    0.01    0.02    0.01    0.01    0.00    0.00    0.00   99.92 
-    Depth      24 +</code>
-  EndSubSection +
-  Device       "Device[0]" +
-  Identifier   "Screen[0]" +
-  Monitor      "Monitor[0]" +
-EndSection +
-</file>+
  
-Des applications tierces peuvent déposer des fichiers de configuration qui leur sont propres dans le répertoire **/usr/share/X11/xorg.conf.d/** :+Dans le cas où vous avez plusieurs processeurs ou coeurs, vous pouvez visualiser ces mêmes informations par unité de traitement :
  
 <code> <code>
-[root@centos7 ~]# ls -/usr/share/X11/xorg.conf.d+[root@centos8 ~]# mpstat -P ALL 
-total 24 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_(8 CPU) 
--rw-r--r--. 1 root root 1099 Apr 10  2015 10-evdev.conf + 
--rw-r--r--. 1 root root 1867 Apr 10  2015 10-quirks.conf +04:54:28     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 
--rw-r--r--. 1 root root 1704 Mar  6  2015 50-synaptics.conf +04:54:28     all    0.03    0.00    0.01    0.02    0.01    0.01    0.00    0.00    0.00   99.92 
--rw-r--r--. 1 root root  115 Jun 10  2014 50-vmmouse.conf +04:54:28          0.03    0.00    0.01    0.00    0.01    0.00    0.00    0.00    0.00   99.94 
--rw-r--r--. 1 root root  835 Jun 10  2014 50-wacom.conf +04:54:28          0.02    0.00    0.02    0.03    0.02    0.00    0.00    0.00    0.00   99.91 
--rw-r--r--. root root   61 Mar  6  2015 glamor.conf+04:54:28          0.02    0.00    0.01    0.01    0.01    0.04    0.00    0.00    0.00   99.90 
 +04:54:28          0.01    0.00    0.01    0.02    0.00    0.00    0.00    0.00    0.00   99.95 
 +04:54:28          0.05    0.00    0.02    0.03    0.01    0.00    0.00    0.00    0.00   99.88 
 +04:54:28          0.03    0.01    0.01    0.02    0.01    0.00    0.00    0.00    0.00   99.92 
 +04:54:28          0.02    0.00    0.02    0.01    0.01    0.00    0.00    0.00    0.00   99.95 
 +04:54:28          0.02    0.00    0.01    0.01    0.01    0.00    0.00    0.00    0.00   99.94 
 +</code> 
 + 
 +Pour afficher 5 jeux de statistiques à des intervales de 2 secondes pour tous les unités de traitement, il convient d'utiliser la commande suivante : 
 + 
 +<code> 
 +[root@centos8 ~]# mpstat -P ALL 2 5 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_        (8 CPU) 
 + 
 +04:55:11     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 
 +04:55:13     all    0.00    0.00    0.00    0.00    0.00    0.00    0.06    0.00    0.00   99.94 
 +04:55:13          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:13          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:13          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:13          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:13          0.00    0.00    0.00    0.00    0.00    0.00    0.50    0.00    0.00   99.50 
 +04:55:13          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:13          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:13          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 + 
 +04:55:13     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 
 +04:55:15     all    0.00    0.00    0.00    0.00    0.06    0.00    0.00    0.00    0.00   99.94 
 +04:55:15          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:15          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:15          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:15          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:15          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:15          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:15          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:15          0.00    0.00    0.00    0.00    0.50    0.00    0.00    0.00    0.00   99.50 
 + 
 +04:55:15     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 
 +04:55:17     all    0.00    0.00    0.00    0.00    0.06    0.00    0.00    0.00    0.00   99.94 
 +04:55:17          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:17          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:17          0.00    0.00    0.00    0.00    0.50    0.00    0.00    0.00    0.00   99.50 
 +04:55:17          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:17          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:17          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:17          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:17          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 + 
 +04:55:17     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 
 +04:55:19     all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:19          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:19          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:19          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:19          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:19          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:19          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:19          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:19          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 + 
 +04:55:19     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 
 +04:55:21     all    0.06    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.94 
 +04:55:21          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:21          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:21          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:21          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:21          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:21          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:21          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +04:55:21          0.50    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.50 
 + 
 +Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 
 +Average:     all    0.01    0.00    0.00    0.00    0.02    0.00    0.01    0.00    0.00   99.95 
 +Average:          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +Average:          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +Average:          0.00    0.00    0.00    0.00    0.10    0.00    0.00    0.00    0.00   99.90 
 +Average:          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +Average:          0.00    0.00    0.00    0.00    0.00    0.00    0.10    0.00    0.00   99.90 
 +Average:          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +Average:          0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00 
 +Average:          0.10    0.00    0.00    0.00    0.10    0.00    0.00    0.00    0.00   99.80 
 +</code> 
 + 
 +Les options de cette commande sont : 
 + 
 +<code> 
 +[root@centos8 ~]# mpstat --help 
 +Usage: mpstat [ options ] [ <interval> [ <count> ] ] 
 +Options are: 
 +-A ] [ -n ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ] 
 +[ -N { <node_list> | ALL } ] [ -o JSON ] [ -P { <cpu_list> | ALL } ] 
 +</code> 
 + 
 +====3.7 - La Commande sar==== 
 + 
 +La commande **sar** (**S**ystem **A**ctivity **R**eporter) permet de surveiller toutes les ressources du système selon l'option qui est passée en argument à la commande.  
 + 
 +Sous RHEL/CentOS 8 la commande **/usr/lib64/sa/sadc** permet de collecter les informations : 
 + 
 +<code> 
 +[root@centos8 ~]# ls /usr/lib64/sa 
 +sa1  sa2  sadc 
 +</code> 
 + 
 +Le script **/usr/lib64/sa/sa1** exécute la commande **sadc**Ce script prend deux options : 
 + 
 +^ Option ^ Description ^ 
 +-t | L'intervalle entre les collectes | 
 +-n | Nombre de collectes | 
 + 
 +Le script **/usr/lib64/sa/sa2** exécute la commande **sar** et consigne les informations dans un fichier au format **/var/log/sa/sar<jj>** : 
 + 
 +<code> 
 +[root@centos8 ~]# ls /var/log/sa/ 
 +sa29  s 
 + 
 + 
 +ar29 
 +</code> 
 + 
 +Sous CentOS / RHEL 8, l'intervalle entre les collectes des informations est configuré par les **timers** de systemd au lieu des cron jobs : 
 + 
 +<code> 
 +[root@centos8 ~]# cat /usr/lib/systemd/system/sysstat-collect.timer 
 +# /usr/lib/systemd/system/sysstat-collect.timer 
 +# (C) 2014 Tomasz Torcz <tomek@pipebreaker.pl> 
 +
 +# sysstat-11.7.3 systemd unit file: 
 +#        Activates activity collector every 10 minutes 
 + 
 +[Unit] 
 +Description=Run system activity accounting tool every 10 minutes 
 + 
 +[Timer] 
 +OnCalendar=*:00/10 
 + 
 +[Install] 
 +WantedBy=sysstat.service 
 +</code> 
 + 
 +La valeur de **OnCalendar** indique un collecte toutes les dix minutes. 
 + 
 +Pour modifier l'intervalle entre les collectes, il faut créer un fichier **override** dans le répertoire **/etc/systemd/system/** en utilisant la commande **systemctl edit**. En effet, il ne faut jamais éditer les fichiers dans le répertoire **/usr/lib/systemd/system** : 
 + 
 +<code> 
 +[root@centos8 ~]# systemctl edit sysstat-collect.timer 
 +[root@centos8 ~]# cat /etc/systemd/system/sysstat-collect.timer.d/override.conf  
 +[Unit] 
 +Description=Run system activity accounting tool every 2 minutes 
 + 
 +[Timer] 
 +OnCalendar= 
 +OnCalendar=*:00/
 +AccuracySec=0
 </code> </code>
  
-<WRAP center round important> +<WRAP center round important 60%
-**Important** : Les fichiers dans le répertoire **xorg.conf.d** sont numérotés. L'ordre de prise en compte des fichiers de configuration suit la numérotation. Le fichier xorg.conf lui-même est interprété en **dernier**.+**Important** : Notez la ligne **OnCalendar=** qui est necessaire afin de surcharger la valeur par défaut.
 </WRAP> </WRAP>
  
-Les fichiers de configuration contiennent des sections. Chaque section commence par une directive **Section** :+Vérifiez ensuite la prise en compte de la configuration :
  
-<file+<code
-Section "Nom" +[root@centos8 ~]# systemctl status sysstat-collect.timer 
-... +● sysstat-collect.timer - Run system activity accounting tool every 2 minutes 
-</file>+   Loaded: loaded (/usr/lib/systemd/system/sysstat-collect.timer; enabled; vendor preset: disabled) 
 +  Drop-In: /etc/systemd/system/sysstat-collect.timer.d 
 +           └─override.conf 
 +   Active: active (waiting) since Tue 2021-06-29 06:16:04 EDT; 3h 2min ago 
 +  Trigger: Tue 2021-06-29 09:20:00 EDT; 1min 19s left
  
-et se termine par une directive **EndSection** :+Jun 29 06:16:04 centos8.ittraining.loc systemd[1]: Started Run system activity accounting tool every 10 minutes. 
 +</code>
  
-<file>+<code> 
 +[root@centos8 ~]# journalctl -g sysstat-collect.service 
 +-- Logs begin at Mon 2021-06-28 02:04:10 EDT, end at Tue 2021-06-29 09:18:00 EDT. -- 
 +Jun 29 06:20:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 06:26:29 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 06:30:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 06:40:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 06:50:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:00:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:10:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:20:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:30:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:40:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:50:33 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:53:56 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:54:00 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:56:00 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 07:58:00 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded. 
 +Jun 29 08:00:00 centos8.ittraining.loc systemd[1]: sysstat-collect.service: Succeeded.
 ... ...
-EndSection +</code>
-</file>+
  
-Dans chaque section se trouvent des lignes comprennant une **Option** suivi d'une ou de plusieurs **Valeurs** :+Saisissez la commande suivante :
  
-<file+<code
-  Identifier   "Monitor[0]" +[root@centos8 ~]# sar 
-</file>+Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_        (8 CPU)
  
-<WRAP center round important> +06:16:04     LINUX RESTART      (8 CPU)
-**A faire** Notez que la valeur est entourée de ". +
-</WRAP>+
  
-Certaines options sont des booléenesLes valeurs admises sont :+06:20:33        CPU     %user     %nice   %system   %iowait    %steal     %idle 
 +06:26:29        all      0.03      0.00      0.03      0.00      0.00     99.94 
 +06:30:33        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +06:40:33        all      0.02      0.00      0.03      0.00      0.00     99.94 
 +06:50:33        all      0.02      0.00      0.02      0.00      0.00     99.95 
 +07:00:33        all      0.02      0.00      0.02      0.00      0.00     99.95 
 +07:10:33        all      0.02      0.00      0.02      0.00      0.00     99.95 
 +07:20:33        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +07:30:33        all      0.02      0.01      0.03      0.00      0.00     99.94 
 +07:40:33        all      0.03      0.00      0.04      0.00      0.00     99.93 
 +07:50:33        all      0.03      0.00      0.03      0.00      0.00     99.94 
 +07:53:56        all      0.08      0.00      0.06      0.00      0.00     99.86 
 +07:54:00        all      0.09      0.00      0.06      0.00      0.00     99.85 
 +Average:        all      0.03      0.00      0.03      0.00      0.00     99.94
  
-  * **Vrai** 1, on, true, yes, +07:55:44     LINUX RESTART      (8 CPU)
-  * **Faux** 0, off, false, no.+
  
-===La Section ServerFlags===+07:56:00        CPU     %user     %nice   %system   %iowait    %steal     %idle 
 +07:58:00        all      0.03      0.00      0.03      0.00      0.00     99.94 
 +08:00:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:02:00        all      0.02      0.00      0.03      0.00      0.00     99.94 
 +08:04:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +08:06:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +08:08:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:10:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +08:12:00        all      0.03      0.00      0.03      0.00      0.00     99.95 
 +08:14:00        all      0.02      0.00      0.03      0.01      0.00     99.94 
 +08:16:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +08:18:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +08:20:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:22:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +08:24:00        all      0.02      0.00      0.02      0.00      0.00     99.95 
 +08:26:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +08:28:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:30:00        all      0.02      0.05      0.05      0.00      0.00     99.87 
 +08:32:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:34:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:36:00        all      0.03      0.00      0.04      0.00      0.00     99.94 
 +08:38:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:40:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:42:00        all      0.02      0.00      0.03      0.00      0.00     99.94 
 +08:44:00        all      0.03      0.00      0.03      0.00      0.00     99.94 
 +08:46:00        all      0.02      0.00      0.03      0.00      0.00     99.94 
 +08:48:00        all      0.03      0.00      0.03      0.00      0.00     99.95 
 +08:50:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:52:00        all      0.02      0.00      0.06      0.00      0.00     99.92 
 +08:54:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +08:56:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +08:58:00        all      0.02      0.00      0.02      0.00      0.00     99.96 
 +09:00:00        all      0.07      0.00      0.05      0.00      0.00     99.88 
 +09:02:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +09:04:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +09:06:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +09:08:00        all      0.02      0.00      0.04      0.00      0.00     99.94 
 +09:10:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +09:12:00        all      0.02      0.00      0.03      0.00      0.00     99.94
  
-Cette section optionnelle contient des directives globalesCependant les valeurs attribuées ici peuvent être modifiées par les valeurs des directives dans la section **ServerLayout**+09:12:00        CPU     %user     %nice   %system   %iowait    %steal     %idle 
 +09:14:00        all      0.02      0.00      0.03      0.00      0.00     99.95 
 +09:16:00        all      0.02      0.00      0.06      0.00      0.00     99.92 
 +09:18:00        all      0.03      0.00      0.03      0.00      0.00     99.95 
 +09:20:00        all      0.02      0.00      0.03      0.00      0.00     99.94 
 +Average:        all      0.02      0.00      0.03      0.00      0.00     99.94 
 +</code>
  
-Un exemple de cette section est :+===Statistiques d'Utilisation du CPU===
  
-<file> +Visualisez maintenant les statistiques d'utilisation du CPU: 
-Section "ServerFlags"        +
- Option "DontZap" "true"       +
-EndSection +
-</file>+
  
-Les directives les plus courantes dans cette section sont :+<code> 
 +[root@centos8 ~]# sar -u 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_        (8 CPU)
  
-^ Directive  ^  Type  ^  Exemple  ^ Description ^ +09:22:52        CPU     %user     %nice   %system   %iowait    %steal     %idle 
-| "DontZap" |  Bouléen  |  True  | Quand la valeur de cette directive est **vrai**, la terminaison de la session X en utilisant les touches <key>Ctrl</key>-<key>Alt</key>-<key>Retour arrière</key> est désactivée| +09:22:57        all      0.03      0.00      0.03      0.00      0.00     99.95 
-| "DontZoom" |  Bouléen  |  True  | Quand la valeur de cette directive est **vrai**, il n'est plus possible de modifier la résolution en utilisant les touches <key>Ctrl</key>-<key>Alt</key>-<key>Plus</key> ou <key>Ctrl</key>-<key>Alt</key>-<key>Moins</key>. |+09:23:02        all      0.03      0.00      0.03      0.00      0.00     99.95 
 +09:23:07        all      0.00      0.00      0.03      0.00      0.00     99.97 
 +Average:        all      0.02      0.00      0.03      0.00      0.00     99.96 
 +</code>
  
-===La Section ServerLayout===+D'avantage de statistiques peuvent être obtenues en utilisant l'option **ALL** :
  
-Cette section regroupe les informations concernant les périphériques en entrée et les périphériques en sortie.+<code> 
 +[root@centos8 ~]# sar -u ALL 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_(8 CPU)
  
-Un exemple de cette section est :+01:49:14        CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest    %gnice     %idle 
 +01:49:19        all      0.03      0.00      0.00      0.00      0.00      0.03      0.00      0.00      0.00     99.95 
 +01:49:24        all      0.03      0.00      0.03      0.00      0.00      0.10      0.05      0.00      0.00     99.80 
 +01:49:29        all      0.00      0.00      0.00      0.25      0.00      0.10      0.05      0.00      0.00     99.60 
 +Average:        all      0.02      0.00      0.01      0.08      0.00      0.08      0.03      0.00      0.00     99.78 
 +</code>
  
-<file> +Pour consulter les statistiques d'un coeur spécifique, utilisez l'option **-P** :
-Section  "ServerLayout"          +
- Identifier     "Default Layout"          +
- Screen      0  "Screen0" 0 0          +
- InputDevice    "Mouse0" "CorePointer"          +
- InputDevice    "Keyboard0" "CoreKeyboard"  +
-EndSection +
-</file>+
  
-Les directives les plus courantes dans cette section sont :+<code> 
 +[root@centos8 ~]# sar -u -P 1 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_        (8 CPU)
  
-^ Directive  ^ Description ^ Commentaires ^ +01:51:52        CPU     %user     %nice   %system   %iowait    %steal     %idle 
-| "Identifier" | Définit un nom unique pour cette entrée dans la sectionS/O | +01:51:57          1      0.00      0.00      0.00      0.00      0.00    100.00 
-| "Screen" | Spécifie l'entrée de la section Screen concernée par l'entrée courante| Le premier indique le premier moniteur connecté à la carte vidéoLes deux derniers indique la position du coins supérieur gauche de l'écran en coordonnées XYPar défaut cette valaur est de 0 0. | +01:52:02          1      0.20      0.00      0.00      0.00      0.00     99.80 
-"InputDevice" Spécifie l'entrée de la section InputDevice concernée par l'entrée courante. | Le terme **Core** indique que c'est le périphérique par défaut. +01:52:07          1      0.00      0.00      0.00      0.00      0.00    100.00 
-"Option" Une section optionnelle Toute option définit ici prend précédence sur une option du même nom dans la section ServerFlags|+Average:          1      0.07      0.00      0.00      0.00      0.00     99.93 
 +[root@centos8 ~]# sar -u -P 5 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_        (8 CPU) 
 + 
 +01:52:16        CPU     %user     %nice   %system   %iowait    %steal     %idle 
 +01:52:21          5      0.00      0.00      0.00      0.00      0.00    100.00 
 +01:52:26          5      0.00      0.00      0.00      0.00      0.00    100.00 
 +01:52:31          5      0.00      0.00      0.00      0.00      0.00    100.00 
 +Average:          5      0.00      0.00      0.00      0.00      0.00    100.00 
 +</code> 
 + 
 +===Statistiques d'Utilisation de la Mémoire et du Swap=== 
 + 
 +Utilisez l'option **-r** pour visualiser les statistiques concernant la mémoire : 
 + 
 +<code> 
 +[root@centos8 ~]# sar -r 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        30/06/21        _x86_64_(8 CPU) 
 + 
 +07:33:32    kbmemfree   kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty 
 +07:33:37      1647240   2297232   2177792     56.94      3356    827396   5096432     70.94    359072   1486368         0 
 +07:33:42      1647232   2297224   2177800     56.94      3356    827396   5095788     70.93    359072   1486300         0 
 +07:33:47      1647232   2297224   2177800     56.94      3356    827396   5095788     70.93    359072   1486376         0 
 +Average:      1647235   2297227   2177797     56.94      3356    827396   5096003     70.94    359072   1486348         0 
 +</code> 
 + 
 +Utilisez l'option **-S** pour visualiser les statistiques concernant le Swap : 
 + 
 +<code> 
 +[root@centos8 ~]# sar -S 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        30/06/21        _x86_64_(8 CPU) 
 + 
 +07:31:58    kbswpfree kbswpused  %swpused  kbswpcad   %swpcad 
 +07:32:03      3358716              0.00              0.00 
 +07:32:08      3358716              0.00              0.00 
 +07:32:13      3358716              0.00              0.00 
 +Average:      3358716              0.00              0.00 
 +</code> 
 + 
 +===Statistiques des E/S=== 
 + 
 +Utilisez l'option **-b** pour visualiser les statistiques concernant les E/S  : 
 + 
 +<code> 
 +[root@centos8 ~]# sar -b 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_        (8 CPU) 
 + 
 +09:24:49          tps      rtps      wtps   bread/  bwrtn/
 +09:24:54         0.00      0.00      0.00      0.00      0.00 
 +09:24:59         1.20      0.00      1.20      0.00     20.20 
 +09:25:04         0.00      0.00      0.00      0.00      0.00 
 +Average:         0.40      0.00      0.40      0.00      6.73 
 +</code> 
 + 
 +===Statistiques des E/S par Disque=== 
 + 
 +Utilisez l'option **-d** pour visualiser les statistiques concernant les E/S par disque : 
 + 
 +<code> 
 +[root@centos8 ~]# sar -d 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        29/06/21        _x86_64_        (8 CPU) 
 + 
 +09:25:45          DEV       tps     rkB/    wkB/  areq-sz    aqu-sz     await     svctm     %util 
 +09:25:50       dev8-     0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:25:50      dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:25:50      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:25:50     dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:25:50     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 + 
 +09:25:50          DEV       tps     rkB/    wkB/  areq-sz    aqu-sz     await     svctm     %util 
 +09:25:55       dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:25:55      dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:25:55      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:25:55     dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:25:55     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 + 
 +09:25:55          DEV       tps     rkB/    wkB/  areq-sz    aqu-sz     await     svctm     %util 
 +09:26:00       dev8-0      0.60      0.00      0.30      0.50      0.01     13.00     13.00      0.78 
 +09:26:00      dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:26:00      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +09:26:00     dev253-0      0.60      0.00      0.50      0.83      0.01     12.67     13.00      0.78 
 +09:26:00     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 + 
 +Average:          DEV       tps     rkB/    wkB/  areq-sz    aqu-sz     await     svctm     %util 
 +Average:       dev8-0      0.20      0.00      0.10      0.50      0.00     13.00     13.00      0.26 
 +Average:      dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +Average:      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +Average:     dev253-0      0.20      0.00      0.17      0.83      0.00     12.67     13.00      0.26 
 +Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +</code> 
 + 
 +La colonne **DEV** indentifie les disques par leurs majeurs et mineurs. Pour voir les informations avec les noms des disques, ajoutez l'option **-p** : 
 + 
 +<code> 
 +[root@centos8 ~]# sar -p -d 5 3 
 +Linux 4.18.0-305.3.1.el8.x86_64 (centos8.ittraining.loc)        30/06/21        _x86_64_        (8 CPU) 
 + 
 +07:48:32          DEV       tps     rkB/    wkB/  areq-sz    aqu-sz     await     svctm     %util 
 +07:48:37          sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:37          sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:37          sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:37    cl_centos8-root      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:37    cl_centos8-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 + 
 +07:48:37          DEV       tps     rkB/    wkB/  areq-sz    aqu-sz     await     svctm     %util 
 +07:48:42          sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:42          sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:42          sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:42    cl_centos8-root      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:42    cl_centos8-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 + 
 +07:48:42          DEV       tps     rkB/    wkB/  areq-sz    aqu-sz     await     svctm     %util 
 +07:48:47          sda      0.40      0.00      0.40      1.00      0.02     56.00     56.50      2.26 
 +07:48:47          sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:47          sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +07:48:47    cl_centos8-root      0.40      0.00      0.80      2.00      0.02     56.00     56.50      2.26 
 +07:48:47    cl_centos8-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 + 
 +Average:          DEV       tps     rkB/    wkB/  areq-sz    aqu-sz     await     svctm     %util 
 +Average:          sda      0.13      0.00      0.13      1.00      0.01     56.00     56.50      0.75 
 +Average:          sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +Average:          sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +Average:    cl_centos8-root      0.13      0.00      0.27      2.00      0.01     56.00     56.50      0.75 
 +Average:    cl_centos8-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 +</code> 
 + 
 +Les options de la commande sar sont : 
 + 
 +<code> 
 +[root@centos8 ~]# sar --help 
 +Usage: sar [ options ] [ <interval> [ <count> ] ] 
 +Main options and reports (report name between square brackets): 
 +        -B      Paging statistics [A_PAGE] 
 +        -b      I/O and transfer rate statistics [A_IO] 
 +        -d      Block devices statistics [A_DISK] 
 +        -F [ MOUNT ] 
 +                Filesystems statistics [A_FS] 
 +        -H      Hugepages utilization statistics [A_HUGE] 
 +        -I { <int_list> SUM | ALL } 
 +                Interrupts statistics [A_IRQ] 
 +        -m { <keyword> [,...] ALL } 
 +                Power management statistics [A_PWR_...] 
 +                Keywords are: 
 +                CPU     CPU instantaneous clock frequency 
 +                FAN     Fans speed 
 +                FREQ    CPU average clock frequency 
 +                IN      Voltage inputs 
 +                TEMP    Devices temperature 
 +                USB     USB devices plugged into the system 
 +        -n { <keyword> [,...] ALL } 
 +                Network statistics [A_NET_...] 
 +                Keywords are: 
 +                DEV     Network interfaces 
 +                EDEV    Network interfaces (errors) 
 +                NFS     NFS client 
 +                NFSD    NFS server 
 +                SOCK    Sockets (v4) 
 +                IP      IP traffic      (v4) 
 +                EIP     IP traffic      (v4) (errors) 
 +                ICMP    ICMP traffic    (v4) 
 +                EICMP   ICMP traffic    (v4) (errors) 
 +                TCP     TCP traffic     (v4) 
 +                ETCP    TCP traffic     (v4) (errors) 
 +                UDP     UDP traffic     (v4) 
 +                SOCK6   Sockets (v6) 
 +                IP6     IP traffic      (v6) 
 +                EIP6    IP traffic      (v6) (errors) 
 +                ICMP6   ICMP traffic    (v6) 
 +                EICMP6  ICMP traffic    (v6) (errors) 
 +                UDP6    UDP traffic     (v6) 
 +                FC      Fibre channel HBAs 
 +                SOFT    Software-based network processing 
 +        -q      Queue length and load average statistics [A_QUEUE] 
 +        -r [ ALL ] 
 +                Memory utilization statistics [A_MEMORY] 
 +        -S      Swap space utilization statistics [A_MEMORY] 
 +        -u [ ALL ] 
 +                CPU utilization statistics [A_CPU] 
 +        -v      Kernel tables statistics [A_KTABLES] 
 +        -W      Swapping statistics [A_SWAP] 
 +        -w      Task creation and system switching statistics [A_PCSW] 
 +        -y      TTY devices statistics [A_SERIAL] 
 +</code> 
 + 
 +=====Modules usb===== 
 + 
 +L'**USB** (//Universal Serial Bus//) est un bus de données qui peut offrir des taux de transfert jusqu'à 480Mb/s sous la version 2.0 et jusqu'à 4.8 Gb/s sous la version 3.0. Les modules nécessaires pour les contrôleurs USB sont : 
 + 
 +^ Version USB ^ Module ^ Nom Complet ^ 
 + 1.0\1.1  | **UHCI** | //Universal Controller Host Interface// | 
 +|  :::  | **OHCI** | //Open Controller Host Interface// | 
 +|  2.0  | **EHCI** | //Enhanced Host Controller Interface// | 
 +|  3.0  | **XHCI** | //Extensible Host Controller Interface// | 
 + 
 +Le tableau suivant liste les modules courrament chargés en fonction du périphérique utilisé : 
 + 
 +^ Module ^ Type de Périphérique ^  
 +|  **usb_storage**  | Supports de masse | 
 +|  **usbhid**  | Periphériques HID (//Human Interface Device//) | 
 +|  **snd-usb-audio**  | Cartes son usb | 
 +|  **usbvidéo**  | Cartes vidéo et d'acquisition 
 + **irda-usb**  Périphériques infrarouges | 
 +|  **usbnet**  | Cartes réseaux usb | 
 + 
 +Les modules peuvent être chargés par un des moyens suivants : 
 + 
 +  * INITrd, 
 +  * Le processus init (systemd), 
 +  * kmod, d'une manière dynamique et transparente lors du branchement du périphérique, 
 +  * udev, 
 +  * manuellement. 
 + 
 +=====udev===== 
 + 
 +Depuis le noyau Linux 2.6 Linux est capable de détecter des périphériques branchés à chaud. Cette technologie s'appelle le **//hotplugging//**. Le //hotplugging// est obtenu grâce à l'utilisation de trois composants : 
 + 
 +  * Udev, 
 +  * HAL, 
 +  * Dbus. 
 + 
 +Les rôles de chaque composant sont les suivants : 
 + 
 +  * Udev se charge de créer et supprimer d'une manière dynamique les nœuds dans le répertoire **/dev**, 
 +  * HAL obtient des informations à partir d'Udev et créé un fichier au format XML représentant le périphérique branché. Il informe ensuite Nautilus en utilisant le Dbus, 
 +  * Dbus joue le rôle d'un bus système qui est utilisé pour la communication inter-processus. 
 + 
 +Lors de démarrage de Linux, Udev joue un rôle important : 
 + 
 +  * Au démarrage **tmpfs** est monté sur /dev, 
 +  * Udev copie les éventuels nœuds statiques de **/lib/udev/devices** vers /dev, 
 +  * le démon **udevd** collecte des données appelées **uevents** du noyau et cherche une règle correspondante dans le répertoire **/lib/udev/rules.d/**, 
 +  * Udev crée les nœuds et liens symboliques spécifiés dans la règle identifiée, 
 +  * Udev stocke les règles contenues dans **/lib/udev/rules.d/*.rules** en mémoire, 
 +  * En cas de modification des ces règles, Udev met à jour la mémoire. 
 + 
 +Udev repose sur le filesystem **sysfs** monté sur /sys qui permet de rendre les périphériques visibles à Udev dans l'//User Space//. Par exemple, lors du branchement d'une clé USB, Udev crée **/dev/sdb1** automatiquement et utilise les informations contenues dans le fichier **/lib/modules/`uname -r`/modules.alias** pour trouver le pilote nécessaire : 
 + 
 +Le fichier de configuration principal d'Udev est **/etc/udev/udev.conf** : 
 + 
 +<code> 
 +[root@centos8 ~]# cat /etc/udev/udev.conf 
 +# see udev.conf(5) for details 
 +
 +# udevd is also started in the initrd.  When this file is modified you might 
 +# also want to rebuild the initrd, so that it will include the modified configuration. 
 + 
 +#udev_log="info" 
 +</code> 
 + 
 +Les fichiers de règles se trouvent dans **/lib/udev/rules.d/** : 
 + 
 +<code> 
 +[root@centos8 ~]# ls /lib/udev/rules.d/ 
 +01-md-raid-creating.rules              70-uaccess.rules 
 +10-dm.rules                            70-wacom.rules 
 +11-dm-lvm.rules                        71-biosdevname.rules 
 +11-dm-mpath.rules                      71-nvmf-iopolicy-netapp.rules 
 +11-dm-parts.rules                      71-prefixdevname.rules 
 +13-dm-disk.rules                       71-seat.rules 
 +39-usbmuxd.rules                       73-idrac.rules 
 +40-elevator.rules                      73-seat-late.rules 
 +40-libgphoto2.rules                    75-net-description.rules 
 +40-redhat.rules                        75-probe_mtd.rules 
 +40-usb-blacklist.rules                 75-rdma-description.rules 
 +40-usb_modeswitch.rules                77-mm-cinterion-port-types.rules 
 +50-udev-default.rules                  77-mm-dell-port-types.rules 
 +60-alias-kmsg.rules                    77-mm-ericsson-mbm.rules 
 +60-block.rules                         77-mm-fibocom-port-types.rules 
 +60-cdrom_id.rules                      77-mm-haier-port-types.rules 
 +60-drm.rules                           77-mm-huawei-net-port-types.rules 
 +60-evdev.rules                         77-mm-longcheer-port-types.rules 
 +60-fido-id.rules                       77-mm-mtk-port-types.rules 
 +60-input-id.rules                      77-mm-nokia-port-types.rules 
 +60-libfprint-2-autosuspend.rules       77-mm-pcmcia-device-blacklist.rules 
 +60-net.rules                           77-mm-quectel-port-types.rules 
 +60-persistent-alsa.rules               77-mm-sierra.rules 
 +60-persistent-input.rules              77-mm-simtech-port-types.rules 
 +60-persistent-storage.rules            77-mm-telit-port-types.rules 
 +60-persistent-storage-tape.rules       77-mm-ublox-port-types.rules 
 +60-persistent-v4l.rules                77-mm-usb-device-blacklist.rules 
 +60-raw.rules                           77-mm-usb-serial-adapters-greylist.rules 
 +60-rdma-ndd.rules                      77-mm-x22x-port-types.rules 
 +60-rdma-persistent-naming.rules        77-mm-zte-port-types.rules 
 +60-sensor.rules                        78-sound-card.rules 
 +60-serial.rules                        80-drivers.rules 
 +60-tpm-udev.rules                      80-iio-sensor-proxy.rules 
 +61-gdm.rules                           80-libinput-device-groups.rules 
 +61-gnome-bluetooth-rfkill.rules        80-mm-candidate.rules 
 +61-gnome-settings-daemon-rfkill.rules  80-net-setup-link.rules 
 +61-scsi-sg3_id.rules                   80-udisks2.rules 
 +62-multipath.rules                     81-kvm-rhel.rules 
 +63-fc-wwpn-id.rules                    84-nm-drivers.rules 
 +63-md-raid-arrays.rules                85-nm-unmanaged.rules 
 +63-scsi-sg3_symlink.rules              85-regulatory.rules 
 +64-btrfs.rules                         90-alsa-restore.rules 
 +64-md-raid-assembly.rules              90-bolt.rules 
 +65-libwacom.rules                      90-fwupd-devices.rules 
 +65-md-incremental.rules                90-iprutils.rules 
 +65-sane-backends.rules                 90-libinput-fuzz-override.rules 
 +66-kpartx.rules                        90-nm-thunderbolt.rules 
 +68-del-part-nodes.rules                90-pulseaudio.rules 
 +69-btattach-bcm.rules                  90-rdma-hw-modules.rules 
 +69-cd-sensors.rules                    90-rdma-ulp-modules.rules 
 +69-dm-lvm-metad.rules                  90-rdma-umad.rules 
 +69-libmtp.rules                        90-vconsole.rules 
 +69-md-clustered-confirm-device.rules   91-drm-modeset.rules 
 +70-hypervfcopy.rules                   95-cd-devices.rules 
 +70-hypervkvp.rules                     95-dm-notify.rules 
 +70-hypervvss.rules                     95-upower-csr.rules 
 +70-joystick.rules                      95-upower-hid.rules 
 +70-mouse.rules                         95-upower-wup.rules 
 +70-nvmf-autoconnect.rules              98-kexec.rules 
 +70-power-switch.rules                  99-qemu-guest-agent.rules 
 +70-printers.rules                      99-systemd.rules 
 +70-spice-vdagentd.rules                99-vmware-scsi-udev.rules 
 +70-touchpad.rules 
 +</code>
  
-<WRAP center round important> +<WRAP center round important 60%
-**Important** : Le fichier de configuration peut contenir deux ou plusieurs sections ServerLayoutSeule la première sera prise en compte.+**Important** : Il vous est possible d'ajouter des règles si besoin est. Dans ce cas, créez un fichier **99-local.rules** est éditez-le au lieu d'éditer les fichiers existants.
 </WRAP> </WRAP>
  
-===La Section Files===+Comme indique le nom de chaque fichier, le contenu est composé de règles à l'attention d'udev. Le fichier des règles par défaut est le **50-udev-default.rules** :
  
-Cette section regroupe les informations concernant les fichiers de configuration supplémentaires.+<code> 
 +[root@centos8 ~]# cat /lib/udev/rules.d/50-udev-default.rules | more 
 +# do not edit this file, it will be overwritten on update
  
-Un exemple de cette section est :+# run a command on remove events 
 +ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}" 
 +ACTION=="remove", GOTO="default_end"
  
-<file> +SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
-Section "Files         +
- RgbPath      "/usr/share/X11/rgb.txt         +
- FontPath     "unix/:7100 +
-EndSection +
-</file>+
  
-Les directives les plus courantes dans cette section sont :+# select "system RTC" or just use the first one 
 +SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc" 
 +SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
  
-^ Directive  ^ Description ^ Commentaires ^ +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb
-"RgbPath| Spécifie l'emplacement de la base de données **RGB**. | Sous Redhat/CentOS : **/usr/share/X11/rgb.txt**. | +ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
-"FontPath| Spécifie où doit connecter le serveur pour obtenir des polices pour le serveur de polices **xfs**. | **unix/:7100** par défaut. | +
-"ModulePath| Spécifie un répertoire alternatif de modules. | Une directive optionnelle. |+
  
-Voici le fichier **/usr/share/X11/rgb.txt** :+ACTION!="add", GOTO="default_end" 
 + 
 +SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666" 
 +SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666" 
 +SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620" 
 +SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620" 
 +SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620" 
 +SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620" 
 +SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty" 
 +KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout" 
 + 
 +SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" 
 + 
 +SUBSYSTEM=="input", GROUP="input" 
 +SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664" 
 + 
 +SUBSYSTEM=="video4linux", GROUP="video" 
 +SUBSYSTEM=="graphics", GROUP="video" 
 +SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video" 
 +SUBSYSTEM=="dvb", GROUP="video" 
 +SUBSYSTEM=="media", GROUP="video" 
 +SUBSYSTEM=="cec", GROUP="video" 
 + 
 +SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="render", MODE="0666" 
 +SUBSYSTEM=="kfd", GROUP="render", MODE="0666" 
 + 
 +SUBSYSTEM=="sound", GROUP="audio",
 +  OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer" 
 +--More-- 
 +</code> 
 + 
 +Chaque règle prend la forme suivante : 
 + 
 +KEY, [KEY, ...] NAME [, SYMLINK] 
 + 
 +Chaque KEY est un champ au format **type=valeur** qui doit correspondre à un périphérique unique. La valeur de type peut prendre plusieurs formes : 
 + 
 +^ Type ^ Description ^ Exemples ^ 
 +| BUS | Type de bus | usb, scsi, ide | 
 +| KERNEL | Le nom par défault du périphérique donné par le noyau | hda, ttyUSB0, lp0 | 
 +| SUBSYSTEM | Le nom noyau du sous-système, généralement identique à la valeur du BUS | usb, scsi | 
 +| DRIVER | Le nom du pilote qui contrôle le périphérique | usb-storage | 
 +| ID | Le numéro du périphérique sur son bus | PCI bus id, USB id | 
 +| PLACE | Ne concerne que les périphériques USB et donne la position topologique du périphérique sur son bus | S/O | 
 +| SYSFS{filename} | Le nom du fichier dans /sys pour le périphérique. Ce fichier contient le fabricant, le label, le numéro de série et UUID du périphérique. La vérification de jusqu'à 5 fichiers est possible par règle | S/O | 
 +| PROGRAM | Ceci permet à Udev d'appeler un programme externe pour nommer un périphérique | S/O | 
 +| RESULT | Valeur à comparer au résultat de PROGRAM | S/O | 
 + 
 +NAME et SYMLINK sont utilisées pour stipuler ce que Udev doit faire avec le périphérique : 
 + 
 +^ Type ^ Description ^ Exemples ^ 
 +| NAME | Le nome du nœud dans /dev | S/O | 
 +| SYMLINK | Le ou les lien(s) symbolique(s) qui pointe(nt) vers le NAME | S/O | 
 + 
 +====La commande udevadm==== 
 + 
 +Pour obtenir de l'information sur un périphérique il convient d'utiliser la commande **udevadm** :
  
 <code> <code>
-[root@centos7 ~]# more /usr/share/X11/rgb.txt +[root@centos8 ~]# udevadm info --query=all -n /dev/sda 
-255 250 250 snow +P: /devices/pci0000:00/0000:00:07.0/ata3/host2/target2:0:0/2:0:0:0/block/sda 
-248 248 255 ghost white +N: sda 
-248 248 255 GhostWhite +S: disk/by-id/ata-QEMU_HARDDISK_QM00005 
-245 245 245 white smoke +S: disk/by-id/scsi-0ATA_QEMU_HARDDISK_QM00005 
-245 245 245 WhiteSmoke +S: disk/by-id/scsi-1ATA_QEMU_HARDDISK_QM00005 
-220 220 220 gainsboro +S: disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00005 
-255 250 240 floral white +S: disk/by-path/pci-0000:00:07.0-ata-1 
-255 250 240 FloralWhite +E: DEVLINKS=/dev/disk/by-path/pci-0000:00:07.0-ata-1 /dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00005 /dev/disk/by-id/ata-QEMU_HARDDISK_QM00005 /dev/disk/by-id/scsi-0ATA_QEMU_HARDDISK_QM00005 /dev/disk/by-id/scsi-1ATA_QEMU_HARDDISK_QM00005 
-253 245 230 old lace +E: DEVNAME=/dev/sda 
-253 245 230 OldLace +E: DEVPATH=/devices/pci0000:00/0000:00:07.0/ata3/host2/target2:0:0/2:0:0:0/block/sda 
-250 240 230 linen +E: DEVTYPE=disk 
-250 235 215 antique white +E: ID_ATA=1 
-250 235 215 AntiqueWhite +E: ID_ATA_FEATURE_SET_SMART=1 
-255 239 213 papaya whip +E: ID_ATA_FEATURE_SET_SMART_ENABLED=1 
-255 239 213 PapayaWhip +E: ID_ATA_SATA=1 
-255 235 205 blanched almond +E: ID_ATA_WRITE_CACHE=1 
-255 235 205 BlanchedAlmond +E: ID_ATA_WRITE_CACHE_ENABLED=1 
-255 228 196 bisque +E: ID_BUS=ata 
-255 218 185 peach puff +E: ID_MODEL=QEMU_HARDDISK 
-255 218 185 PeachPuff +E: ID_MODEL_ENC=QEMU\x20HARDDISK\x20\x20\x20 
-255 222 173 navajo white +E: ID_PART_TABLE_TYPE=dos 
-255 222 173 NavajoWhite +E: ID_PART_TABLE_UUID=b39ec5c8 
-255 228 181 moccasin +E: ID_PATH=pci-0000:00:07.0-ata-1 
-255 248 220 cornsilk +E: ID_PATH_TAG=pci-0000_00_07_0-ata-1 
-255 255 240 ivory +E: ID_REVISION=2.5+ 
-255 250 205 lemon chiffon +E: ID_SCSI=1 
-255 250 205 LemonChiffon +E: ID_SCSI_INQUIRY=1 
-255 245 238 seashell +E: ID_SERIAL=QEMU_HARDDISK_QM00005 
-240 255 240 honeydew +E: ID_SERIAL_SHORT=QM00005 
---More--(3%)+E: ID_TYPE=disk 
 +E: ID_VENDOR=ATA 
 +E: ID_VENDOR_ENC=ATA\x20\x20\x20\x20\x20 
 +E: MAJOR=8 
 +E: MINOR=0 
 +E: SCSI_IDENT_LUN_ATA=QEMU_HARDDISK_QM00005 
 +E: SCSI_IDENT_LUN_T10=ATA_QEMU_HARDDISK_QM00005 
 +E: SCSI_IDENT_LUN_VENDOR=QM00005 
 +E: SCSI_IDENT_SERIAL=QM00005 
 +E: SCSI_MODEL=QEMU_HARDDISK 
 +E: SCSI_MODEL_ENC=QEMU\x20HARDDISK\x20\x20\x20 
 +E: SCSI_REVISION=2.5+ 
 +E: SCSI_TPGS=0 
 +E: SCSI_TYPE=disk 
 +E: SCSI_VENDOR=ATA 
 +E: SCSI_VENDOR_ENC=ATA\x20\x20\x20\x20\x20 
 +E: SUBSYSTEM=block 
 +E: TAGS=:systemd: 
 +E: USEC_INITIALIZED=8735808
 </code> </code>
  
-===La Section Modules===+===Les options de la commande===
  
-Par défaut le serveur X charge ses modules à partir du répertoire **/usr/lib/xorg/modules/drivers** ou **/usr/lib64/xorg/modules/drivers** :+Les options de la commande udevadm sont :
  
 <code> <code>
-[root@centos7 ~]# ls /usr/lib64/xorg/modules +[root@centos8 ~]# udevadm --help 
-drivers     input      libfbdevhw.so  libglamoregl.so  libshadowfb.so  libvbe.so    libwfb.so +udevadm [--help] [--version] [--debug] COMMAND [COMMAND OPTIONS] 
-extensions  libexa.so  libfb.so       libint10.so      libshadow.so    libvgahw.so+ 
 +Send control commands or test the device manager. 
 + 
 +Commands: 
 +  info          Query sysfs or the udev database 
 +  trigger       Request events from the kernel 
 +  settle        Wait for pending udev events 
 +  control       Control the udev daemon 
 +  monitor       Listen to kernel and udev events 
 +  test          Test an event run 
 +  test-builtin  Test a built-in command 
 + 
 +[root@centos8 ~]# udevadm info --help 
 +udevadm info [OPTIONS] [DEVPATH|FILE] 
 + 
 +Query sysfs or the udev database. 
 + 
 +  -h --help                   Print this message 
 +  -V --version                Print version of the program 
 +  -q --query=TYPE             Query device information: 
 +       name                     Name of device node 
 +       symlink                  Pointing to node 
 +       path                     sysfs device path 
 +       property                 The device properties 
 +       all                      All values 
 +  -p --path=SYSPATH           sysfs device path used for query or attribute walk 
 +  -n --name=NAME              Node or symlink name used for query or attribute walk 
 +  -r --root                   Prepend dev directory to path names 
 +  -a --attribute-walk         Print all key matches walking along the chain 
 +                              of parent devices 
 +  -d --device-id-of-file=FILE Print major:minor of device containing this file 
 +  -x --export                 Export key/value pairs 
 +  -P --export-prefix          Export the key name with a prefix 
 +  -e --export-db              Export the content of the udev database 
 +  -c --cleanup-db             Clean up the udev database
 </code> </code>
 +
 +=====Système de fichiers /sys=====
 +
 +Le système de fichiers virtuel **/sys** a été introduit avec le noyau Linux **2.6**. Son rôle est de décrire le matériel pour udev.
 +
 +Saisissez la commande suivante :
  
 <code> <code>
-root@debian8:~# ls /usr/lib/xorg/modules +[root@centos8 ~]# ls -l /sys 
-drivers     input      libfbdevhw.so  libglamoregl.so  libshadowfb.so  libvbe.so    libwfb.so +total 0 
-extensions  libexa.so  libfb.so       libint10.so      libshadow.so    libvgahw.so  multimedia+drwxr-xr-x  2 root root 0 Jul 12 08:15 block 
 +drwxr-xr-x.  33 root root 0 Jul 12 08:15 bus 
 +drwxr-xr-x.  57 root root 0 Jul 12 08:15 class 
 +drwxr-xr-x  4 root root 0 Jul 12 08:15 dev 
 +drwxr-xr-x.  14 root root 0 Jul 12 08:15 devices 
 +drwxr-xr-x  6 root root 0 Jul 12 08:15 firmware 
 +drwxr-xr-x  9 root root 0 Jul 12 08:15 fs 
 +drwxr-xr-x  2 root root 0 Jul 12 08:15 hypervisor 
 +drwxr-xr-x.  15 root root 0 Jul 12 08:15 kernel 
 +drwxr-xr-x. 153 root root 0 Jul 12 08:15 module 
 +drwxr-xr-x.   2 root root 0 Jul 12 08:15 power
 </code> </code>
  
-<WRAP center round important+Chaque répertoire contient des informations : 
-**Important** : Le chemin par défaut de l'emplacement des modules peut être modifié en utilisant la directive **ModulePath** dans la section **Files**.+ 
 +  * **block** 
 +    * contient des informations sur les périphériques bloc 
 +  * **bus** 
 +    * contient des informations sur les bus de données 
 +  * **class** 
 +    * contient des informations sur des classes de matériel 
 +  * **devices** 
 +    * contient des informations sur la position des périphériques sur les bus 
 +  * **firmware** 
 +    * contient, entre autre, des informations sur l'ACPI 
 +  * **module** 
 +    * contient des informations sur les modules du noyau 
 +  * **power** 
 +    * contient des informations sur la gestion de l'énergie 
 +  * **fs** 
 +    * contient des informations sur les systèmes de fichiers 
 + 
 +Pour illustrer ceci, saisissez la commande suivante : 
 + 
 +<code
 +[root@centos8 ~]# cat /sys/block/sda/sda1/size 
 +2097152 
 +</code> 
 + 
 +Ce chiffre correspond aux nombre de secteurs. 
 + 
 +=====LAB #4 - Limitation des ressources===== 
 + 
 +====4.1 - ulimit==== 
 + 
 +Les ressources disponibles aux utilisateurs peuvent être limitées par l'utilisation de la commande **ulimit**.  
 + 
 +La commande **ulimit** gère deux types de limite, la limite //hard// en utilisant l'option **-H** et la limite //soft// en utilisant l'option **-S**. Seul root peut positionner une limite //hard// et ceci à condition que la limite ne dépasse pas les ressources réelles. 
 + 
 +La limite //soft// est la limite imposée à l'utilisateur par défaut tandis que la limite //hard// est la limite que l'utilisateur peut atteindre en utilisant la commande ulimit lui-même. 
 + 
 +L'utilisateur root peut paramétrer les limites accordées en éditant la fichier **/etc/security/limits.conf** 
 + 
 +<code> 
 +[root@centos8 ~]# cat /etc/security/limits.conf 
 +# /etc/security/limits.conf 
 +
 +#This file sets the resource limits for the users logged in via PAM. 
 +#It does not affect resource limits of the system services. 
 +
 +#Also note that configuration files in /etc/security/limits.d directory, 
 +#which are read in alphabetical order, override the settings in this 
 +#file in case the domain is the same or more specific. 
 +#That means for example that setting a limit for wildcard domain here 
 +#can be overriden with a wildcard setting in a config file in the 
 +#subdirectory, but a user specific setting here can be overriden only 
 +#with a user specific setting in the subdirectory. 
 +
 +#Each line describes a limit for a user in the form: 
 +
 +#<domain>        <type>  <item>  <value> 
 +
 +#Where: 
 +#<domain> can be: 
 +#        - a user name 
 +#        - a group name, with @group syntax 
 +#        - the wildcard *, for default entry 
 +#        - the wildcard %, can be also used with %group syntax, 
 +#                 for maxlogin limit 
 +
 +#<type> can have the two values: 
 +#        - "soft" for enforcing the soft limits 
 +#        - "hard" for enforcing hard limits 
 +
 +#<item> can be one of the following: 
 +#        - core - limits the core file size (KB) 
 +#        - data - max data size (KB) 
 +#        - fsize - maximum filesize (KB) 
 +#        - memlock - max locked-in-memory address space (KB) 
 +#        - nofile - max number of open file descriptors 
 +#        - rss - max resident set size (KB) 
 +#        - stack - max stack size (KB) 
 +#        - cpu - max CPU time (MIN) 
 +#        - nproc - max number of processes 
 +#        - as - address space limit (KB) 
 +#        - maxlogins - max number of logins for this user 
 +#        - maxsyslogins - max number of logins on the system 
 +#        - priority - the priority to run user process with 
 +#        - locks - max number of file locks the user can hold 
 +#        - sigpending - max number of pending signals 
 +#        - msgqueue - max memory used by POSIX message queues (bytes) 
 +#        - nice - max nice priority allowed to raise to values: [-20, 19] 
 +#        - rtprio - max realtime priority 
 +
 +#<domain>      <type>  <item>         <value> 
 +
 + 
 +#*               soft    core            0 
 +#*               hard    rss             10000 
 +#@student        hard    nproc           20 
 +#@faculty        soft    nproc           20 
 +#@faculty        hard    nproc           50 
 +#ftp             hard    nproc           0 
 +#@student        -       maxlogins       4 
 + 
 +# End of file 
 +</code>  
 + 
 +<WRAP center round important 60%> 
 +**Important** : La valeur de la limite peut être un **nombre** ou le mot **unlimited**.
 </WRAP> </WRAP>
  
-Un exemple de cette section est :+Par exemple, si root inscrit les deux ligne suivantes dans le fichier /etc/security/limits.conf :
  
 <file> <file>
-Section "Module"  +... 
- Load  "fbdevhw"  +trainee                soft        nofile          1024 
-EndSection+trainee                hard        nofile          4096 
 +...
 </file> </file>
  
-<WRAP center round important> +la limite du nombre de fichiers ouverts simultanément par trainee est de 1 024Par contre, trainee a la possibilité d'augmenter cette limite jusqu'à 4 096 en utilisant la commande suivante :
-**Attention** : Dans l'exemple ci-dessus, le module **fbdevhw** sera chargé **à la place des modules par défaut**Pour charger les modules par défaut il faut les spécifier. +
-</WRAP>+
  
-===La Section InputDevice===+<code> 
 +$ ulimit -n 4096 
 +</code>
  
-Cette section décrit un périphérique en entrée. Il n'ya normalement qu'une section pour le clavier, les souris étant généralement détectées automatiquement. Vous pouvez cependant configurer une section **InputDevice** pour une souris en ecrasant la configuration par défaut.+Pour consulter la liste des limites actuelles, il convient d'utiliser la commande ulimit avec l'option **-a** :
  
-Un exemple de cette section est :+<code> 
 +[root@centos8 ~]# ulimit -a 
 +core file size          (blocks, -c) unlimited 
 +data seg size           (kbytes, -d) unlimited 
 +scheduling priority             (-e) 0 
 +file size               (blocks, -f) unlimited 
 +pending signals                 (-i) 14702 
 +max locked memory       (kbytes, -l) 64 
 +max memory size         (kbytes, -m) unlimited 
 +open files                      (-n) 1024 
 +pipe size            (512 bytes, -p) 8 
 +POSIX message queues     (bytes, -q) 819200 
 +real-time priority              (-r) 0 
 +stack size              (kbytes, -s) 8192 
 +cpu time               (seconds, -t) unlimited 
 +max user processes              (-u) 14702 
 +virtual memory          (kbytes, -v) unlimited 
 +file locks                      (-x) unlimited 
 +</code>
  
-<file> +====Options de la commande====
-Section "InputDevice" +
-        Identifier  "Keyboard0" +
-        Driver      "kbd" +
-        Option      "XkbModel" "pc105" +
-        Option      "XkbLayout" "us" +
-EndSection +
-</file>+
  
-Les directives les plus courantes dans cette section sont :+Les options de **ulimit** sont :
  
-^ Directive  ^ Description ^ +<code> 
-| "Identifier" | Spécifie un nom unique pour la sectionCette directive est obligatoire| +[root@centos8 ~]# help ulimit 
-| "Driver" | Spécifie le pilote à charger| +ulimit: ulimit [-SHabcdefiklmnpqrstuvxPT] [limit] 
-| "Option" | Spécifie une option concernant le périphérique|+    Modify shell resource limits. 
 +     
 +    Provides control over the resources available to the shell and processes 
 +    it creates, on systems that allow such control
 +     
 +    Options: 
 +      -S        use the `soft' resource limit 
 +      -H        use the `hard' resource limit 
 +      -a        all current limits are reported 
 +      -b        the socket buffer size 
 +      -c        the maximum size of core files created 
 +      -d        the maximum size of a process's data segment 
 +      -e        the maximum scheduling priority (`nice'
 +      -f        the maximum size of files written by the shell and its children 
 +      -i        the maximum number of pending signals 
 +      -k        the maximum number of kqueues allocated for this process 
 +      -l        the maximum size a process may lock into memory 
 +      -m        the maximum resident set size 
 +      -n        the maximum number of open file descriptors 
 +      -p        the pipe buffer size 
 +      -q        the maximum number of bytes in POSIX message queues 
 +      -r        the maximum real-time scheduling priority 
 +      -s        the maximum stack size 
 +      -t        the maximum amount of cpu time in seconds 
 +      -u        the maximum number of user processes 
 +      -v        the size of virtual memory 
 +      -x        the maximum number of file locks 
 +      -P        the maximum number of pseudoterminals 
 +      -T        the maximum number of threads 
 +     
 +    Not all options are available on all platforms
 +     
 +    If LIMIT is given, it is the new value of the specified resource; the 
 +    special LIMIT values `soft', `hard', and `unlimited' stand for the 
 +    current soft limit, the current hard limit, and no limit, respectively. 
 +    Otherwise, the current value of the specified resource is printed.  If 
 +    no option is given, then -f is assumed. 
 +     
 +    Values are in 1024-byte increments, except for -t, which is in seconds, 
 +    -p, which is in increments of 512 bytes, and -u, which is an unscaled 
 +    number of processes. 
 +     
 +    Exit Status: 
 +    Returns success unless an invalid option is supplied or an error occurs. 
 +</code>
  
-Quand la section décrit une souris, on trouve typiquement les options suivantes :+====4.2 - Groupes de Contrôle====
  
-^ Option  ^ Description ^ +Les **Groupes de Contrôles** (//Control Groups//) aussi appelés **CGroups**, sont une façon de contrôler et de limiter des ressourcesLes groupes de contrôle permettent l'allocation de ressources, même d'une manière dynamique pendant que le système fonctionne, telles le temps processeur, la mémoire système, la bande réseau, ou une combinaison de ces ressources parmi des groupes de tâches (processus) définis par l'utilisateur et exécutés sur un système.
-| "Protocol" | Spécifie le protocole à utiliser avec une souris, par exemple **IMPS/2**. +
-| "Device" | Spécifie l'emplacement physique du périphérique. | +
-| "Emulate3Buttons " | Spécifie si une souris à deux boutons réagit comme une souris à trois boutons en appuyant sur les dexu boutons sumultanément|+
  
-===La Section Monitor===+Les groupes de contrôle sont organisés de manière hiérarchique, comme des processus. Par contre, la comparaison entre les deux démontre que tandis que les processus se trouvent dans une arborescence unique descandant tous du processus init et héritant de l'environnement de leurs parents, les contrôles groupes peuvent être multiples donnant lieu à des arborescences ou **hiérarchies** multiples qui héritent de certains attributs de leurs groupes de contrôle parents.
  
-Cette section décrit l'écran. Les écrans actuels sont tous de type **DCC** qui peuvent communiquer au pilote graphique les fréquences et les résolutions supportées. Cependant avec des anciens moniteurs, il est nécessaire d'éditer cette section manuellement.+Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs **sous-système(s)** aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs disponibles sous RHEl/CentOS 7 sont :
  
-<WRAP center round important> +  * **blkio** - utilisé pour établir des limites sur l'accès des entrées/sorties à partir et depuis des périphériques blocs, 
-**Attention** : Il est important de se munir avec la documentation du moniteur afin de connaître **la taille de l'affichage en millimètres, les fréquences horizontales, les fréquences verticales ainsi que les résolutions supportées**. Une mauvaise configurationnotamment des fréquencespeut endomager un moniteur dès que la configuration soit appliquée.+  * **cpu** - utilisé pour fournir aux tâches des groupes de contrôle accès au CPU grâce au planificateur, 
 +  * **cpuacct** - utilisé pour produire des rapports automatiques sur les ressources CPU utilisées par les tâches dans un groupe de contrôle, 
 +  * **cpuset** - utilisé pour assigner des CPU individuels sur un système multicoeur et des noeuds de mémoire à des tâches dans un groupe de contrôle, 
 +  * **devices** - utilisé pour autoriser ou pour refuser l'accès des tâches aux périphériques dans un groupe de contrôle, 
 +  * **freezer** - utilisé pour suspendre ou pour réactiver les tâches dans un groupe de contrôle, 
 +  * **memory** - utilisé pour établir les limites d'utilisation de la mémoire par les tâches d'un groupe de contrôle et pour génèrer des rapports automatiques sur les ressources rmémoire utilisées par ces tâches, 
 +  * **net_cls** - utilisé pour repèrer les paquets réseau avec un identifiant de classe (//classid//afin de permettre au contrôleur de trafic Linux, **tc**,  d'identifier les paquets provenant d'une tâche particulière d'un groupe de contrôle. 
 +  * **perf_event**  - utilisé pour permettre le monitoring des CGroups avec l'outil perf, 
 +  * **hugetlb** - utilisé pour limiter des ressources sur des pages de mémoire virtuelle de grande taille. 
 + 
 +Pour visualiser les hiérarchiesil convient d'utiliser la commande **lssubsys** : 
 + 
 +<code> 
 +[root@centos8 ~]# lssubsys -am 
 +bash: lssubsys: command not found... 
 +Install package 'libcgroup-tools' to provide command 'lssubsys'? [N/y] y 
 + 
 + 
 + * Waiting in queue...  
 +The following packages have to be installed: 
 + libcgroup-0.41-19.el8.x86_64   Library to control and monitor control groups 
 + libcgroup-tools-0.41-19.el8.x86_64     Command-line utility programs, services and daemons for libcgroup 
 +Proceed with changes? [N/y] y 
 + 
 + 
 + * Waiting in queue...  
 + * Waiting for authentication...  
 + * Waiting in queue...  
 + * Downloading packages...  
 + * Requesting data...  
 + * Testing changes...  
 + * Installing packages...  
 +cpuset /sys/fs/cgroup/cpuset 
 +cpu,cpuacct /sys/fs/cgroup/cpu,cpuacct 
 +blkio /sys/fs/cgroup/blkio 
 +memory /sys/fs/cgroup/memory 
 +devices /sys/fs/cgroup/devices 
 +freezer /sys/fs/cgroup/freezer 
 +net_cls,net_prio /sys/fs/cgroup/net_cls,net_prio 
 +perf_event /sys/fs/cgroup/perf_event 
 +hugetlb /sys/fs/cgroup/hugetlb 
 +pids /sys/fs/cgroup/pids 
 +rdma /sys/fs/cgroup/rdma 
 +</code> 
 + 
 +<code> 
 +[root@centos8 ~]# lssubsys -am 
 +cpuset /sys/fs/cgroup/cpuset 
 +cpu,cpuacct /sys/fs/cgroup/cpu,cpuacct 
 +blkio /sys/fs/cgroup/blkio 
 +memory /sys/fs/cgroup/memory 
 +devices /sys/fs/cgroup/devices 
 +freezer /sys/fs/cgroup/freezer 
 +net_cls,net_prio /sys/fs/cgroup/net_cls,net_prio 
 +perf_event /sys/fs/cgroup/perf_event 
 +hugetlb /sys/fs/cgroup/hugetlb 
 +pids /sys/fs/cgroup/pids 
 +rdma /sys/fs/cgroup/rdma 
 +</code>  
 + 
 +Sous RHEL/CentOS 8, **Systemd** organise les processus dans chaque CGroup. Par exemple tous les processus démarrés par le serveur Apache se trouveront dans le même CGroup, y compris les scripts CGI. Ceci implique que la gestion des ressources en utilisant des hiérarchies est couplé avec l'arborescence des unités de Systemd. 
 + 
 +En haut de l'arborescence des unités de Systemd se trouve la tranche root - **-.slice**dont dépend : 
 + 
 +  * le **system.slice** - l'emplacement des services système, 
 +  * le **user.slice** - l'emplacement des sessions des utilisateurs, 
 +  * le **machine.slice** - l'emplacement des machines virtuelles et conteneurs. 
 + 
 +En dessous des tranches peuvent se trouver : 
 + 
 +  * des **scopes** - des processus crées par **fork**, 
 +  * des **services** - des processus créés par une **Unité**. 
 + 
 +Les slices peuvent être visualisés avec la commande suivante : 
 + 
 +<code> 
 +[root@centos8 ~]# systemctl list-units --type=slice 
 +UNIT                                        LOAD   ACTIVE SUB    DESCRIPTION                                 
 +-.slice                                     loaded active active Root Slice                                  
 +machine.slice                               loaded active active Virtual Machine and Container Slice         
 +system-getty.slice                          loaded active active system-getty.slice                          
 +system-lvm2\x2dpvscan.slice                 loaded active active system-lvm2\x2dpvscan.slice                 
 +system-sshd\x2dkeygen.slice                 loaded active active system-sshd\x2dkeygen.slice                 
 +system-systemd\x2dfsck.slice                loaded active active system-systemd\x2dfsck.slice                
 +system-systemd\x2dhibernate\x2dresume.slice loaded active active system-systemd\x2dhibernate\x2dresume.slice 
 +system-user\x2druntime\x2ddir.slice         loaded active active system-user\x2druntime\x2ddir.slice         
 +system-vncserver.slice                      loaded active active system-vncserver.slice                      
 +system.slice                                loaded active active System Slice                                
 +user-1000.slice                             loaded active active User Slice of UID 1000                      
 +user-42.slice                               loaded active active User Slice of UID 42                        
 +user.slice                                  loaded active active User and Session Slice                      
 + 
 +LOAD   = Reflects whether the unit definition was properly loaded. 
 +ACTIVE = The high-level unit activation state, i.e. generalization of SUB. 
 +SUB    = The low-level unit activation state, values depend on unit type. 
 + 
 +13 loaded units listed. Pass --all to see loaded but inactive units, too. 
 +To show all installed unit files use 'systemctl list-unit-files'
 +</code> 
 + 
 +L'arborescence des unités de Systemd est la suivante : 
 + 
 +<code> 
 +[root@centos8 ~]# systemd-cgls 
 +Control group /: 
 +-.slice 
 +├─user.slice 
 +│ ├─user-42.slice 
 +│ │ ├─session-c1.scope 
 +│ │ │ ├─1317 gdm-session-worker [pam/gdm-launch-environment] 
 +│ │ │ ├─1459 /usr/libexec/gdm-wayland-session --register-session gnome-session --autostart /usr/share/gdm/greeter/autostart 
 +│ │ │ ├─1856 /usr/libexec/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart 
 +│ │ │ ├─1882 /usr/bin/gnome-shell 
 +│ │ │ ├─2059 /usr/bin/Xwayland :1024 -rootless -terminate -accessx -core -listen 4 -listen 5 -displayfd 6 
 +│ │ │ ├─2132 ibus-daemon --xim --panel disable 
 +│ │ │ ├─2135 /usr/libexec/ibus-dconf 
 +│ │ │ ├─2138 /usr/libexec/ibus-x11 --kill-daemon 
 +│ │ │ ├─2251 /usr/libexec/gsd-xsettings 
 +│ │ │ ├─2261 /usr/libexec/gsd-a11y-settings 
 +│ │ │ ├─2268 /usr/libexec/gsd-clipboard 
 +│ │ │ ├─2271 /usr/libexec/gsd-color 
 +│ │ │ ├─2272 /usr/libexec/gsd-datetime 
 +│ │ │ ├─2273 /usr/libexec/gsd-housekeeping 
 +│ │ │ ├─2274 /usr/libexec/gsd-keyboard 
 +│ │ │ ├─2275 /usr/libexec/gsd-media-keys 
 +│ │ │ ├─2280 /usr/libexec/gsd-mouse 
 +│ │ │ ├─2281 /usr/libexec/gsd-power 
 +│ │ │ ├─2283 /usr/libexec/gsd-print-notifications 
 +│ │ │ ├─2284 /usr/libexec/gsd-rfkill 
 +│ │ │ ├─2285 /usr/libexec/gsd-screensaver-proxy 
 +│ │ │ ├─2290 /usr/libexec/gsd-sharing 
 +│ │ │ ├─2321 /usr/libexec/gsd-smartcard 
 +│ │ │ ├─2328 /usr/libexec/gsd-sound 
 +│ │ │ ├─2333 /usr/libexec/gsd-wacom 
 +│ │ │ └─2432 /usr/libexec/ibus-engine-simple 
 +│ │ └─user@42.service 
 +│ │   ├─xdg-permission-store.service 
 +│ │   │ └─2170 /usr/libexec/xdg-permission-store 
 +│ │   ├─pulseaudio.service 
 +│ │   │ └─1455 /usr/bin/pulseaudio --daemonize=no --log-target=journal 
 +│ │   ├─init.scope 
 +│ │   │ ├─1357 /usr/lib/systemd/systemd --user 
 +│ │   │ └─1377 (sd-pam) 
 +│ │   ├─at-spi-dbus-bus.service 
 +│ │   │ ├─2090 /usr/libexec/at-spi-bus-launcher 
 +│ │   │ ├─2095 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 
 +│ │   │ └─2098 /usr/libexec/at-spi2-registryd --use-gnome-session 
 +│ │   └─dbus.service 
 +│ │     ├─1755 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only 
 +│ │     └─2143 /usr/libexec/ibus-portal 
 +│ └─user-1000.slice 
 +│   ├─user@1000.service 
 +│   │ ├─gvfs-goa-volume-monitor.service 
 +│   │ │ └─2369 /usr/libexec/gvfs-goa-volume-monitor 
 +│   │ ├─xdg-permission-store.service 
 +│   │ │ └─2191 /usr/libexec/xdg-permission-store 
 +│   │ ├─tracker-store.service 
 +│   │ │ └─2653 /usr/libexec/tracker-store 
 +│   │ ├─evolution-calendar-factory.service 
 +│   │ │ ├─2605 /usr/libexec/evolution-calendar-factory 
 +│   │ │ └─2706 /usr/libexec/evolution-calendar-factory-subprocess --factory all --bus-name org.gnome.evolution.dataserver.Subprocess.Backend.Calendarx2605x2 --own-path /org/gnome/evolution> 
 +│   │ ├─pulseaudio.service 
 +│   │ │ └─1456 /usr/bin/pulseaudio --daemonize=no --log-target=journal 
 +│   │ ├─gvfs-daemon.service 
 +│   │ │ ├─1896 /usr/libexec/gvfsd 
 +│   │ │ └─1901 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes 
 +│   │ ├─evolution-source-registry.service 
 +│   │ │ └─2206 /usr/libexec/evolution-source-registry 
 +│   │ ├─gvfs-udisks2-volume-monitor.service 
 +│   │ │ └─2243 /usr/libexec/gvfs-udisks2-volume-monitor 
 +│   │ ├─init.scope 
 +│   │ │ ├─1239 /usr/lib/systemd/systemd --user 
 +│   │ │ └─1318 (sd-pam) 
 +│   │ ├─gvfs-gphoto2-volume-monitor.service 
 +│   │ │ └─2269 /usr/libexec/gvfs-gphoto2-volume-monitor 
 +│   │ ├─at-spi-dbus-bus.service 
 +│   │ │ ├─1964 /usr/libexec/at-spi-bus-launcher 
 +│   │ │ ├─1969 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 
 +│   │ │ └─1972 /usr/libexec/at-spi2-registryd --use-gnome-session 
 +│   │ ├─dbus.service 
 +│   │ │ ├─1786 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only 
 +│   │ │ ├─2183 /usr/libexec/ibus-portal 
 +│   │ │ ├─2201 /usr/libexec/gnome-shell-calendar-server 
 +│   │ │ ├─2225 /usr/libexec/goa-daemon 
 +│   │ │ ├─2397 /usr/libexec/goa-identity-service 
 +│   │ │ └─2721 /usr/libexec/dconf-service 
 +│   │ ├─evolution-addressbook-factory.service 
 +│   │ │ ├─2727 /usr/libexec/evolution-addressbook-factory 
 +│   │ │ └─2771 /usr/libexec/evolution-addressbook-factory-subprocess --factory all --bus-name org.gnome.evolution.dataserver.Subprocess.Backend.AddressBookx2727x2 --own-path /org/gnome/evo> 
 +│   │ ├─gvfs-mtp-volume-monitor.service 
 +lines 44-86 
 +</code> 
 + 
 +En utilisant Systemd, plusieurs ressources peuvent être limitées : 
 + 
 +  * **CPUShares** - par défault 1024, 
 +  * **MemoryLimit** - limite exprimée en Mo ou en Go. Pas de valeur par défaut, 
 +  * **BlockIOWeight** - valeur entre 10 et 1000. Pas de valeur par défaut, 
 +  * **StartupCPUShares** - comme CPUShares mais uniquement appliqué pendant le démarrage, 
 +  * **StartupBlockIOWeight** - comme BlockIOWeight mais uniquement appliqué pendant le démarrage, 
 +  * **CPUQuota** - utilisé pour limiter le temps CPU, même quand le système ne fait rien. 
 + 
 +<WRAP center round important 60%> 
 +**Important** : Consultez le manuel systemd.resource-control(5) pour voir les paramètres CGroup qui peuvent être passés à systemctl.
 </WRAP> </WRAP>
  
-Un exemple de cette section est :+===Limitation de la Mémoire===
  
-<file> +Commencez par créer le script **hello-world.sh** qui servira à générer un processus pour travailler avec les CGroups :
-Section "Monitor"  +
- Identifier   "Monitor0"  +
- VendorName   "Monitor Vendor"  +
- ModelName    "DDC Probed Monitor ViewSonic G773-2"  +
- DisplaySize  320 240  +
- HorizSync    30.0 - 70.0  +
- VertRefresh  50.0 - 180.0  +
-EndSection +
-</file>+
  
-Les directives les plus courantes dans cette section sont :+<code> 
 +[root@centos8 ~]# vi hello-world.sh 
 +[root@centos8 ~]# cat hello-world.sh 
 +#!/bin/bash 
 +while [ 1 ]; do 
 +        echo "hello world" 
 +        sleep 360 
 +done 
 +</code>
  
-^ Directive  ^ Description ^ +Rendez le script exécutable et testez-le :
-| "Identifier" | Spécifie un nom unique pour la section. Cette directive est obligatoire. | +
-| "VendorName" | Spécifie le nom du fabricant. | +
-| "ModelName" | Spécifie le modèle du moniteur. | +
-| "DisplaySize" | Spécifie la taille de l'écran du moniteur en mm. | +
-| "HorizSync" | Spécifie la fréquence horizontale en kHz. | +
-| "VertRefresh" | Spécifie la fréquence verticale en kHz. | +
-| "Modeline" | Spécifie les modes vidéo et les fréquences horizontales et verticales necessaire pour les obtenir. | +
-| "Option" | Spécifie une option. Voir le manuel de Xorg.conf |+
  
 +<code>
 +[root@centos8 ~]# chmod u+x hello-world.sh
 +[root@centos8 ~]# ./hello-world.sh
 +hello world
 +^C
 +</code>
  
-===La Section Device===+Créez maintenant un CGroup dans le sous-système **memory** appelé **helloworld** :
  
-Cette section décrit une carte vidéo. Il y a une section Device pour chaque carte vidéo présente dans la machine.+<code> 
 +[root@centos8 ~]# mkdir /sys/fs/cgroup/memory/helloworld 
 +</code>
  
-Un exemple de cette section est :+Par défaut, ce CGroup héritera de l'ensemble de la mémoire disponible. Pour éviter cela, créez maintenant une limite de **40000000** octets pour ce CGroup :
  
-<file+<code
-Section "Device"  +[root@centos8 ~]# echo 40000000 > /sys/fs/cgroup/memory/helloworld/memory.limit_in_bytes 
- Identifier  "Videocard0"  +[root@centos8 ~]# cat /sys/fs/cgroup/memory/helloworld/memory.limit_in_bytes 
- Driver      "mga"  +39997440 
- VendorName  "Videocard vendor"  +</code>
- BoardName   "Matrox Millennium G200"  +
- VideoRam    8192          +
- Option      "dpms"  +
-EndSection +
-</file>+
  
-Les directives les plus courantes dans cette section sont :+<WRAP center round important 60%> 
 +**Important** - Notez que les 40 000 000 demandés sont devenus 39 997 440 ce qui correspond à un nombre entier de pages mémoire du noyau de 4Ko. ( 39 997 440 / 4096 = 9 765 ). 
 +</WRAP>
  
-^ Directive  ^ Description ^ +Lancez maintenant le script **helloworld.sh** 
-| "Identifier" | Spécifie un nom unique pour la section. Cette directive est obligatoire. | +
-| "Driver" | Spécifie le pilote à utiliser. Les pilotes se trouvent dans le répertoire **/usr/lib/xorg/modules/drivers/**. | +
-| "VendorName" | Spécifie le nom du fabricant. | +
-| "BoardName" | Spécifie le nom de la carte. +
-| "VideoRam" | Spécifie la mémoire vidéo en Ko dans le cas où Xorg ne peut pas la détecter automatiquement. | +
-| "BusID" | Spécifie l'ID du bus auquel est connecté la carte. | +
-| "Screen" | Spécifie un numéro commençant par 0 corréspondant à la sortie vidéo de la carte. Si une carte a plusieurs sorties, une section Device doit être créée pour chaque sortie et ce numéro doit être unique. | +
-| "Option" | Spécifie une option. L'option "dpms" est souvent présente et active l'économie d'énergie au niveau du moniteur. |+
  
-===La Section Screen===+<code> 
 +[root@centos8 ~]# ./hello-world.sh & 
 +[1] 35148
  
-Cette section associe une carte vidéo décrite par une section **Device** avec un moniteur décrit par une section **Monitor** :+[root@centos8 ~]# hello world 
 +[Entrée]
  
-Un exemple de cette section est :+[root@centos8 ~]# ps aux | grep hello-world 
 +root       35148  0.0  0.0  12724  2980 pts/1    S    08:48   0:00 /bin/bash ./hello-world.sh 
 +root       35151  0.0  0.0  12136  1044 pts/1    S+   08:48   0:00 grep --color=auto hello-world 
 +</code>
  
-<file> +Notez qu'il n'y a pas de limite de la mémoire, ce qui implique l'héritage par défaut :
-Section "Screen"  +
- Identifier "Screen0"  +
- Device     "Videocard0"  +
- Monitor    "Monitor0"  +
- DefaultDepth     16  +
-SubSection "Display"  +
- Depth     24  +
- Modes    "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"  +
-EndSubSection  +
-SubSection "Display"  +
- Depth     16  +
- Modes    "1152x864" "1024x768" "800x600" "640x480"  +
-EndSubSection  +
-EndSection +
-</file>+
  
-Les directives les plus courantes dans cette section sont :+<code> 
 +[root@centos8 ~]# ps -ww -o cgroup 35148 
 +CGROUP 
 +12:memory:/user.slice/user-1000.slice/session-7.scope,7:devices:/user.slice,4:pids:/user.slice/user-1000.slice/session-7.scope,2:blkio:/user.slice,1:name=systemd:/user.slice/user-1000.slice/session-7.scope 
 +</code>
  
-^ Directive  ^ Description ^ +Insérer le PID de notre script dans le CGroup **helloworld** :
-| "Identifier" | Spécifie un nom unique pour la section. Cette directive est obligatoire. | +
-| "Device" | Spécifie la section Device concernée. Cette directive est obligatoire. | +
-| "Monitor" | Spécifie la section Monitor concernée. | +
-| "DefautDepth" | Spécifie la profondeur de couleurs par défaut. +
-| "Display" | Spécifie les résolutions permises pour le DefaultDepth | +
-| "Option" | Spécifie une option. |+
  
-====La Commande xwininfo====+<code> 
 +[root@centos8 ~]# echo 35148 > /sys/fs/cgroup/memory/helloworld/cgroup.procs 
 +</code>
  
-La commande xwininfo permet d'obtenir de l'information concernant une fenêtre graphique. Dans la pratique il convient de saisir la commande puis de cliquer sur une fenêtre. Le résultat obtenu est similaire à celui-ci :+Notez maintenant l'héritage de la limitation de la mémoire **12:memory:/helloworld** :
  
 <code> <code>
-[root@centos7 ~]# xwininfo+[root@centos8 ~]# ps -ww -o cgroup 35148 
 +CGROUP 
 +12:memory:/helloworld,7:devices:/user.slice,4:pids:/user.slice/user-1000.slice/session-7.scope,2:blkio:/user.slice,1:name=systemd:/user.slice/user-1000.slice/session-7.scope 
 +</code>
  
-xwininfoPlease select the window about which you +Constatez ensuite l'occupation mémoire réelle :
-          would like information by clicking the +
-          mouse in that window.+
  
-xwininfo: Window id: 0x2800025 "xwindow (~/Desktop) - gedit"+<code> 
 +[root@centos8 ~]# cat /sys/fs/cgroup/memory/helloworld/memory.usage_in_bytes 
 +274432 
 +</code>
  
-  Absolute upper-left X 0 +Tuez le script **hello-world.sh** :  
-  Absolute upper-left Y:  60 + 
-  Relative upper-left X:  0 +<code> 
-  Relative upper-left Y:  32 +[root@centos8 ~]# kill 35148 
-  Width: 1366 +[root@centos8 ~]# ps aux | grep hello-world 
-  Height: 574 +root       35307  0.0  0.0  12136  1112 pts/1    S+   08:55   0:00 grep --color=auto hello-world 
-  Depth: 24 +[1]+  Terminated              ./hello-world.sh
-  Visual: 0x21 +
-  Visual Class: TrueColor +
-  Border width: 0 +
-  ClassInputOutput +
-  Colormap: 0x20 (installed) +
-  Bit Gravity State: NorthWestGravity +
-  Window Gravity State: NorthWestGravity +
-  Backing Store State: NotUseful +
-  Save Under State: no +
-  Map State: IsViewable +
-  Override Redirect State: no +
-  Corners:  +0+60  -0+60  -0-33  +0-33 +
-  -geometry 1366x574+0+28+
 </code> </code>
  
-Les options de la commande xwininfo sont :+Créez un second CGroup beaucoup plus restrictif :
  
 <code> <code>
-[root@centos7 ~]# xwininfo --help +[root@centos8 ~]# mkdir /sys/fs/cgroup/memory/helloworld1 
-usage xwininfo [-options ...]+[root@centos8 ~]# echo 6000 > /sys/fs/cgroup/memory/helloworld1/memory.limit_in_bytes 
 +[root@centos8 ~]# cat /sys/fs/cgroup/memory/helloworld1/memory.limit_in_bytes 
 +4096 
 +</code> 
 + 
 +Relancez le script **hello-world.sh** et insérez-le dans le nouveau CGroup : 
 + 
 +<code> 
 +[root@centos8 ~]# ./hello-world.sh & 
 +[1] 35389 
 + 
 +[root@centos8 ~]# hello world 
 +[Entrée]
  
-where options include: +[root@centos8 ~]# echo 35389 > /sys/fs/cgroup/memory/helloworld1/cgroup.procs
-    -help                print this message +
-    -display host:dpy    X server to contact +
-    -root                use the root window +
-    -id windowid         use the window with the specified id +
-    -name windowname     use the window with the specified name +
-    -int                 print window id in decimal +
-    -children            print parent and child identifiers +
-    -tree                print children identifiers recursively +
-    -stats               print window geometry [DEFAULT] +
-    -bits                print window pixel information +
-    -events              print events selected for on window +
-    -size                print size hints +
-    -wm                  print window manager hints +
-    -shape               print shape extents +
-    -frame               don't ignore window manager frames +
-    -english             print sizes in english units +
-    -metric              print sizes in metric units +
-    -all                 -tree, -stats, -bits, -events, -wm, -size, -shape+
 </code> </code>
  
-====La Commande xdpyinfo====+Attendez la prochaine sortie de **hello world** sur le canal standard puis constatez que le script s'arrête :
  
-Xdpyinfo est un utilitaire utilisé pour afficher des informations concernant le serveur X :+<code> 
 +[root@centos8 ~]# hello world 
 +[Entrée] 
 +[1]+  Killed                  ./hello-world.sh 
 +</code> 
 + 
 +===La Commande cgcreate=== 
 + 
 +Cette commande permet la création d'un CGroup :
  
 <code> <code>
-[root@centos7 ~]# xdpyinfo +[root@centos8 ~]# cgcreate -g memory:helloworld2 
-name of display:    :0 +[root@centos8 ~]# ls -l /sys/fs/cgroup/memory/helloworld2/ 
-version number   11.0 +total 
-vendor string   The X.Org Foundation +-rw-rw-r--. 1 root root 0 Jul 13 10:39 cgroup.clone_children 
-vendor release number   11500000 +--w--w----. 1 root root Jul 13 10:39 cgroup.event_control 
-X.Org version: 1.15.0 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 cgroup.procs 
-maximum request size 16777212 bytes +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.failcnt 
-motion buffer size 256 +--w--w----1 root root 0 Jul 13 10:39 memory.force_empty 
-bitmap unit, bit order, padding   32, LSBFirst, 32 +-rw-rw-r--. root root 0 Jul 13 10:39 memory.kmem.failcnt 
-image byte order   LSBFirst +-rw-rw-r--. 1 root root Jul 13 10:39 memory.kmem.limit_in_bytes 
-number of supported pixmap formats   7 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.kmem.max_usage_in_bytes 
-supported pixmap formats+-r--r--r--. 1 root root 0 Jul 13 10:39 memory.kmem.slabinfo 
-    depth 1, bits_per_pixel 1, scanline_pad 32 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.kmem.tcp.failcnt 
-    depth 4, bits_per_pixel 8, scanline_pad 32 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.kmem.tcp.limit_in_bytes 
-    depth 8, bits_per_pixel 8, scanline_pad 32 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.kmem.tcp.max_usage_in_bytes 
-    depth 15, bits_per_pixel 16, scanline_pad 32 +-r--r--r--. 1 root root 0 Jul 13 10:39 memory.kmem.tcp.usage_in_bytes 
-    depth 16, bits_per_pixel 16, scanline_pad 32 +-r--r--r--. root root 0 Jul 13 10:39 memory.kmem.usage_in_bytes 
-    depth 24, bits_per_pixel 32, scanline_pad 32 +-rw-rw-r--. root root 0 Jul 13 10:39 memory.limit_in_bytes 
-    depth 32, bits_per_pixel 32, scanline_pad 32 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.max_usage_in_bytes 
-keycode range   minimum 8, maximum 255 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.memsw.failcnt 
-focus window 0x2a00007, revert to Parent +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.memsw.limit_in_bytes 
-number of extensions   27 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.memsw.max_usage_in_bytes 
-    BIG-REQUESTS +-r--r--r--. 1 root root 0 Jul 13 10:39 memory.memsw.usage_in_bytes 
-    Composite +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.move_charge_at_immigrate 
-    DAMAGE +-r--r--r--. 1 root root 0 Jul 13 10:39 memory.numa_stat 
-    DOUBLE-BUFFER +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.oom_control 
-    DPMS +----------. 1 root root 0 Jul 13 10:39 memory.pressure_level 
-    DRI2 +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.soft_limit_in_bytes 
-    GLX +-r--r--r--. 1 root root 0 Jul 13 10:39 memory.stat 
-    Generic Event Extension +-rw-rw-r--. 1 root root 0 Jul 13 10:39 memory.swappiness 
-    MIT-SCREEN-SAVER +-r--r--r--. 1 root root 0 Jul 13 10:39 memory.usage_in_bytes 
-    MIT-SHM +-rw-rw-r--. 1 root root Jul 13 10:39 memory.use_hierarchy 
-    Present +-rw-rw-r--. 1 root root 0 Jul 13 10:39 notify_on_release 
-    RANDR +-rw-rw-r--. root root 0 Jul 13 10:39 tasks 
-    RECORD +</code>
-    RENDER +
-    SGI-GLX +
-    SHAPE +
-    SYNC +
-    X-Resource +
-    XC-MISC +
-    XFIXES +
-    XFree86-DGA +
-    XFree86-VidModeExtension +
-    XINERAMA +
-    XInputExtension +
-    XKEYBOARD +
-    XTEST +
-    XVideo +
-default screen number   +
-number of screens   1+
  
-screen #0+Il n'existe cependant pas de commande pour affecter une limitation de la mémoire 
-  dimensions:    1366x667 pixels (361x176 millimeters) + 
-  resolution:    96x96 dots per inch +<code> 
-  depths (7):    24, 1, 4, 8, 15, 16, 32 +[root@centos8 ~]# echo 40000000 > /sys/fs/cgroup/memory/helloworld2/memory.limit_in_bytes
-  root window id:    0x170 +
-  depth of root window:    24 planes +
-  number of colormaps:    minimum 1, maximum 1 +
-  default colormap:    0x20 +
-  default number of colormap cells:    256 +
-  preallocated pixels:    black 0, white 16777215 +
-  options:    backing-store WHEN MAPPED, save-unders NO +
-  largest cursor:    64x64 +
-  current input event mask:    0xda0003 +
-    KeyPressMask             KeyReleaseMask           StructureNotifyMask       +
-    SubstructureNotifyMask   SubstructureRedirectMask PropertyChangeMask        +
-    ColormapChangeMask        +
-  number of visuals:    120 +
-  default visual id:  0x21 +
-  visual: +
-    visual id:    0x21 +
-    class:    TrueColor +
-    depth:    24 planes +
-    available colormap entries:    256 per subfield +
-    red, green, blue masks:    0xff0000, 0xff00, 0xff +
-    significant bits in color specification:    8 bits +
-  visual: +
-    visual id:    0xf9 +
-    class:    TrueColor +
-    depth:    24 planes +
-    available colormap entries:    256 per subfield +
-    red, green, blue masks:    0xff0000, 0xff00, 0xff +
-    significant bits in color specification:    8 bits +
-...+
 </code> </code>
  
-Les options de la commande xwininfo sont :+==La Commande cgexec== 
 + 
 +Cette commande permet d'insérer la limitation dans le CGroup **et** de lancer le script en une seule ligne :
  
 <code> <code>
-[root@centos7 ~]# xdpyinfo --help +[root@centos8 ~]# cgexec -g memory:helloworld2 ./hello-world.sh & 
-usage:  xdpyinfo [options+[137670 
--display displayname server to query + 
--version print program version and exit +[root@centos8 ~]# hello world 
--queryExtensions print info returned by XQueryExtension +[Entrée] 
--ext all print detailed info for all supported extensions + 
--ext extension-name print detailed info for extension-name if one of: +[root@centos8 ~]# 
-     MIT-SHM XKEYBOARD Multi-Buffering SHAPE SYNC XFree86-DGA  +
-     XFree86-VidModeExtension XFree86-Misc XTEST DOUBLE-BUFFER RECORD  +
-     XInputExtension RENDER XINERAMA DMX +
 </code> </code>
  
-=====L'Accès Universel=====+==La Commande cgdelete==
  
-L'Accès Universel ou //Accessibility// en anglais fait référence aux outils divers et variés permettant aux personnes qui présentent des handicaps à utiliser l'ordinateur.+Une fois le script terminé, cette commande permet de supprimer le cgroup :
  
-====Le Clavier et la Souris====+<code> 
 +[root@centos8 ~]# ps aux | grep *.sh 
 +root       37670  0.0  0.0  12724  3112 pts/1    S    10:41   0:00 /bin/bash ./hello-world.sh 
 +root       37685  0.0  0.0  12136  1148 pts/1    S+   10:42   0:00 grep --color=auto hello-world.sh
  
-Historiquement, le logiciel graphique **AccessX** existait pour régler les paramètres du clavier. Ce logiciel a maintenant été largement remplacé par les panneaux de configuration des distributions. Parmi les paramètres reglables on trouve :+[root@centos8 ~]# kill 37670
  
-^ Paramètre ^ Description ^ +root@centos8 ~]# ps aux | grep *.sh 
-| Sticky Keys | Permet de maintenir les touches <key>Ctrl</key>, <key>Alt</key> et <key>Shift</key> enfoncées après avoir été relachées jusqu'à l'enfoncement d'une deuxième touche | +root       37726  0.0  0.0  12136  1156 pts/1    R+   10:43   0:00 grep --color=auto hello-world.sh 
-| Mouse Keys | Permet d'émuler une souris avec le pavé directionnel | +[1]+  Terminated              cgexec -g memory:helloworld2 ./hello-world.sh
-| Bounce Keys | Permet de réduire l'effet causé quand un utilisateur appuie accidentellement plusieurs fois de suite sur la même touche | +
-| Slow Keys | Necéssite qu'une touche soit enfoncée pour une durée plus longue avant que le système réagisse |+
  
-====Claviers Visuels====+[root@centos8 ~]# cgdelete memory:helloworld2
  
-Un clavier visuel ou //Onscreen Keyboard// est un clavier qui est afficher à l'écran. Les touches sont activées en utilisant la souris.+[root@centos8 ~]# ls -l /sys/fs/cgroup/memory/helloworld2/ 
 +ls: cannot access '/sys/fs/cgroup/memory/helloworld2/': No such file or directory 
 +</code>
  
-Un exemple connu du clavier visuel est **[[http://library.gnome.org/users/gnomeaccessguide/stable/gok.html|GOK]]** (//Gnome On-Screen Keyboard//).+==Le Fichier /etc/cgconfig.conf==
  
-====L'Ecran====+Afin de les rendre persistants, il convient d'éditer le fichier **/etc/cgconfig.conf** :
  
-En ce qui concerne la visibilité de l'écranplusieurs caractéristiques sont importants dont la luminositéle contrastela taille de la police ainsi que le choix de la police.+<code> 
 +[root@centos8 ~]# vi /etc/cgconfig.conf 
 +[root@centos8 ~]# cat /etc/cgconfig.conf 
 +
 +#  Copyright IBM Corporation. 2007 
 +
 +#  Authors:     Balbir Singh <balbir@linux.vnet.ibm.com> 
 +#  This program is free software; you can redistribute it and/or modify it 
 +#  under the terms of version 2.1 of the GNU Lesser General Public License 
 +#  as published by the Free Software Foundation. 
 +
 +#  This program is distributed in the hope that it would be usefulbut 
 +#  WITHOUT ANY WARRANTY; without even the implied warranty of 
 +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
 +
 +
 +# By defaultwe expect systemd mounts everything on boot, 
 +# so there is not much to do. 
 +# See man cgconfig.conf for further details, how to create groups 
 +# on system boot using this file. 
 +group helloworld2 { 
 +        cpu { 
 +                cpu.shares = 100; 
 +        } 
 +        memory { 
 +                memory.limit_in_bytes = 40000; 
 +        } 
 +
 +</code>
  
-Il existe aussi des loupes telles **Kmag**.+<WRAP center round important 60%> 
 +**Important** - Notez la création de **deux** limitations, une de 40 000 octets de mémoire et l'autre de **100** **cpu.shares**. Cette dernière est une valeur exprimée sur 1 024, où 1 024 représente 100% du temps CPU. La limite fixée est donc equivalente à 9,77% du temps CPU. 
 +</WRAP>
  
-====Autres Technologies====+Créez donc les deux CGroups concernés :
  
-Il existe aussi des logiciels de synthèse vocal tels **[[http://live.gnome.org/Orca|Orca]]** et **[[http://emacspeak.sourceforge.net|Emacspeak]]** ainsi que des moniteurs Braille qui utilisent **[[http://www.mielke.cc/brltty/|BRLTTY]]**.+<code> 
 +[root@centos8 ~]# cgcreate -g memory:helloworld2 
 +[root@centos8 ~]# ls -l /sys/fs/cgroup/memory/helloworld2/ 
 +total 0 
 +-rw-rw-r--1 root root 0 Jul 13 10:46 cgroup.clone_children 
 +--w--w----. 1 root root 0 Jul 13 10:46 cgroup.event_control 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 cgroup.procs 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.failcnt 
 +--w--w----. 1 root root 0 Jul 13 10:46 memory.force_empty 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.kmem.failcnt 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.kmem.limit_in_bytes 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.kmem.max_usage_in_bytes 
 +-r--r--r--. 1 root root 0 Jul 13 10:46 memory.kmem.slabinfo 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.kmem.tcp.failcnt 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.kmem.tcp.limit_in_bytes 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.kmem.tcp.max_usage_in_bytes 
 +-r--r--r--. 1 root root 0 Jul 13 10:46 memory.kmem.tcp.usage_in_bytes 
 +-r--r--r--. 1 root root 0 Jul 13 10:46 memory.kmem.usage_in_bytes 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.limit_in_bytes 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.max_usage_in_bytes 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.memsw.failcnt 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.memsw.limit_in_bytes 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.memsw.max_usage_in_bytes 
 +-r--r--r--. 1 root root 0 Jul 13 10:46 memory.memsw.usage_in_bytes 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.move_charge_at_immigrate 
 +-r--r--r--. 1 root root 0 Jul 13 10:46 memory.numa_stat 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.oom_control 
 +----------. 1 root root 0 Jul 13 10:46 memory.pressure_level 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.soft_limit_in_bytes 
 +-r--r--r--. 1 root root 0 Jul 13 10:46 memory.stat 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.swappiness 
 +-r--r--r--. 1 root root 0 Jul 13 10:46 memory.usage_in_bytes 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 memory.use_hierarchy 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 notify_on_release 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:46 tasks 
 +</code> 
 + 
 +<code> 
 +[root@centos8 ~]# cgcreate -g cpu:helloworld2 
 +[root@centos8 ~]# ls -l /sys/fs/cgroup/cpu/helloworld2/ 
 +total 0 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 cgroup.clone_children 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 cgroup.procs 
 +-r--r--r--. 1 root root 0 Jul 13 10:47 cpuacct.stat 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 cpuacct.usage 
 +-r--r--r--. 1 root root 0 Jul 13 10:47 cpuacct.usage_all 
 +-r--r--r--. 1 root root 0 Jul 13 10:47 cpuacct.usage_percpu 
 +-r--r--r--. 1 root root 0 Jul 13 10:47 cpuacct.usage_percpu_sys 
 +-r--r--r--. 1 root root 0 Jul 13 10:47 cpuacct.usage_percpu_user 
 +-r--r--r--. 1 root root 0 Jul 13 10:47 cpuacct.usage_sys 
 +-r--r--r--. 1 root root 0 Jul 13 10:47 cpuacct.usage_user 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 cpu.cfs_period_us 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 cpu.cfs_quota_us 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 cpu.rt_period_us 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 cpu.rt_runtime_us 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 cpu.shares 
 +-r--r--r--. 1 root root 0 Jul 13 10:47 cpu.stat 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 notify_on_release 
 +-rw-rw-r--. 1 root root 0 Jul 13 10:47 tasks 
 +</code> 
 + 
 +==La Commande cgconfigparser== 
 + 
 +Appliquez le contenu du fichier **/etc/cgconfig.conf** grâce à l'utilisation de la commande **cgconfigparser** : 
 + 
 +<code> 
 +[root@centos8 ~]# cgconfigparser -l /etc/cgconfig.conf 
 +[root@centos8 ~]# cat /sys/fs/cgroup/memory/helloworld2/memory.limit_in_bytes 
 +36864 
 +[root@centos8 ~]# cat /sys/fs/cgroup/cpu/helloworld2/cpu.shares 
 +100 
 +</code>
  
 ----- -----
-<html> +Copyright © 2022 Hugh Norris.
-<div align="center"> +
-Copyright © 2020 Hugh Norris. +
-</html>+
Menu