Avertissement
- Droits
Dédicace
Remerciements
Avant-Propos
- Orientation pédagogique
- Public cible du document
- Du bon usage du support
- Distributions de référence
- Matériel nécessaire
Introduction
- IProcessus et démarrage
- Objectifs de certification
- Linux Essentials
- RHCSA EX200
- RHCE EX300
- LPIC 1
- LPIC 2
- Introduction
- Références
1.Noyau Linux
- 1. Noyau Linux
- 1.1. Généralités
- 1.2. Développement du noyau Linux
- 1.3. Version courante du noyau
- 1.4. Messages du noyau
- 1.5. Documentation du noyau
- 1.6. Configuration de paramètres du noyau
- 1.7. Sysctl
- 1.8. Persistence des paramètres du noyau
- 2. Configuration matérielle
- 2.1. Le système de fichiers virtuel
/proc - 2.2. Informations de bas niveau
- 2.3. Information sur les bus
- 2.4. Informations CPU, mémoires, RAM, etc.
- 2.5. Fichier
/proc/$PID - 2.6. Périphériques
/dev - 2.7. Tous les autres périphériques
/dev - 2.8. Sysfs
- 3. Modules et fichiers du noyau
- 3.1. Modules du noyau
- 3.2. Charger / décharger un module
- 3.3. UDEV
- 3.4. Fichiers du noyau
2.Démarrage du système Linux
- 1. Démarrage du système
- 1.1. Processus de démarrage
- 1.2. Le BIOS
- 1.3. Le MBR ( Boot Primaire )
- 1.4. Le Boot Secondaire
- 2. Chargeur de démarrage Grub2
- 2.1. Fichiers Grub2
- 2.2. Gestion
- 4.3. Exemple de modification de grub2
- 2.4. Mettre à zéro grub2
- 2.5. Réinstaller grub2
- 3.
initetsystemd - 3.1. Systemd
- 3.2. Niveaux d’exécution (run levels)
- 3.3. Scripts de démarrage de service
- 3.4. Commandes
systemctl - 3.5. Exercice démarrage des services avec
systemctl - 4. Démarrer, redémarrer et éteindre un système normalement
- 4.1. Redémarrer le système
- 4.2. Arrêter le système
- 4.3. Eteindre le système :
- 4.4. Suspendre le système
- 4.5. Hibernation
- 4.6. Entre hibernation et suspension
- 5. Password recovery
- 5.1. Méthode 1 (RHEL7, Debian 8)
- 5.2. Méthode 2 (RHEL7)
- 5.3. Protections grub2
- Mot de passe chiffré sur le menu grub2
- Désactivation du mode recovery
- Exercice de sécurisation
3.Processus Linux
- 1. Visualisation des processus en cours
- 2. L’arborescence des processus
- 3. Recherche des processus en cours d’exécution
- 4. Lancer une tâche dans la console
- 5. Gestion de tâches
- 6. Arrêter un processus
- 7. nohup
- 8. Priorité des processus
- 9.
nice/renice - 10. Mesure de l’utilisation des ressources et résolution de problèmes
- 11. Prévision des besoins en ressources
- 12. Limiter les ressources du noyau Cgroups,
cpulimit
4.Consoles virtuelles screen
- 1. Logiciel
screen - 2. Créer un terminal, s’en détacher, s’y rattacher
- 3. Gérer les terminaux
- 4. Raccourcis screen
- 5. Screen comme émulateur de terminal (câble console/null modem)
- IIInstallation de logiciels
- Objectifs de certification
- RHCSA EX200
- LPIC 1
- LPIC 2
- Introduction
- Références
5.Paquets Linux
- 1. Gestionnaire de paquets
- 1.1. Gestionnaire de paquets
- 1.2. Utilité
- 1.3. Nomenclature des systèmes de paquets
- 1.4. Utilitaire dpkg
- Commandes utiles dpkg
- Plus de détails sur dpkg
- 1.5. Utilitaire rpm
- Commande rpm -q
- 2. Dépôt de paquets
- 2.1. Principe de fonctionnement
- Tâches
- 2.2. APT
- Sources APT
- Recherche APT
- Mise à jour et installation avec APT
- Désinstallation de paquets APT
- Authentification des paquets Debian
- Empêcher le démarrage d’un service après une installation
- 2.3. YUM / DNF
- YUM commandes de base
- YUM mise-à-jour
- YUM Group Packages
- YUM dépôts de paquets
- Installer un dépôt supplémentaire
- YUM gestion des paquets
- 2.4. Autres logiciel de gestion des paquets
- 3. Maintenance et mises à jour
- 3.1. Maintenance des mises à jour d’un système Debian
- 3.2. Mise à jour d’une distribution Debian depuis une ancienne version
- Mise à jour depuis Debian 7 (wheezy) vers Debian 8 (jessie)
- Mise à jour depuis Debian 8 (jessie) vers Debian 9 (stretch)
- Mise-à-jour de versions Ubuntu
- 4. Comparatif des gestionnaires de paquets par distribution
- 4.1. Debian/Ubuntu c. Fedora/RHEL/SL/Centos
- 4.2. Alpine Linux c. Arch Linux c. Gentoo
- 4.3. OpenWRT
- 5. Mettre à jour le noyau
- 5.1. Procédure RHEL
- 5.2. Procédure Ubuntu
6.Installation par les sources
- 1. Principe
- 2. Installation des outils de compilation
- 3. Exemples d’installations par les sources
- 4. Fabrication de paquets
- 5. Fabrication de paquets RPM pour Centos 7
- 6. Compilation du noyau (sous forme de paquet
.deb) - 6.1. Récupération des sources
- 6.2. Exercice de récupération d’un noyau 4.9 en Debian 8
- Installation des logiciels pré-requis.
- Obtention des sources
- Configuration
- Compilation
- Installation
- Script
7.Mettre en place un dépôt de paquets
- Introduction
- 1. Dépôt local Centos 7 avec une image iso
- 2. Dépôt Web Centos 7 avec une image iso
- 3. upstream_sync
- 4. Apt-Mirror
- 5. Apt-cacher
- Pré-requis
- Installer les paquets apt-cacher et apache2 :
- Configuration du serveur
- Mettre en cache les fichiers .deb déjà téléchargés
- Utilisation d’un proxy
- Configuration des clients
- Méthode Proxy
8.Installations automatiques
- 1. Solution de déploiements automatisés
- FAI - Fully Automatic Installation
- Fonctionnalités
- 2. Exemples Debian/Ubuntu/Centos en KVM
- 3. Installation ultra-silencieuse de paquets Debian sans ou avec réponse automatique aux dialogues
- IIIScripts Shell
- Objectifs de certification
- Linux Essentials
- LPIC 1
- RHCSA EX200
- RHCE EX300
- Introduction
9.Scripts Shell
- 1. Scripts Bash : notions
- 1.1. Scripts Bash
- 1.2. Shebang
- 1.3. Hello World
- 1.4 Variables prépositionnées
- Liste de variables prépositionnées
- 1.5. Variables internes
- 1.6. Interaction utilisateur
- 1.7. Fonctions
- 2. Structures conditionnelles
- 2.1. Structure conditionnelle if/then
- 2.2. Tests
- 2.3. Structure de base d’un script
- 2.4. Autres exemples de test
- 3. Boucles
- 3.1. Boucle for-do
- Script inverse
- 3.2. Boucle while
- 3.3. Boucle case-esac
- 3.4. Divers
- Boîtes de dialogue
- Déboggage de script
- Etude de ~/.bashrc
- 4. Variables : concepts avancés
- 4.1. Affection des variables
- 4.2. Protection des variables
\Antislash" "Guillemets' 'Apostrophes- 4.3. Variables d’environnement
- Variable shell $PS1
- Variables d’environnement
- 4.4. Variables spéciales
- 4.5. Portées des variables
- Variables locales
- Variables globales
- 4.6. Valeurs par défaut des variables
- Valeur par défaut -
- Valeur par défaut =
- Valeur par défaut +
- 4.7. Expansions de paramètres avec extraction
- Extraction de sous-chaînes
- Recherche de motifs
- Extraction du début et de la fin
- Extraction de la fin
- Remplacement sur motif
- Compter les lettres
- Exercice de manipulation de variable
- Exercice 1
- Solution 1
- Exercice 2
- Solution 2
- 4.8. Paramètres positionnels
- 4.9. Commande shift
- 4.10. Substitution de commandes
- 4.11. Expansions arithmétiques
- 4.12. Tableaux
- Autres exemples, exercices et références
- 4.13. Gestion des processus
- 5. Modèles et figures Bash
- 5.1. Sélection d’instructions
- Structure if-then-else
- Conditions et tests
- Structure case-esac
- Exercices
- 5.2. Figures de boucles
- 5.3. Figures de substitution
- 5.4. Figures de vérification
- 1. Fonction are_you_sure
- 2. Fonction check_distribution
- 3. Fonctions check_variable
- 4. Fonction check_parameters
- 5. Fonction check_root_id
- 6. Vérification de la disponibilité d’un binaire
- 7. Tests avec grep et exécutions conditionnelles
- 8. Fonction check_interface
- 5.5. Figures de génération aléatoire
- 1. Fonctions create_ip_range
- 2.Fonction create_mac_address
- 3. Fonction de génération d’aléas / UUID
- 5.8. Getopts : arguments de la ligne de commande
- Exemple 1
- Exemple 2
- Exemple 3
- 5.7. Modèle de script bash
- 6. Script rm amélioré
- 6.1. Commande rm
- 6.2. Description
- 6.3. Concepts
- 6.4. Structure
- 6.5. Sourcer le script
- 6.6. Script automatique
- 7. Références
- Archive d’exemples
- Archive : Exercices de scripts sur les noms de fichiers
- Cas : vider et créer un dossier temporaire de travail
- Cas : créer des fichiers à la volée
- Cas : renommage
- Cas : renommage inverse
- Cas : script extraction_serveurs.sh
- IVVirtualisation Linux
- Objectifs des certification
- RHCSA EX200 (RHEL7)
- LPIC 1
- Introduction
10.Virtualisation KVM
- Introduction
- Références à lire
- Scripts de préparation et d’automation
- Objectifs
- Marché de la virtualisation
- 1. Concepts
- 1.1. Terminologie
- 1.2. Typologie des architectures de virtualisation
- 1.3. Machine virtuelle
- 1.4. KVM
- 1.5. Qemu
- 1.6. Libvirt
- 1.7. Outils de base
- 1.8. Outils libguestfs
- 1.9. Pilotes et périphériques PV virtio
- 1.10. Interfaces graphiques de gestion
- 2. Installer KVM et ses outils de gestion
- Mise à jour du sytème et installation des paquets KVM en RHEL7/Centos7.
- Mise à jour du sytème et installation des paquets KVM en Debian 8.
- Vérification du chargement du module kvm.
- 3. Création de VMs et administration de base
- 3.1. Créer une machine virtuelle avec virt-manager
- 3.2. Administration de base avec virsh
- 4. Scripts d’installation
- 4.1. Un premier script virt-install
- 4.2. Export manuel d’une VM
- 4.3. Clonage avec virt-clone
- 4.4 Sysprep Linux
- 5. Miroir d’installation HTTP
- 5.1. Miroir local
- Repo HTTP
- Miroirs publics externes
- 5.2. Support d’installation HTTP
- 6. Installation automatique
- 6.1. Installation Kickstart
- 6.2. Installation automatique en console graphique
- 6.3. Installation automatique en console texte
- 7. Accéder à la console
- 7.1. Accéder à la console graphique
- 7.2. Activer ttyS0 dans grub
- 7.3. Accès à la console texte
- 8. Installation d’un invité MS-Windows
- 9. Manipulation de disques
- 9.1 Conversion de disques
- raw vers qcow2
- vdi vers raw
- 9.2. Redimensionnement de disques
- 9.3 Import d’une VM via son disque
- 9.4. Migration V2V
- 9.5. Manipulation de disques
- 10. Storage Pools / Storage Volumes
- 10.1. Storage Pools
- 11. Live Migration
- 12. Réseau
- 12.1. Création d’un nouveau réseau virtuel
- 12.1. Ajout d’une seconde interface à un domaine
- 12.3. Réseau isolé
- 12.4. Exercice : créer un routeur virtuel Linux
- 13. Exemples de scripts automatiques
- 13.1. virt-builder
- 13.2. Exemples de code de déploiement
- 14. Automation des installations
- 14.1. Améliorations des scripts précédents
- Configuration profils de VM
- Configuration Kickstart
- 14.2. Projet
- Résumé
- Pré-requis
- Profil de machine virtuelle “small”
- profil d’installation “core”
- 14.3. Première procédure
- Firewalld désactivé
- Création d’un réseau NAT dénommé lab
- Script virt-install “autovm.sh”
- Fichier kickstart core.ks
- 14.4. Automation Ansible
- Pré-requis
- Concepts
- Installation
- Modules
- Playbooks
- 14.5. Seconde procédure
- 15. Surveillance
- 16. Commandes Virsh
- 16.1. Domain Management (help keyword ‘domain’)
- 16.2. Domain Monitoring (help keyword ‘monitor’)
- 16.3. Host and Hypervisor (help keyword ‘host’)
- 16.4. Interface (help keyword ‘interface’)
- 16.5. Network Filter (help keyword ‘filter’)
- 16.6. Networking (help keyword ‘network’)
- 16.7. Node Device (help keyword ‘nodedev’)
- 16.8. Secret (help keyword ‘secret’)
- 16.9. Snapshot (help keyword ‘snapshot’)
- 16.10. Storage Pool (help keyword ‘pool’)
- 16.11. Storage Volume (help keyword ‘volume’)
- 16.12. Virsh itself (help keyword ‘virsh’)
- VDisques et stockage LVM
- Objectifs de certification
- Linux Essentials
- RHCSA EX200
- LPIC 1
- LPIC 2
- Introduction
11.Disques sous Linux
- 1. Rappels théoriques
- 1.1. Commandes à retenir
- 1.2. Concepts
- 1.3. Partion
- 1.4. Systèmes de fichiers
- 1.5. Types de FS
- 1.6. FS à journalisation
- 1.7. Table de comparaison des FS
- 2. Auditer les disques
- 2.1. Lister les périphériques bloc
- 2.2. Lister les disques et les partitions
- 2.3. Lister les FS disponibles
- 2.4. Lister les points de montages
- 2.5. Lister les points de montage automatiques
- 2.6. Commandes sur les fichiers
- 3. Formatage Ext3/Ext4
- 3.1. EXT2
- 3.2. en EXT3
- 3.3. en EXT4
- 3.4. Commandes espace-utilisateur du sytème de fichiers “EXT”
- 4. Formatage XFS
- 5. Manipulation de périphériques Bloc
- 5.1. Copie par blocs avec dd
- 5.2. Syntaxe de la commande
dd - 5.3. Créer un fichier rempli de bits aléatoires
- 5.4. Créer une clé bootable
- 5.5. Créer une SD Card
- 5.6. Créer l’image d’un disque (démonté)
- 5.7. Copier un disque sur l’autre
- 5.8. Copier une partition
- 5.9. Créer des fichiers-disques vides d’une taille arbitraire
- 6. Montage du système de fichier
- 6.1. Montage manuel du système de fichier
- 6.2. Montage du système de fichier au démarrage
- 7. Créer un système de fichier loop
- 8. Montage automatique du système de fichier
- 9. Quotas sur les FS en EXT
- 10. Mémoire SWAP
12.Stockage LVM
- 1. Concepts RAID
- 1.1. RAID 0 : volume agrégé par bandes
- 1.2. RAID 1 : Disques en miroir
- 1.3. RAID 5 : volume agrégé par bandes à parité répartie
- 2. Logical Volume Manager LVM
- 2.1. Prise d’information
- 2.2. Cas d’usage
- 2.3. Solution LVM
- 2.4. Concepts LVM
- Système de fichiers LV VG PV
- Extents
- 3. Opérations LVM
- 3.1. Installation et vérification
- Installation
- Vérifier la présence disques
- 3.2 Création d’un LV initial
- Initialisation de PV
- Visualisation
- Création d’un VG
- Création d’un LV
- Point de montage utilisateur en EXT4
- Point de montage utilisateur en XFS
- 3.3. Miroring
- 3.4. Extension dynamique
- Extension à chaud en EXT4
- Extension à chaud en XFS
- 3.5. Réduction
- Réduction en EXT4 : démonté et vérifié
- 3.6. Remplacement d’un espace de stockage (disque SATA, partition) en mode linear
- 3.7. Remplacement d’un espace de stockage (disque SATA, partition) en mode mirorring
- Passage en mode linear
- Réduction du VG
- Retrait du PV
- Ajout du PV de remplacement (pas nécessairement identique à l’original) et extension du VG
- 3.8. Remplacement d’un disque d’un array RAID logiciel sur PV utilisé
- 3.9. Destruction
- Destruction d’un LV
- Destruction d’un VG
- Destruction d’un PV
- 3.10. Snapshots
- 4. Cas 1 : Démo LVM
- 4.1. Phase 1 : Physical Volumes
- Prise d’information
- Création de PV
- Scan de tous les périphériques LVM
- Vérification PV
- Retirer/replacer un PV
- 4.2. Phase 2 : Volume Group
- Création du VG vg1
- Vérification du VG
- 4.3. Phase 3 : Logical Volumes
- Création des LV
- Vérification
- 4.4. Phase 4 : Formatage
- EXT4
- XFS
- BTRFS
- 4.5. Phase 5 : Points de montage
- Création des points de montage
- 5. Cas 2 : RAID5 et LVM
- 5.1. Scénario
- 5.2. Schéma
- 5.3. Configuration de 3 disques de 4Go en RAID5 logiciel
- 5.4. Configuration LVM à 4Go
- 1. Ajout de l’array dans un PV
- 2. Création du VG
- 3. Création de la partition de 4G
- 5.5. Système de fichier XFS
- 1. Formatage XFS
- 2. Point de montage
- 5.6. Ajout d’un 4e disque de 4Go
- 1. Création d’un partition /dev/sde1
- 2. Ajout du disque dans l’array
- 3. Extension l’array sur les partitions
- 4. Extension du PV
- 5. Extension du VG :
- 6. Extension du LV :
- 7. Reformatage dynamique, extension du FS
- 5.7. Snapshot
- 1. Fichier de test
- 2. Création d’un snapshot de 1Go :
- 3. Suppression du fichier de test :
- 4. Montage du snapshot
- 5.8. Test RAID
- Notes
- Automatisation
- Partage
- VIConfiguration du réseau
- Objectifs de certification
- Linux Essentials
- RHCSA EX200
- RHCE EX300
- LPIC 1
- LPIC 2
- Introduction
- Documentation
13.Introduction à TCP/IP
- 1. Protocoles Internet
- 1.1. Objectif de TCP/IP
- 1.2. L’Internet
- 1.3. Quatre couches
- 1.4. Encapsulation
- Modèle TCP/IP détaillé
- 2. Adressage et matériel
- 2.1. Adressage et identifiants
- 2.2. Rôles des périphériques
- 3. Routage IP
- 3.1. Domaines IP
- 3.2. Type d’adresses IP
- 3.3. Nécessité du NAT en IPv4
- 3.4. Transition IPv6
- 3.5. NAT et pare-feu
- 3.6. Adressage IPv4
- tableau adresses IPv4
- 3.7. Adressage IPv6
- Ecriture
- Configuration
- Adresses Unicas Globale et Link-Localt
- Adresses Mulitcast
- Adresses Unique Local (Unicast)
- Transition IPv6
- Synthèse sur les adresses IPv6
- 4. Protocoles de résolution d’adresses et de découverte des hôtes
- 4.1. Commandes utiles
- 4.2. ARP (Address Resolution Protocol)
- 4.3. ND (Neighbor Discovery)
- 5. Protocole de résolution de noms
- 6. Protocoles d’attribution d’adresses
- 6.1. DHCP (IPv4)
- 6.2. DHCPv6
- 7. Interaction des protocoles
- 8. Autres protocoles de gestion
14.Synthèse rapide des commandes réseau sous Linux
- 1. Une adresse IP et son masque
- 1.1. Vérification des interfaces
- 1.2. Test de connectivité IP
- 2. Passerelle par défaut
- 2.1. Vérification de la table de routage (IPv4/IPv6)
- 2.2. Vérification des sauts
- 3. Serveur de nom
- 3.1. Commandes utiles
- 3.2. Requêtes DNS
- 4. Fichiers de configuration des interfaces
15.Gestion du réseau Linux avec NetworkManager
- 1. Définition du
hostname - 1.1. Changement du nom d’hôte
- 1.2. Utilitaire
hostnamectl - 1.3. Hostname avec l’utilitaire
nmcli - 2. Ligne de commande
nmcli - 2.1. Objets nmcli
- 2.2. Objet “general”
- 3. Configurer une connexion existante
- 3.1. Vérification d’une interface existante
- 3.2. Configuration d’une interface avec nmcli
- 4. Désactiver NetworkManager
- 4.1. Désactivation par interface
- 4.2. Désactivation gobale
16.Gestion du réseau Linux avec la librairie Iproute2
- 1. Conventions de dénomination des interfaces
- 2. Visualiser les adresses
- 2.1. Exercice
- 3. Libérer un bail DHCP
- 4. Activer/désactiver une interface
- 5. Fixer/supprimer une adresse IPv4
- 6. Ajouter une interface alias
- 7. IPv6 ip -6 addr
- 8. Tables de voisinage
- 9. Tables de routage
- 10. Route par défaut et routes statiques
- 10.1. Route par défaut
- 10.2. Route statique
- 11. Serveurs de noms
- 12. Exercice de configuration manuelle des interfaces
- 13. Configurations permanentes
- 13.1. Configuration permanente sous debian
- 13.2. Configuration permanente sous RHEL7
17.Gestion du réseau Linux avec Netplan
- 1. Introduction à Netplan
- 2. Commande Neplan
- 3. Fichiers de configuration Netplan
- 3. Commandes Netplan
18.Outils Linux réseau
- 1. Tcpdump
- 2. Commande ping
- 2.1. ping : vérification
- 2.2. ping : interprétation
- 2.3. Connectivité IP globale
- 2.4. ping 8.8.8.8
- 3. traceroute/tracert
- 3.1. tracert (Windows)
- 3.2. traceroute (Linux)
- 3.3. traceroute interprétation
- 3.4. traceroute : exemple
- 4. Vérification des ports TCP/UDP
- 4.1. Commande
netstat - 4.2. Commande
ss - 5. La résolution de noms
- 5.1. Résolution locale
- 5.2. Domain Name System (DNS)
- 5.3. Domain Name System (DNS)
- 5.4. nslookup
- 6. dig
- 6.1. Usage de dig
- 6.2. dig auprès d’un serveur spécifique
- 6.3. dig succint
- 6.4. dig sur les champs MX
- 6.5. dig NS record
- 6.6. dig reverse lookup
- 6.7. dig trace
- 6.8. Transfert de zone AXFR
- 7. Diagnostic fondamental
- 7.1. Collecte d’information
- 7.2. Vérifications
- 8. Protocoles DHCP
- 8.1. Client DHCP