La différence entre > et | dans Ansible réside dans la manière dont les chaînes sont traitées. Les symboles : > : utilisé pour plier une chaîne de texte : remplace les sauts de ligne par des espaces, sauf à la fin de la chaîne utilisé lpour écrire du texte sur plusieurs lignes mais qui sera traité comme une seule ligne | : utilisé pour traiter une chaîne de texte comme un bloc non plié : conserve les sauts de ligne d’origine utile pour la mise en forme Utilisation de >L’utilisat
Accueil
Vérifier la santé des disques, les commandes diffères en fontion d’un SSD et d’un NVME Conteneurs en tant que serviceCréation de fichiers utilisateur systemd pour les conteneursIl est possible de définir manuellement les services systemd dans le répertoire ~/.config/systemd/user/. La commande podman generate systemd permet de configurer le service systemd afin de créer le conteneur lorsque le service démarre : $ podman generate systemd --name mywebserver [...]ExecStart=/usr/bin/podman start myw
Mappage de port sur des conteneursLa commande podman run -p permet de faire un mappage de port, ici entre le port 13306 de l’hôte et le port 3306 du conteneur db_client_2 : $ podman run -d --name db_client_2 \-e MYSQL_USER=luci \-e MYSQL_PASSWORD=Luci3v1l \-e MYSQL_DATABASE=dev_data \-e MYSQL_ROOT_PASSWORD=Aw3s0m3P4SS! \-v /home/projet/db_data:/var/lib/mysql:Z \-p 13306:3306 \my.com.pany.org/mysql La commande podman port -a affiche tous les mappages de ports de conteneur utilisés : $ podman por
Dans le cas d’un conteneur faisant office de server Web ou de BDD, il sera sans doute nécessaire d’accrocher un stockage persistant ou un accès à d’autres réseaux. Stockage persistant de conteneurPar défaut, toutes les nouvelles données écrite dans le conteneur sont perdues après sa suppression. Pour conserver les données, l’option --volume (-v) permets d’utiliser le système de fichier de l’hôte (et prévoir les bonnes autorisations). Mappage UID/GIDLa commande podman unshare cat permet d’affiche
Certaines images permettent de transmettre des variables d’environnement (généralement elles ne sont pas définies dans les fichiers d’images). Variables d’environnement pour les conteneursLa commande podman run -d my.com.pany.org/rhel8/mariadb-105 exécute une BDD en conteneur, mais ici le conteneur ne démarre pas : $ podman run -d my.com.pany.org/rhel8/mariadb-105 --name db_013897204fb0e7c58a0f1751647cac584256d26c49c43585912361249856de225ae $ podman ps -aCONTAINER ID IMAGE
Podman et Skopeo permettent de gérer les conteneurs et les images de conteuneurs. Utilitaires pour conteneursLe paquet container-tools permet de télécharger, exécuter et comparer des conteneurs (et contient podman et skopeo) : $ dnf install container-tools Information sur le paquet : $ dnf info container-tools Updating Subscription Management repositories.Last metadata expiration check: 0:52:07 ago on Sun 27 Oct 2024 01:21:26 PM +00.Installed PackagesName : container-toolsVersion
Un conteneur est un ensemble de processus isolés du reste du système et permet d’empaqueter des applications en simplifiant leur déploiement et leur gestion. RHEL prend en charge les conteneurs en utilisant : Control Groups (cgroups) pour la gestion des ressources Namespaces pour l’isolement des processus SELinux et Seccomp (Secure Computing Mode) pour appliquer les limites de sécurité Différences entre conteneurs et machines virtuellesLes conteneurs et machines virtuelles ont de nombreux avan
Le framework netfilter est utilisé pour les opérations de trafic réseau (filtrage paquets, traduction d’adresses, traduction de ports).La structure netfilter comprend des hooks (scripts automatiques) pour interagir avec les paquets réseau entrants. Ces hooks sont des routines noyau qui interceptent lesévénements et lancent d’autres routines connexes (règles de pare-feu). Achitecture du pare-feu firewalldnftablesLa structure nftables s’appuie sur netfilter pour appliquer les règles de pare-feu au
Network File System (NFS) est un protocole Internet standard et prend en charge les autorisations Linux natives et les attributs de système de fichiers. Les serveurs NFS exportent les répertoires et les clients NFS montent les répertoires exportés sur un point de montage local existant. Les clients NFS peuvent monter les répertoires exportés de plusieurs façons : Manuellement en utilisant la commande mount De façon persistante au démarrage en configurant des entrées dans le fichier /etc/fstab
Comment configurer et paramétrer les interfaces réseau sur des serveurs. Changer le hostnameLa commande hostname affiche ou modifie temporairement le nom d’hôte : # hostname# hostname my.temporary.hostname Pour le rendre permanent, il faut modifier le fichier /etc/hostname ou utiliser la commande hostnamectl : # hostnamectl hostname my.awesome.hostname.com# hostnamectl statusStatic hostname: my.awesome.hostname.com[...] Résolution DNSLa commande host HOSTNAME permet de tester la connectivité d
Les configurations réseau sont stockées dans le fichier /etc/NetworkManager/system-connections/, et toutes les modifications effectuées avec la commande nmcli y sont ajoutées. Modifier la configuration via le fichier de confIl est possible de directement modifier la configuration réseau directement dans les fichiers nommés /etc/NetworkManager/system-connections/<name>.nmconnection, où name est le nom du périphérique ou de la connexion. NetworkManager utilise les répertoires suivants pour s
NetworkManager surveille et gère de façon dynamique les périphériques et les connexions réseau d’un système et les fichiers de configuration sont stockés dans le répertoire /etc/NetworkManager/system-connections/. Chaque connexion doit avoir un nom ou un ID unique Un périphérique peut avoir plusieurs configurations de connexion et basculer entre elles Une seule connexion peut être active par périphérique Commande nmcliExtrait de l’aide pour nmcli : Commandes Explication nmcli dev status
Comment se renseigner sur les interfaces réseau des serveurs. Informations sur les interfaces réseauLister les interfacesLa commande ip link liste toutes les interfaces réseau disponibles sur le système : # ip link# ip link show Exemple : # ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mod
La synchronisation de l’horloge système est essentielle pour l’analyse des logs. Le protocole NTP est utilisé pour fournir un horodatage correct. Commande timedatectlLa commande timedatectl affiche les paramètres d’horodatage : # timedatectl Local time: Sun 2024-09-22 03:46:12 EDT Universal time: Sun 2024-09-22 07:46:12 UTC RTC time: Sun 2024-09-22 07:46:12 Time zone: America/Toronto (EDT, -0400)System clock synchronized: yes N
Par défaut les logs système sont stockés dams /run/log et sont supprimés après un redémarrage mais il est possible d’y remédier en configurant le service systemd-journald via le fichier /etc/systemd/journald.conf. Fichier /etc/systemd/journald.confLe paramètre Storage du fichier /etc/systemd/journald.conf définit si les logs système doivent être volatils ou persistants : persistent : stocke les logs dans le répertoire persistant /var/log/journal volatile : stocke les logs dans le répertoire vol
Le répertoire /run/log est en RAM, donc en cas d’arrêt du système les données qu’il contient seront perdues mais il est possible de déplacer ses données dans un autre répertoire. Retrouver les logs perdus avec journalctl :La commande journalctl permet de récuperer les logs perdus. # journalctl Afficher les 2 dernières entrées : # journalctl -n 2 Sep 18 15:20:52 SERVER02 systemd[1]: Started Network Manager Script Dispatcher Service.Sep 18 15:21:02 SERVER02 systemd[1]: NetworkManager-dispatcher.s
Le noyau du système et les processus écrivent dans les logs tous les événements se produisant sur le système. Le protocole utilisé est Syslog et les messages qu’il produit sont utilisés par les services systemd-logd et rsyslog. Par défaut les logs ne persistent pas après les redémarrages. Emplacement des logsLes emplacements des logs de syslog : /var/log/messages : authentification, courriers, exécution de tâches planifiées, débogage /var/log/secure : sécurité, authentification /var/log/ma
Récupérer un système due à une configuration incorrecte et définir la cible de démarrage systemd par défaut. Procédure de réinitialisation du systèmePour accéder au systeme en rescue : Redémarrez le système avec un Ctrl+Alt+Del Interrompez le compte à rebours de GRUB en appuyant sur une touche quelconque (sauf Enter) Selectionner (sans valider) le système en RESCUE Appuyez sur e pour modifier l’entrée sélectionnée Chercher la ligne qui commence par linux (commande du noyau) Ajoutez systemd.unit
Comment réinitialiser le mot de passe root lorsque ce dernier est perdu sans support externe (Live CD, montage de la partition /etc/shadow). Procédure de réinitialisation du mot de passeTL;DR1/ Au boot, éditer (avec e) le mode rescue en ajoutant rd.break à la fin de la ligne commençant par Linux 2/ Puis F10 (ou Ctrl+x) pour reboot. 3/ Puis, dans le prompt : switch_root:/# mount -o remount,rw /sysrootswitch_root:/# chroot /sysroot sh-5.1# passwd rootsh-5.1# touch /.autorelabelsh-5.1# exit switch
Le daemon systemd gère le processus de démarrage pour Linux, y compris les démarrages des autres services et leur gestion. Les daemons sont des processus exécutés en arrière-plan. Par convention, les noms de daemons se terminent par d. Les services pour systemd font référence à un ou plusieurs daemons. Le premier processus qui se lance sur le système est systemd est possède un PID 1. Gérer les deamons et servicesLa commande systemctl affiche l’état du système en listant les services chargés e
La création de volumes logiques se fait en plusieurs étapes. Ci-dessous un flux de travail de base pour utiliser LVM sous Linux. Création d’un stockage LVMPréparation des disquesCréez une nouvelle partition LVM avec fdisk : # fdisk /dev/vde Créez une nouvelle partition LVM : n : créer une nouvelle partition type de partition : par défaut primaire, appuyez sur Enter numéro de partition : par défaut le prochain disponible, appuyez sur Enter premier secteur : appuyez sur Enter pour utiliser la va
LVM (Logical Volume Manager) permet de gérer l’espace de stockage de manière plus dynamique et flexible en utilisant les concepts de Physical Volumes, Volume Groups et Logical Volumes. Avantage de LVML’avantages avec LVM est de : redimensionner des volumes sans arrêter les applications ni démonter les systèmes de fichiers de déplacer des données entre des disques d’ajouter facilement de nouveaux disques au pool de stockage Disque physiques - Partitions - PV - VG - LVPéripheriques PhysiquesLes
Le swap (espace d’échange) est une zone de stockage sur le disque dur utilisée par le système pour étendre la capacité de la mémoire vive (RAM). Lorsque la RAM atteint sa limite, le swap permet de déplacer temporairement des données moins utilisées vers le disque dur, libérant ainsi de l’espace en RAM pour les données actuellement nécessaires. Capacité recommandée RAM Swap Swap si hibernation ⩽ 2Go 2 x la RAM 3 x la RAM 2 Go - 8 Go = à la RAM 2 x la RAM 8 Go - 64 Go ⩾ 4 Go 1,5 x la RAM
Exemple de gestion du stockage. Montage et démontage de systèmes de fichiersLa commande lsblk donne les disques existants, ici sdb, sdc et sdd viennent d’être ajoutés et ne sont pas partitionnés : [root@SERVER01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSsda 8:0 0 50G 0 disk├─sda1 8:1 0 600M 0 part /boot/efi├─sda2 8:2 0 1G 0 part /boot└─sda3 8:3 0 48.4G 0 part ├─rhel-root 253:0 0 44.5G 0 lvm / └─rhel-swap 253:1
Les commandes mount et unmount permettent monter et démonter un système de fichiers manuellement en utilisant soit le nom du périphérique dans /dev ou avec son UUID. Lister les périphériques disponiblesLa commande lsblk permet de lister les périphériques disponibles : # lsblk La commande lsblk avec les options -f et -p permet de lister les périphériques disponibles et d’afficher leurs UUID : # lsblk -fp Sortie de la commande : NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE
Pour créer un système de fichier on utilise la commande mkfs. Créer un système de fichiersAfficher le types de système de fichiers : # lsblk# file /dev/sdX Monter un système de fichier : # mkfs.ext4 /dev/sdX1# mkfs.fat -F32 /dev/sdX1# mkfs.ntfs /dev/sdX1# mkfs.xfs /dev/sdX1# mkfs.btrfs /dev/sdX1 Afficher les types de système de fichiersPeut se faire avec lsblk -o NAME, FSTYPE et blkid : # lsblk -o NAME,FSTYPENAME FSTYPEsda├─sda1 vfat├─sda2 xfs└─sda3 LVM2_member ├
Pour patitionner un volume, on peut utiliser parted ou fdisk. À moins d’être expert·e parted il vaut mieux utiliser fdisk car les modifications restent en RAM avant la modification finale, alors que pour parted tout se valide au fur et à mesure et peut être compliqué en cas d’erreur. Partitionner un volumeOn veut partitionner un volume vdb. Affichage des informations sur les volumesListing des volumes disponibles : # lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSvda 252:0 0 10G 0 disk
Ordre pour créer un nouveau volume sur un système : 0 - Plugger son disque1 - Créer une partition2 - Créer un système de fichiers3 - Monter la partition OrdrePlugger un disqueAfficher les informations des volumes : # lsblk # lsblk -fp # lsblk -fs Créer une partitionAfficher les informations des volumes : # lsblk # lsblk -fp # lsblk -fs Partitionner un volume, lire les instructions de l’aide # fdisk /dev/sdX Appliquer la modificationPour s’assurer que le noyau et udev ont bien pris e
La commande dnf repolist all permets de lister tous les repositories ( = dépôts) disponibles : dnf repolist all Activer des dépôtsPour activer un dépôt : # dnf config-manager --enable <name> // Active un dépôts Ajouter des dépôtsVia les fichiers de configurationIl est possible d’ajouter des dépôts de 2 façons : Créer un fichier .repo dans le répertoire /etc/yum.repos.d/ (Recommandé, les fichiers sont prioritaires) Ajouter une section [repository] au fichier /etc/dnf/dnf.conf (Plus pou
DNF pour Dandified YUM (YUM vêtu en dandy 🤔 🤨) remplace maintenant YUM en tant que gestionnaire de packages dans RedHat 9. Les commandes DNF sont identiques à YUM. DNF et rpmCommande rpm : bas niveau utilisée pour installer des packages ne résoud pas les dépendances Commande dnf : améliore l’installation et les MAJ basés sur RPM pour installer, MAJ, supprimer pour obtenir des informations sur les packages et leurs dépendances historique des transactions Utilisation de dnfInformations sur l
La plupart des applications, services et utilisateurs utilisent des fichiers et des répertoires temporaires dans /tmp.Les daemons (et parfois les utilisateurs) utilisent le répertoire /run.Ces répertoires /tmp et /run existent uniquement en mémoire et quand le système redémarre un nettoyage automatique est effectué. L’outil systemd-tmpfiles permet de gérer les répertoires et les fichiers temporaires. Il exécute au démarrage la commande systemd-tmpfiles avec les l’options --create ou --remove et
Les daemons Cron et Anacron servent à planifier l’exécution de tâches récurrentes à un certain moment : une heure exacte, un jour du mois, un jour de la semaine et par une semaine. CronLa commande crontab permet de gérer et de planifier des tâches. Pour exécuter des tâches récurentes, il est conseillé de les faire à partir d’un compte système plutôt qu’utilisateur. Le fichier /etc/crontab donne la syntaxe et il est possible de spécifier l’utilisateur : SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/u