La commande dnf history undo <transaction-id> permet d’annuler une transaction (installation, mise à jour, suppression) en utilisant l’ID de la dernière transaction et non pas directement un paquet. Annuler une transactionLa commande dnf history undo revient en arrière et annule les changements d’une transaction identifiée par son ID : # dnf history undo <transaction-id> Les cas possibles sont : Si la transaction avait installé un paquet ⮕ le paquet sera supprimé Si la transaction a
Accueil
La principale différence entre ces 2 boucles for est que la 1ère fait de l’exécution parallèle (&) et l’autre séquentielle (;) des processus : # for i in {1..3}; do md5sum /dev/zero & done# for i in {1..3}; do md5sum /dev/zero; done Commande avec & ou exécution en arrière-planCommande pour une éxécution en arrière-plan : # for i in {1..3}; do md5sum /dev/zero & done Dans cette commande : La boucle for itère 3 fois À chaque itération, la commande m
Change a disk from a RAID software before it dies. Check disks healthUseful commands:# dmesg | grep sd* // Display kernel system logs# lsscsi -s // Display informations about SCSI devices# lsblk // Display informations about disks partitions# smartctl -a /dev/sdX -d cciss,N // Display S.M.A.R.T. disks informations# cat /proc/mdstat // Display disks and RAID# mdadm --detail /dev/mdX // Manage RAID T
If you have a certificate problem with your AAP webGUI. Add a certificate1/ DL on your AAP server the certificates (probably a files named like the following: AAP-Server.your.company.org.key.pem and AAP-Server.your.company.org.cert.pem) 2/ In your /etc/tower folder you should have some old certificates, rename them and put your news certificates with the same name: # cp /etc/tower/tower.cert /etc/tower/tower.cert-$(date +%F)# cp /etc/tower/tower.key /etc/tower/tower.key-$(date +%F)# rm /etc/towe
A bash script for backup some configuration files on a distant volume. PrerequiesYou need at least this packages: # yum install nfs-utils# yum intall s-nail // for send mails You need to edit your /etc/fstab and add the following line: nfs-stockage.my.company.org:/backups/aap /mnt/aap-backups nfs defaults 0 0 You can add a cron like this (every monday at 8am): 0 8 * * 1 /root/AAP-scripts/backup-config.sh | mailx -v -s "[AAP] - Backup of $HOSTNAME" -S smtp=mail.m
Red Hat Satellite et Red Hat Virtualization (RHV) sont deux produits distincts de Red Hat, chacun ayant des fonctionnalités spécifiques et répondant à des besoins différents dans l’infrastructure informatique. Differences entre Red Hat Satellite et RHVRed Hat SatelliteFonction principale : Red Hat Satellite est une solution de gestion de l’infrastructure qui simplifie le déploiement, la configuration et la gestion continue des systèmes Red Hat Enterprise Linux (RHEL) au sein d’une entreprise. Ge
Script en Python pour donner un effet “Canny” à vos images en ajouter une couche de vert (mais en conservant les blancs) : from PIL import Image, ImageOpsimport cv2import numpy as npimport osimport globdef canny_edge_detection(input_path, output_path): try: image = cv2.imread(input_path, cv2.IMREAD_GRAYSCALE) edges = cv2.Canny(image, 150, 250) cv2.imwrite(output_path, edges) print(f"canny_edge_detection : {input_path} - OK") except Exception
The ability to backup and restore your system is integrated into the platform setup playbook. TL;DRSummary: # ./setup.sh -b // backup# ./setup.sh -r // restore# ./setup.sh -e 'backup_dest=/path/to/backup_dir/' -b // backup in a specific folder# ./setup.sh -e 'restore_backup_file=/path/to/nondefault/backup.tar.gz' -r // restore from a speficic file Make a backupSimple BackupYou make a backup using the same setup.sh script that you use to in
You can use ssacli (smart storage administrator command line interface) tool to manage any of supported HP Smart Array Controllers to fully manage your storage (controllers, physical disks, logical drives, etc.). The ssacli command replaces older hpssacli but shares the same syntax. Launch the HPE CLI .Go into the HPE CLI on your storage: $ sudo ssacli // HPE Proliant$ sudo hpssacli // HPE Smart Storage Administrator Or you can directly call them by
Pour créer un fichier .bashrc par défaut pour tous les utilisateurs, il faut le placer dans /etc/skel/. Les fichiers et répertoires situés dans /etc/skel/ sont utilisés comme modèle lors de la création de tous nouveaux utilisateurs. Créez un fichier /etc/skel/.bashrc qui, par exemple contient : # Récupération des informations de la distributioninfos=$(lsb_release -d)version=$(cat /etc/debian_version)# Récupération des informations utilesa=${infos:13:6}b=${version:0:5}c=$
Ce script est à mettre dans la crontab #!/bin/bash# Fichier pour les logsACTIVITY_LOG_FILE="/opt/activity_log.txt"# DestinatairesTO_EMAIL="[email protected] [email protected]"# ExpéditeurFROM_EMAIL="[email protected]"# Serveur SMTPSMTP_SERVER="mail.domain.company.org"# Fonction mailsend_email() { subject="$1" body="$2" printf "%b" "$body" | mailx -v -s "$subject" -S smtp=&qu
Il existe 3 classes de hostname : static, pretty et transient : hostname static : hostname traditionnel peut être choisi par l’utilisateur stocké dans /etc/hostname hostname transient : hostname dynamique maintenu par le noyau initialisé par défaut avec le hostname static la valeur par défaut est localhost peut être modifié par DHCP ou mDNS au moment de l’exécution hostname pretty : hostname UTF8 de forme libre destiné à être présenté à l’utilisateur La commande hostnamectl permets d’ad
Script Python permettant de calculer des matrices booléennes et décimales avec les principaux opérateurs. from fractions import Fractionimport numpy as np# Création de matrice 4x4matrice_decimal1 = np.array([[1, 2, 8, 0], [1, 4, 0, 1], [0, 3, 2, 0], [3, 1, 2, 1]])matrice_decimal2 = np.array([[8, 1, 0, 4], [1, 5, 1, 1], [0, 0, 4, 3],
Ce script bash permet de convertir des caractères en les remplaçant par d’autres. #!/bin/bash# Chaîne de caractères fourniema_chaine="23:31-13:08-02:45-[...]-10:23-00:00-13:37-03:14-16:51-[...]-20:17-09:54-23:31"# Définir l'association chiffre-lettredeclare -A num_to_letter=( [0]="O" [1]="L" [2]="Z" [3]="E" [4]="A" [5]="S" [6]="G" [7]="T" [8]="B" [9]="J"
Ce script bash permet de définir une heure au format hh:mm, d’ajouter à chaque fois 13h et 37 minutes et de colorer le résultat lorsque 13:37 apparait.Pour faire un cycle complet il faut 1441 itérations. #!/bin/bashcurrent_date="23:31"for i in {1..1441}; do if [[ "$current_date" = "23:31" ]]; then echo -en "\e[32m$current_date\e[0m-" elif [[ "$current_date" = "13:37" ]]; then echo -en "\e[37m$current_d
Ansible Vault est un outil intégré à Ansible qui permet de chiffrer des fichiers contenant des données sensibles, comme des mots de passe ou des clés privées Chiffrer des données avec Ansible-Vault et déployer un playbookCréer un fichier chiffréLors de la création d’un fichier chiffré, Ansible Vault demandera de fournir un mot de passe pour chiffrer le fichier : # ansible-vault create /path/encrypted.yml Exemple de contenu : # encrypted.yml (chiffré)user_john_passwd: 1337H4X0Rvariable_secret: 1
Lorsque vous lancez votre playbook Ansible il peut signaler des erreurs (en rouge et bien VISIBLES). Parfois ces erreurs ne sont que mineures et vous pouvez spécifier à Ansible qu’il n’est pas nécessaire de vous hurler dessus pour si peu. Customisation des erreursLes paramètres à configurer sont ignore_errors, no_log, register et failed_when : ---- name: Script hosts: vos_hôtes become: yes tasks: - name: Lancement du script monscript.sh command: /usr/local/monscript.sh -<options1
Red Hat oVirt et Red Hat Virtualization se rapportent tous deux à des solutions de virtualisation proposées par Red Hat, mais ils diffèrent dans leur nature et leur fonctionnement. Différence entre RHV et oVirtRed Hat Virtualization (RHV)Description : Red Hat Virtualization est la solution de virtualisation d’entreprise de Red Hat basée sur la plateforme KVM (Kernel-based Virtual Machine). Elle propose une infrastructure de virtualisation complète et prend en charge diverses fonctionnalités de v
Dans Ansible, {{ item }} est une syntaxe utilisée dans les expressions Jinja2 pour référencer la valeur de l’élément en cours lors d’une itération. Quand une boucle loop est utilisé, l’élément item fait référence à l’élément actuel dans la boucle. Utilisation des loopsEcrire dans un fichierPour ajouter plusieurs lignes à un fichier, le loop permet de lister les lignes à ajouter au fur et à mesure.Le insertafter: EOF correspond à un >>, c’est à dire que l’ajout se fait à
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
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 à des conteneursLa commande podman run -p permet de faire un mappage de port, ici entre le port 13306 de l’host et le port 3306 du conteneur db_01 : $ podman run -d --name db_01 \-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/rhel8/mariadb-105 La commande podman port -a affiche tous les mappages de ports de conteneur utilisés : $ podman port
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’host (et prévoir les bonne autorisations). Mappage UID/GIDLa commande podman unshare cat permet d’afficher
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 permetten de gérer les conteneurs et les images de conteu=neurs. 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[...]Summary : A meta-package witch container tools such as podman, buildah, skopeo, etc.License : MITDescription : Latest versions of podman, buildah, skopeo, runc, conmon, CRIU, Udica,
Un conteneur est un ensemble de processus isolés du reste du système et permettent 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
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 dan /etc/NetworkManager/system-connections/, sont ajoutées toutes les modifications effectuées avec la commande nmcli con mod name. Modifier la configuration via le fichier de confIl est possible de directement modifier la configuration réseau directement dans les fichier 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 stocker
NetworkManager surveille et gère de façon dynamique les périphériques et les connexions réseau d’un système.Les fichiers de configuration sont stockés dans /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 Affich
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 show1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULTgroup default qlen 1000link/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 mode DEF