Editions ENI Programmation shell sous Unix/Linux sh, ksh, bash (3 ième édition) Collection Ressources Informatiques Table des matières
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI3PRO dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le lien de téléchargement. Avant-propos Introduction Chapitre 1 A. Définition du shell................. 18 B. Caractéristiques d'un interpréteur de commandes.... 18 C. Historique du shell................. 18 D. Principaux interpréteurs de commandes........ 19 E. Shells abordés dans cet ouvrage............ 20 Mécanismes essentiels du shell Chapitre 2 A. Commandes internes et externes........... 22 1. Les commandes externes.................. 22 2. Les commandes internes.................. 23 3. Implémentation interne et implémentation externe........ 25 B. Affichage à l'écran................. 26 1. La commande echo.................... 26 a. Le caractère "\n".................... 26 b. Le caractère "\c".................... 27 sh, ksh, bash 1
c. Le caractère "\t"..................... 27 d. Liste des caractères d'échappement............ 28 2. Les commandes print et printf................ 28 C. Le caractère ~ (tilde)................ 28 D. La commande interne cd............... 30 E. Substitution de noms de fichiers........... 30 1. Expressions basiques.................... 31 a. Le caractère *..................... 31 b. Le caractère?..................... 31 c. Les caractères [ ].................... 31 2. Expressions complexes................... 32 a.?(expression)...................... 33 b. *(expression)...................... 33 c. +(expression)..................... 33 d. @(expression)..................... 34 e.!(expression)...................... 34 f. Alternatives...................... 35 3. Interprétation du shell.................... 35 F. Séparateur de commandes.............. 36 G. Redirections.................... 37 1. Entrée et sorties standard des processus............ 37 a. Entrée standard..................... 37 b. Sortie standard..................... 37 c. Sortie d'erreur standard................. 38 2. Héritage......................... 38 3. Redirection des sorties en écriture.............. 39 a. Sortie standard..................... 39 b. Sortie d'erreur standard................. 40 2 Programmation shell sous Unix/Linux
c. Sortie standard et sortie d'erreur standard.......... 41 d. Éliminer les affichages.................. 42 e. Mécanisme interne................... 43 4. Redirection de l'entrée standard............... 44 5. Redirections avancées.................... 45 a. Rediriger les descripteurs 1 et 2 vers le même fichier..... 45 b. La double redirection en lecture.............. 52 c. Fermeture d'un descripteur................ 53 H. Tubes de communication............... 53 1. Commandes ne lisant pas leur entrée standard......... 55 2. Commandes lisant leur entrée standard............ 55 a. Exemples triviaux.................... 55 b. Cas des filtres..................... 56 3. Compléments....................... 60 a. Enchaîner des tubes................... 60 b. Dupliquer les sorties................... 61 c. Envoyer la sortie standard et la sortie d'erreur standard dans le tube...................... 62 I. Regroupement de commandes............ 62 1. Les parenthèses...................... 63 2. Les accolades....................... 68 3. Conclusion........................ 73 J. Processus en arrière-plan.............. 73 sh, ksh, bash 3
Paramétrage de l'environnement de travail Chapitre 3 A. Variables d'environnement.............. 76 1. Liste des variables..................... 76 2. Affichage de la valeur d'une variable.............. 76 3. Modification de la valeur d'une variable............ 76 4. Principales variables.................... 77 a. HOME......................... 77 b. PATH......................... 77 c. PWD......................... 79 d. PS1.......................... 79 e. PS2.......................... 83 f. TMOUT........................ 84 g. TERM......................... 84 h. LOGNAME....................... 84 i. Processus et variables d'environnement........... 85 5. Exportation des variables.................. 85 a. Liste des variables exportées............... 85 b. Variables devant être exportées.............. 86 c. Exporter une variable.................. 86 B. Les options du shell................. 89 1. Activer et désactiver une option du shell............ 89 2. Visualiser la liste des options................. 89 3. Principales options..................... 90 a. ignoreeof....................... 90 b. noclobber....................... 90 c. emacs et vi...................... 91 d. Xtrace......................... 92 4 Programmation shell sous Unix/Linux
C. Les alias...................... 92 1. Définir un alias...................... 92 2. Visualiser la liste des alias.................. 92 a. Visualiser tous les alias................. 92 b. Visualiser un alias en particulier.............. 93 3. Supprimer un alias..................... 93 D. Historique de commandes.............. 93 1. Paramétrer le rappel de commandes en ksh.......... 94 a. Option vi....................... 94 b. Option emacs..................... 96 2. Paramétrer le rappel de commandes en bash.......... 99 3. La complétion de noms de fichiers.............. 99 a. La complétion du bash.................. 99 b. La complétion du ksh.................. 100 c. Tableau récapitulatif................... 102 E. Les fichiers d'environnement............. 102 1. Caractéristiques des fichiers d'environnement.......... 102 a. Shell de connexion................... 102 b. Fichiers d'environnement lus par le shell de connexion.... 103 2. Session utilisant un Bourne Shell............... 106 3. Session utilisant un Korn Shell................ 107 4. Session utilisant un Bourne Again Shell............ 109 Les bases de la programmation shell Chapitre 4 A. Les variables utilisateur............... 114 1. Nommer une variable.................... 114 sh, ksh, bash 5
2. Définir une variable..................... 114 a. Affecter une chaîne de caractères à une variable....... 114 b. Affecter une chaîne de caractères contenant au moins un espace 115 c. Variable indéfinie.................... 115 d. Retirer la définition d'une variable............. 115 e. Isoler le nom d'une variable................ 116 3. Substitution de variables.................. 117 B. Substitution de commandes............. 119 C. Caractères de protection............... 120 1. Les simples quotes..................... 120 2. Le caractère \....................... 122 3. Les guillemets....................... 123 D. Récapitulatif des caractères spéciaux.......... 124 E. Interprétation d'une ligne de commande........ 124 F. Écriture et lancement d'un script shell......... 125 1. Définition......................... 125 2. Exécution d'un script par un shell enfant............ 126 3. Exécution d'un script par le shell courant............ 132 4. Commentaires....................... 134 G. Variables réservées du shell............. 135 1. Les paramètres positionnels................. 135 2. La commande shift..................... 137 a. Syntaxe........................ 137 b. Principe........................ 137 3. Code de retour d'une commande............... 139 a. La variable $?..................... 139 b. La commande exit.................... 140 6 Programmation shell sous Unix/Linux
4. Autres variables spéciales.................. 141 a. PID du shell interpréteur................. 141 b. PID du dernier processus lancé en arrière-plan........ 142 H. La commande read................. 144 1. Syntaxe.......................... 144 2. Lectures au clavier..................... 144 3. Code de retour....................... 146 4. La variable IFS...................... 147 I. Exécution de tests................. 148 1. La commande test..................... 148 a. Syntaxe........................ 148 b. Tests sur les fichiers................... 148 c. Tests sur les chaînes de caractères............. 151 d. Tests sur les nombres.................. 153 e. Les opérateurs..................... 154 f. Exemple concret d'utilisation............... 155 2. La commande [[ ]]..................... 156 J. Les opérateurs du shell............... 160 1. Évaluation de l'opérateur &&................. 160 2. Évaluation de l'opérateur................. 161 K. L'arithmétique................... 163 1. La commande expr..................... 163 a. Syntaxe........................ 163 b. Opérateurs....................... 163 2. La commande (( ))..................... 166 a. Syntaxe........................ 166 b. Utilisation....................... 166 3. La commande let..................... 169 sh, ksh, bash 7
L. Substitution d'expressions arithmétiques........ 170 M. Mise au point d'un script............... 171 1. Option -x......................... 171 2. Autres options....................... 174 N. Les structures de contrôle.............. 174 1. if............................ 174 2. Case........................... 178 a. Syntaxe........................ 179 b. Principe........................ 179 c. Utilisation....................... 180 3. Boucle for......................... 184 4. Boucle while....................... 187 a. Syntaxe........................ 187 b. Utilisation....................... 188 c. Boucle infinie...................... 189 5. until........................... 192 a. Syntaxe........................ 192 b. Utilisation....................... 192 6. break et continue..................... 196 Aspects avancés de la programmation shell Chapitre 5 A. Comparatif des variables $* et $@.......... 200 1. Utilisation de $* et de $@................. 200 2. Utilisation de "$*"..................... 201 3. Utilisation de "$@"..................... 202 8 Programmation shell sous Unix/Linux
B. Substitution de variables............... 203 1. Longueur de la valeur contenue dans une variable........ 203 2. Manipulation de chaînes de caractères............. 204 a. Retirer le plus petit fragment à gauche........... 204 b. Retirer le plus grand fragment à gauche.......... 204 c. Retirer le plus petit fragment à droite............ 205 d. Retirer le plus grand fragment à droite........... 205 C. Tableaux..................... 206 1. Assigner un élément.................... 206 2. Référencer un élément................... 206 3. Assignement global d'un tableau............... 207 4. Référencer tous les éléments d'un tableau........... 208 5. Obtenir le nombre d'éléments d'un tableau........... 208 6. Obtenir la longueur d'un élément d'un tableau.......... 208 D. Initialisation des paramètres positionnels avec set.... 209 E. Les fonctions.................... 209 1. Définition d'une fonction................... 209 2. Code de retour d'une fonction................ 211 3. Portée des variables.................... 214 4. Définition de variables locales................ 214 5. Passage d'arguments.................... 216 6. Exploiter l'affichage d'une fonction............... 218 7. Programme complet de l'exemple............... 220 F. Commandes d'affichage............... 222 1. La commande print..................... 222 a. Utilisation simple.................... 222 b. Suppression du saut de ligne naturel de print........ 222 sh, ksh, bash 9
c. Afficher des arguments commençant par le caractère "-".... 222 d. Écrire sur un descripteur particulier............ 223 2. La commande printf.................... 223 G. Gestion des entrées/sorties d'un script......... 225 1. Redirection des entrées/sorties standard............ 225 2. Gestion de fichiers..................... 228 a. Ouverture de fichier................... 228 b. Lecture à partir d'un fichier................ 229 c. Écriture dans un fichier................. 229 d. Fermeture d'un fichier.................. 229 3. Traitement d'un fichier................... 230 a. Informations préalables.................. 230 b. Les différentes façons d'exploiter un fichier......... 231 c. Découper une ligne en champs.............. 237 H. La commande eval................. 238 I. Gestion des signaux................. 240 1. Principaux signaux..................... 240 2. Ignorer un signal...................... 241 3. Modifier le traitement associé à un signal........... 242 4. Repositionner le traitement par défaut du shell vis-à-vis d'un signal. 243 5. Utiliser trap à partir d'un script shell............. 244 J. Gestion de menus avec select............. 245 K. Analyse des options d'un script avec getopts...... 247 L. Gestion d'un processus en arrière-plan......... 253 10 Programmation shell sous Unix/Linux
M. Script d'archivage incrémental et transfert sftp automatique 255 1. Objectif.......................... 255 2. Le fichier uploadbackup.sh................. 258 3. Le fichier fonctions.inc.sh.................. 260 Les expressions régulières Chapitre 6 A. Introduction.................... 266 B. Caractères communs aux ERb et Ere.......... 266 C. Caractères spécifiques aux ERb............ 269 D. Caractères spécifiques aux ERe............ 269 E. Exploitation des expressions régulières par les commandes 271 1. La commande vi...................... 271 2. La commande grep..................... 272 3. La commande expr..................... 274 4. sed et awk........................ 277 La commande sed Chapitre 7 A. Utilisation de la commande sed............ 280 B. Exemples..................... 282 1. Utilisation de sed en ligne de commande........... 282 a. La commande d (delete)................. 283 b. La commande p (print).................. 283 sh, ksh, bash 11
c. La commande w (write)................. 284 d. Négation d'une commande (!)............... 284 e. La commande s (substitution)............... 285 2. Script sed......................... 287 Le langage de programmation awk Chapitre 8 A. Principe...................... 290 1. Syntaxe.......................... 290 2. Variables spéciales..................... 290 a. Variables prédéfinies dès le lancement de awk........ 290 b. Variables initialisées lors du traitement d'une ligne...... 291 c. Exemples simples.................... 292 3. Critères de sélection.................... 293 a. Expressions régulières.................. 294 b. Tests logiques..................... 295 c. Intervalles de lignes................... 296 4. Structure d'un script awk.................. 296 a. BEGIN........................ 296 b. Sections intermédiaires.................. 296 c. END......................... 296 d. Commentaires..................... 296 e. Variables....................... 296 f. Exemple........................ 297 B. Opérateurs..................... 298 C. La fonction printf.................. 300 D. Redirections.................... 301 12 Programmation shell sous Unix/Linux
E. Lecture de la ligne suivante : next........... 303 F. Structures de contrôle................ 304 1. if............................ 304 2. for............................ 304 3. While.......................... 305 4. do-while......................... 305 5. break.......................... 305 6. continue......................... 306 G. Terminer un script................. 306 H. Tableaux..................... 307 1. Tableaux indicés par un entier................ 307 2. Tableaux associatifs.................... 308 a. Définition....................... 308 b. Tester l'existence d'un élément.............. 309 c. Supprimer un élément.................. 310 I. Les arguments de la ligne de commande........ 310 J. Fonctions intégrées................. 312 1. Fonctions travaillant sur les chaînes.............. 312 2. Fonctions mathématiques.................. 313 3. Autres fonctions...................... 313 a. La fonction getline.................... 313 b. La fonction close.................... 317 c. La fonction system................... 318 K. Fonctions utilisateur................. 319 sh, ksh, bash 13
L. Exemples de scripts................. 321 1. Analyse d'un fichier de log.................. 321 2. Génération d'un fichier d'étiquettes.............. 323 Les commandes filtres Chapitre 9 A. Introduction.................... 328 B. Syntaxe d'appel des commandes filtres......... 328 C. Visualisation de données............... 328 1. Consultation de données, création de fichier : cat........ 328 2. Valeur des octets d'un flux de données : od........... 330 3. Filtrage de lignes : grep................... 331 4. Dernières lignes d'un flux de données : tail........... 334 5. Premières lignes d'un flux de données : head.......... 335 6. Duplication de la sortie standard : tee............. 336 7. Numérotation de lignes : nl................. 337 8. Présentation d'un flux de données : pr............. 338 D. Traitement de données................ 340 1. Comptage de lignes, de mots et de caractères : wc....... 340 2. Extraction de caractères : cut................ 342 3. Tri de données : sort.................... 343 4. paste........................... 345 5. split........................... 347 6. Transformation de caractères : tr............... 348 7. Dédoublonnage : uniq.................... 349 14 Programmation shell sous Unix/Linux
E. Compressions, archivages et conversions........ 351 1. Compressions : gzip, bzip2................. 351 2. Archives tar........................ 353 3. Archives cpio....................... 354 4. Copie physique, transformations : dd............. 356 5. Changement d'encodage : iconv............... 358 F. Commandes réseau sécurisées............ 359 1. Connexion à distance : ssh................. 359 2. Transfert de fichier : sftp.................. 360 a. Commandes de sftp s'exécutant sur la machine locale..... 361 b. Commandes s'exécutant sur la machine distante....... 362 c. Commandes de transfert................. 363 d. Connexion automatique sans mot de passe......... 364 G. Autres commandes................. 366 1. La commande xargs.................... 366 2. Comparer deux fichiers : cmp................ 368 3. Lignes communes à deux fichiers : comm........... 369 Annexes A. Caractères spéciaux du shell............. 372 B. Commandes internes au shell............. 373 C. Ordre d'interprétation d'une commande......... 375 Index....................... 376 sh, ksh, bash 15
Editions ENI Unix Administration du système (AIX, HP-UX, Solaris, Linux) (2 ième édition) Collection Ressources Informatiques Table des matières
1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI2UNIA dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement. Avant-propos 1. Objectif de ce livre......................................... 9 2. Présentation de l'ouvrage................................... 10 Chapitre 1 Introduction 1. Principales utilisations professionnelles d'unix................. 11 1.1 Particularité des serveurs dédiés......................... 12 1.2 Caractéristiques essentielles des serveurs par rôle........... 13 1.3 Dernières tendances d'évolution des serveurs Unix.......... 15 2. Versions Unix, distributions Linux........................... 15 2.1 Principales versions commerciales........................ 16 2.2 Versions libres........................................ 18 2.3 Influence des logiciels libres............................. 20 3. La fonction d'administrateur................................ 21 3.1 Outils de travail...................................... 22 3.2 La documentation..................................... 24 Chapitre 2 Disques et systèmes de fichiers 1. Quelques rappels indispensables............................. 31 1.1 Les principaux répertoires.............................. 33 1.2 Droits d'accès aux fichiers.............................. 34 1.2.1 Permissions de base.............................. 34
2 Unix Administration système (AIX, HP-UX, Solaris, Linux) 1.2.2 Permissions supplémentaires....................... 36 1.2.3 ACL (Access Control List)......................... 38 1.2.4 Commandes de gestion des permissions.............. 39 2. Organisation de l'espace disque.............................. 41 2.1 Organisation classique en partitions...................... 42 2.1.1 Mode bloc et mode raw bloc....................... 42 2.1.2 Visualisation des partitions (Solaris, Linux)........... 43 2.2 Organisation en volumes logiques....................... 46 2.2.1 Terminologie du LVM (Logical Volume Manager)..... 47 2.2.2 Visualisation de l'organisation (implémentation AIX).. 49 2.2.3 Visualisation de l'organisation (implémentation HP-UX)......................... 51 2.2.4 Création d'un groupe de volumes (implémentation AIX)........................................... 52 2.2.5 Création d'un groupe de volumes (implémentation HP-UX)......................... 52 2.2.6 Autres implémentations.......................... 53 2.3 Disques RAID........................................ 54 3. Filesystems.............................................. 58 3.1 Filesystems de type Berkeley............................ 59 3.1.1 Création d'un filesystem "ufs" Solaris................ 60 3.1.2 Création d'un filesystem "hfs" HP-UX............... 62 3.1.3 Création d'un filesystem "ext2" Linux................ 63 3.2 Filesystems de type journalisé........................... 64 3.2.1 Création d'un filesystem "jfs" AIX................... 64 3.2.2 Création d'un filesystem "vxfs" HP-UX.............. 66 3.2.3 Création d'un filesystem "ext3" Linux................ 67 4. Montage et démontage.................................... 68 4.1 Illustration par l'exemple............................... 69 4.2 Quelques remarques................................... 71 4.3 Démontage.......................................... 73 4.4 Fichier de description des filesystems..................... 74
3 5. Agrandissement et suppression de filesystems.................. 77 5.1 Agrandissement d'un filesystem sous HP-UX.............. 77 5.2 Agrandissement d'un filesystem sous Linux................ 78 5.3 Agrandissement d'un filesystem sous AIX................. 79 5.4 Suppression d'un filesystem............................. 79 6. Vérification et paramétrages de filesystem..................... 81 6.1 Vérification et réparation............................... 81 6.2 Paramétrages......................................... 84 7. Autres types de filesystems................................. 86 7.1 Filesystems de type CD-Rom........................... 86 7.2 Pseudo-filesystem /proc................................ 89 8. Quotas.................................................. 90 9. Sauvegardes et restaurations................................ 94 9.1 La commande tar..................................... 95 9.2 La commande cpio.................................... 97 9.3 La commande dd...................................... 98 9.4 Sauvegardes de filesystems............................. 99 9.5 Autres commandes................................... 103 9.6 Autres techniques de protection des données.............. 104 10. Mémoire virtuelle........................................ 106 10.1 Visualisation........................................ 107 10.2 Activation.......................................... 108 11. Compléments sur les groupes de volumes.................... 110 12. Partage de fichiers avec NFS............................... 113 12.1 Principe de fonctionnement, démons nécessaires.......... 113 12.2 Aspect serveur....................................... 114 12.3 Aspect client........................................ 117 12.4 Automontage....................................... 119 13. Inventaire des fichiers et des commandes..................... 121
4 Unix Administration système (AIX, HP-UX, Solaris, Linux) Chapitre 3 Périphériques 1. Quelques rappels indispensables sur les fichiers spéciaux........ 127 2. Recensement des périphériques présents..................... 130 2.1 Périphériques AIX.................................... 130 2.2 Périphériques HP-UX................................. 131 2.3 Périphériques Solaris.................................. 132 2.4 Périphériques Linux.................................. 133 3. Panorama des périphériques usuels.......................... 134 3.1 Disques durs........................................ 134 3.2 Disquettes.......................................... 136 3.3 Bandes magnétiques.................................. 138 3.4 Terminaux asynchrones............................... 139 3.4.1 La commande stty.............................. 140 3.4.2 Processus getty................................. 141 3.4.3 Processus ttymon Solaris......................... 143 3.4.4 Gestion de l'émulation........................... 144 4. Inventaire des fichiers et des commandes..................... 145 Chapitre 4 Services d'impression 1. Considérations générales.................................. 147 2. Service System V (Solaris - HP-UX)......................... 148 2.1 Commandes de l'utilisateur............................ 148 2.2 Ajout d'une imprimante locale......................... 149 2.3 Imprimantes distantes................................ 153 2.3.1 Mise en œuvre HP-UX........................... 154 2.3.2 Mise en œuvre Solaris........................... 154 3. Service Berkeley (Linux)................................... 155 3.1 Commandes de l'utilisateur............................ 155 3.2 Ajout d'une imprimante............................... 155
5 4. Service AIX............................................. 158 4.1 Commandes de l'utilisateur............................ 158 4.2 Principes de fonctionnement et terminologie.............. 158 4.3 Ajout d'une imprimante locale......................... 161 4.4 Imprimantes distantes................................ 162 5. Inventaire des fichiers et des commandes..................... 163 Chapitre 5 Groupes et utilisateurs 1. Quelques rappels indispensables............................ 165 2. Fichiers de configuration.................................. 166 2.1 Le fichier /etc/passwd................................ 166 2.2 Le fichier /etc/group.................................. 168 2.3 Les fichiers spécifiques sécurisés........................ 169 2.3.1 Solaris, Linux : le fichier /etc/shadow............... 170 2.3.2 AIX : de nombreux fichiers supplémentaires......... 171 2.3.3 HP-UX : Trusted Computing Base (TCB)........... 176 3. Gestion des groupes...................................... 176 3.1 Solaris, Linux, HP-UX : groupadd, groupmod, groupdel..... 177 3.2 AIX : mkgroup, chgroup, rmgroup...................... 177 4. Gestion des comptes utilisateur............................. 178 4.1 Création de comptes (Solaris, Linux, HP-UX)............. 179 4.2 Création de comptes (AIX)............................ 181 4.3 Désactivation et suppression de comptes................. 182 5. Inventaire des fichiers et des commandes..................... 183 5.1 Fichiers de configuration.............................. 183 5.2 Commandes de gestion............................... 184
6 Unix Administration système (AIX, HP-UX, Solaris, Linux) Chapitre 6 Démarrage et paramétrages du système 1. Quelques rappels indispensables sur les processus.............. 187 1.1 Attributs d'un processus - Commande ps................. 188 1.2 Signaux - Élimination de processus...................... 189 2. Démarrage et arrêt du système............................. 192 2.1 Premières phases du démarrage......................... 192 2.2 Niveaux d'exécution.................................. 193 2.2.1 Définitions des niveaux (Solaris, HP-UX, Linux)...... 194 2.2.2 Définitions des niveaux AIX...................... 196 2.3 Programme init - Fichier /etc/inittab.................... 196 2.4 Passage au mode multi-utilisateur....................... 200 2.4.1 Paramétrage................................... 203 2.4.2 Protocole AIX.................................. 206 2.5 Démarrage manuel................................... 208 2.6 Arrêt et redémarrage.................................. 209 3. Paramétrages du noyau................................... 212 4. Inventaire des fichiers et des commandes..................... 215 Chapitre 7 Configuration TCP/IP 1. Quelques rappels sur l'architecture des protocoles TCP/IP....... 217 1.1 Rapide description des couches du modèle................ 219 1.1.1 Couche accès réseau............................. 219 1.1.2 Couche internet................................ 219 1.1.3 Couche transport............................... 220 1.1.4 Couche application.............................. 221 1.2 Format des adresses IP................................ 221 1.2.1 Adresses IPv4.................................. 222 1.2.2 Sous-réseaux................................... 224 1.2.3 Adresses IPv6.................................. 224
7 2. Interfaces physiques...................................... 225 3. Résolution des noms..................................... 229 3.1 Fichier /etc/hosts.................................... 229 3.2 Aspect client DNS................................... 230 4. Routage................................................ 231 4.1 Visualisation de la table de routage...................... 232 4.2 Routage statique..................................... 233 4.3 Routage dynamique.................................. 235 4.3.1 Démon routed.................................. 235 4.3.2 Démon gated................................... 235 5. Démons essentiels....................................... 236 5.1 Démon inetd........................................ 236 5.2 Démon xinetd....................................... 237 6. Quelques commandes de test.............................. 239 7. Inventaire des fichiers et des commandes..................... 241 Chapitre 8 Maintenance quotidienne 1. Service cron de planification des travaux..................... 243 1.1 La commande crontab................................ 244 1.2 Autorisations....................................... 244 1.3 Format des fichiers de requêtes......................... 245 1.4 La commande at..................................... 246 1.5 Spécificités Linux.................................... 248 1.5.1 Emplacement des fichiers......................... 248 1.5.2 Le fichier /etc/crontab........................... 248 1.5.3 Le démon anacron.............................. 249 1.6 Inventaire des fichiers et des commandes................. 250 2. Gestion des paquetages................................... 251 2.1 Exemples Solaris..................................... 252 2.2 Exemples Linux...................................... 254
8 Unix Administration système (AIX, HP-UX, Solaris, Linux) 3. Surveillance quotidienne.................................. 256 3.1 Fichiers d'historique, messages d'erreur................... 256 3.2 Le démon syslogd.................................... 258 3.3 Les IPC............................................. 260 3.4 Observation des performances......................... 261 3.4.1 La commande vmstat............................ 261 3.4.2 La commande iostat............................. 262 3.4.3 La commande sar............................... 263 4. Applications du langage shell............................... 264 4.1 Les différentes versions du langage...................... 264 4.2 Intérêts du shell..................................... 265 4.3 Syntaxe générale et règles d'écriture..................... 265 4.3.1 Shells et sous-shells............................. 265 4.3.2 Les variables d environnement.................... 266 4.3.3 Les tests et les exécutions conditionnelles........... 268 4.3.4 Les boucles.................................... 269 4.3.5 Les scripts shell................................. 270 4.4 Quelques outils pratiques à développer.................. 272 4.4.1 Surveillance de l'espace disque..................... 273 4.4.2 Surveillance de la charge CPU et Wait.............. 273 4.4.3 Surveillance de la consommation des processus....... 274 4.4.4 Autres outils................................... 274 4.5 Architecture de l'outil................................. 275 4.5.1 Paramétrage et lancement de la collecte............. 275 4.5.2 Le script de lancement de la collecte................ 276 4.5.3 La collecte vmstat............................... 279 4.5.4 La collecte dfstat.ksh............................ 279 4.5.5 La collecte psstat.ksh............................ 281 4.5.6 L'analyse des résultats........................... 282 Index...................................................... 285