Programmation shell sous Unix/Linux



Documents pareils
Filière Unix Windows Oracle

LINUX - ADMINISTRATION PROGRAMME DE FORMATION

Spécialiste Systèmes et Réseaux

Environnements informatiques

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

UBUNTU Administration d'un système Linux (4ième édition)

PHP 5.4 Développez un site web dynamique et interactif

Catalogue des formations 2015

SYSTÈME DE GESTION DE FICHIERS

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

1 Démarrage de Marionnet

Le système GNU/Linux IUP NTIC /11/05

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Manuel de System Monitor

Aide-Mémoire unix. 9 février 2009

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Technicien Supérieur de Support en Informatique

Outils pour la pratique

Installation d un serveur AmonEcole

Instructions d'installation de IBM SPSS Modeler Server 16 pour UNIX

UltraBackup NetStation 4. Guide de démarrage rapide

Table des matières Chapitre 1 Virtualisation, enjeux et concepts Chapitre 2 Ligne de produit XEN

Sauvegarde et restauration d'un système d'exploitation Clonezilla

Table des matières Page 1

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Serveur d application WebDev

Projet Administration Réseaux


Windows Server 2012 Les bases indispensables pour administrer et configurer votre serveur

Premiers pas en Linux

IDEC. Windows Server. Installation, configuration, gestion et dépannage

Lotus Notes et Domino 8.5 Administration de serveurs Domino

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

FreeNAS Shere. Par THOREZ Nicolas

MANUEL D INSTALLATION D UN PROXY

PROCÉDURE D'INSTALLATION

3IS - Système d'exploitation linux - Programmation système

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

administration serveur

Déploiement, administration et configuration

Comment configurer Kubuntu

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Formation Technicien Supérieur de Support en Informatique T2SI. Le module LINUX. Session J04 Version 01

UBUNTU. Administration d un système Linux. 4 ième édition. Nouvelle édition. Luc DEMARET Sébastien ROHAUT

Contrôle de la DreamBox à travers un canal SSH

D r o i t s D r o i t s Q u i z z : i n t e r n e t t e x t e

1 Configuration réseau des PC de la salle TP

TP1 - Prise en main de l environnement Unix.

Citrix XenApp 7.5 Concepts et mise en oeuvre de la virtualisation d'applications

«Astrophysique et instrumentations associées» Cours UNIX Benoît Semelin

Système et réseaux (SR1) Gestion des utilisateurs

Démarrer et quitter... 13

«Vous éditez, nous archivons!»

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

TRAVAILLER SUR LES ORDINATEURS DU LYCEE

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Année Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

Atelier Migration. Mohamadi ZONGO Formateur assistant Kassim ASSIROU Atelier Migration.

Cyberclasse L'interface web pas à pas

Exchange Server 2010 Exploitation d'une plateforme de messagerie

Administration de Parc Informatique TP07 : Installation de Linux Debian

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

//////////////////////////////////////////////////////////////////// Administration bases de données

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

OpenMediaVault installation

Année Universitaire ième année IMAC Mardi 6 janvier Cloud computing Travaux Pratiques

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Administration d Oracle Solaris :Tâches courantes

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

Créer et partager des fichiers

Table des matières Hakim Benameurlaine 1

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PROGRAMME «INFORMATICIEN MICRO»

La haute disponibilité de la CHAINE DE

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

NAS 224 Accès distant - Configuration manuelle

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

ACQUISITION. Traitement de l image. Classement. Préparation. Ouverture. Performance

Guide de déploiement

Simple Database Monitoring - SDBM Guide de l'usager

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Stockage Réseau. Le stockage s'échappe du système pour devenir une fonction réseau

Windows Server 2012 R2

NAS 109 Utiliser le NAS avec Linux

Linux LTE 2 - ISSBA. Année universitaire Linux Réseau et Archivage. Jean-Michel RICHER Faculté des Sciences, H206 1

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

ATELIERS DE FORMATION TECHNICIEN DE MAINTENANCE INFORMATIQUE

Transcription:

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