Accueil

[ TITLE    ] : Comportement de LVM lors de l'extension ou de la création de volumes
[ CATEGORY ] : //
[ DATE     ] :

LVM gère automatiquement l’extension des volumes logiques pour utiliser efficacement l’espace disponible, mais cela peut conduire à une distribution sur plusieurs disques ou partitions et peut sembler désorganisé si on vérifie avec lsblk. Mais il est cependant possible de forcer manuellement la disposition des LV pour garder un certain contrôle et une “harmonie visuelle” sur la répartition (la maniaquerie…). Répartition des LVIl est assez courant d’observer dans les environnements LVM ce type d

[ TITLE    ] : Stockage - LVM - Exemple d'architecture
[ CATEGORY ] : //
[ DATE     ] :

L’objectif ici est de mettre en place une architecture basée sur LVM (Logical Volume Manager) correspondant au schéma ci-dessous. il s’agit d’un exemple fictif (mais possible) permettant de recouvrir plusieurs cas de figure. DescriptionHard Drives Les disques durs physiques : /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde Les disques sont partionnés. Partitions Les partitions de chaque disque physique : Le disque /dev/sda est partitionné en /dev/sda, /dev/sda, /dev/sda Le disque /dev/sdb est p

[ TITLE    ] : Utilser partprobe ou udevadm settle ? Et systemctl daemon-reload ?
[ CATEGORY ] : //
[ DATE     ] :

La commande partprobe informe le noyau des changements sur les partitions des disques et udevadm settle attend que udev termine de traiter les événements matériels. Les lancer toutes les deux en cas de doute permet de s’assurer que tous les changements ont bien été pris en compte correctement. Ordre recommandé : partprobe : pour notifier le noyau - Utilisé après la création ou la modification des partitions pour informer le noyau des nouvelles partitions udevadm settle : pour s’assurer que udev

[ TITLE    ] : TiNa - Recycle Cartridges and Catalog Backup & Purge/Defrag
[ CATEGORY ] : //
[ DATE     ] :

First, close all TiNa apps (GUI TiNa, etc.). ConnectionConnect to the Tina Server: # ssh TINA-SERVER-001 Recycle cartridgesSeach for the cartridge ready to be recycled with tina_cart_control -list: # /usr/TiNa_Path/Bin/tina_cart_control -list -v_name -v_location -v_recyclable -v_recycle_age -v_status -v_close_status -status_filter recyclable Name Location Recyclable Cycle Age Overall Status StatusP_6M-0001337 ROBOT-T800 Recyclable since 40d 0h Ful

[ TITLE    ] : TiNa help commands
[ CATEGORY ] : //
[ DATE     ] :

All TiNa help commands. ListingListe des commandes : # ls /usr/TiNa_Path/Bin/atncheckpid Perl tina_check_network tina_frontend_Ugc tina_odbsave tina_synccloudatnlosetup qcdiag tina_clone_catalog tina_help tina_operator tina_synchvdsavfs read_vmdk tina_cod tina_IndexUpgrade tina_perl tina_syncxdcsbackint runtina tina_collector_job tina_init

[ TITLE    ] : Configurer un bridge et/ou un bond réseau
[ CATEGORY ] : //
[ DATE     ] :

Un bridge relie plusieurs interfaces au sein d’un réseau local et leur permet de communiquer comme si elles étaient connectées à un switch. Un bond agrège plusieurs interfaces physiques pour offrir de la redondance et/ou une bande passante améliorée. Bridge et BondDifférences entre Bridge et Bond : Bridge (Pont) Bond (Liaison) Objectif principal Relier plusieurs interfaces dans un même réseau local (LAN) Combiner plusieurs interfaces physiques en une seule interface Type de connexion Fo

[ TITLE    ] : Commande `dnf history undo`
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Boucles for avec "&" ou ";"
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Change a RAID disk before it dies
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : AAP WebGUI Certificates
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Script bash - Backup on distant stockage
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Differences Red Hat Satellite et RHV
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Python - Canny lib
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : AAP Backup
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : CLI HPE - ssacli and hpssacli tools
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : .bashrc par défaut pour tous les users
[ CATEGORY ] : //
[ DATE     ] :

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=$

[ TITLE    ] : Bash - Activité des utilisateurs
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Configurer les 3 types de hostname
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Python - Calcul matriciels
[ CATEGORY ] : //
[ DATE     ] :

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],

[ TITLE    ] : Bash - Convertir des caracteres
[ CATEGORY ] : //
[ DATE     ] :

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"

[ TITLE    ] : Bash - Heure 1337
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Ansible - Chiffrer données sensibles
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Ansible - Customiser messages d'erreurs
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Différences RHV et oVirt
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Ansible - les loops
[ CATEGORY ] : //
[ DATE     ] :

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 à

[ TITLE    ] : Ansible - le "|" et le ">"
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Podman - Conteneurs en tant que service
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Podman - Gestion du réseau
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Podman - Gestion du stockage
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Podman - Variable Environnement
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Podman - Deploiement Des Conteneurs
[ CATEGORY ] : //
[ DATE     ] :

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,

[ TITLE    ] : Podman - Concepts
[ CATEGORY ] : //
[ DATE     ] :

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