viedimpact.comviedimpact.com/wp-content/uploads/2017/09/1-Administration-System... · LPI101 :...
-
Upload
phunghuong -
Category
Documents
-
view
215 -
download
0
Transcript of viedimpact.comviedimpact.com/wp-content/uploads/2017/09/1-Administration-System... · LPI101 :...
LPI101 : Administration Systèmes sur Linux Niveau 1 1/308
LPI 101
Administration Systèmes
Linux Niveau 1
version 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 2/308
Table des matières
AvantPropos...........................................................5GNU & Commandes Unix........................................7
1 Travailler en ligne de commande ........................81.1 Unix et Linux..........................................................91.2 Historique du développement de UNIX................101.3 Shell.....................................................................111.4 Les variables Shell...............................................121.5 La ligne de commande.........................................131.6 /bin/bash...............................................................141.7 Log In et Log Out.................................................161.8 Mot de Passe.......................................................171.9 Informations sur les utilisateurs...........................181.10 Informations sur les groupes..............................201.11 Les pages de manuel (Man pages)...................211.12 Quiz ...................................................................221.13 Réponses quiz ..................................................231.14 Exercices ...........................................................241.15 Réponses ..........................................................25
2 Traiter les flux de texte à l'aide des filtres..........272.1 Concaténer les fichiers........................................282.2 Afficher le début et la fin d'un fichier....................292.3 Numérotation des lignes des fichiers...................302.4 Compter les caractères dans un fichier...............312.5 Découper les champs des fichiers.......................322.6 Conversion des caractères..................................332.7 Manipulation des lignes.......................................342.8 Diviser des fichiers...............................................362.9 Formatage pour l'impression................................372.10 Trier les lignes d'un fichier texte........................382.11 Affichage des fichiers binaires...........................392.12 Quiz ...................................................................402.13 Réponses quiz...................................................412.14 Exercices............................................................422.15 Réponses ..........................................................43
3 Effectuer la gestion de base des fichiers...........443.1 Lister les noms de fichiers et les informations.....453.2 Contenu et emplacement des fichiers.................483.3 Créer et supprimer des répertoires......................493.4 Copier des fichiers et des répertoires..................503.5 Supprimer des fichiers ou des répertoires...........513.6 Créer et utiliser des fichiers.................................523.7 Caractères à éviter...............................................533.8 Déplacer et renommer des fichiers......................543.9 File globbing et jokers (wildcards).......................553.10 Mécanismes de citation.....................................573.11 Lister des fichiers dans un sousrépertoire........593.12 Quiz ...................................................................613.13 Réponses quiz ..................................................623.14 Exercices ...........................................................633.15 Réponses ..........................................................65
4 Utiliser les flux, les pipes et les redirections......674.1 Entrées standards et sorties standards...............684.2 Redirections (pipes).............................................70
4.3 Construction des arguments................................714.4 Le ficher spécial /dev/null ...................................724.5 Quiz .....................................................................734.6 Réponses quiz ....................................................744.7 Exercices .............................................................754.8 Solutions .............................................................76
5 Créer, gérer et tuer un processus......................785.1 Créer un processus..............................................795.2 Gérer des processus............................................805.3 Gestion des processus en temps réel.................825.4 Envoyer un signal aux processus........................835.5 Contrôle des tâches.............................................845.6 Quiz......................................................................865.7 Réponses quiz.....................................................875.8 Exercices..............................................................885.9 Réponses ............................................................89
6 Les priorités d'exécution d'un processus...........906.1 Modification des priorités d'exécution des processus...................................................................916.2 Modifier un programme en cours d'exécution......92
7 Les expressions régulières................................937.1 Recherche de motifs (matching pattern)..............947.2 Modèle de recherche limité..................................957.3 Grep.....................................................................977.4 sed.......................................................................987.5 Quiz ...................................................................1007.6 Réponses quiz ..................................................1017.7 Exercices ...........................................................1027.8 Réponses ..........................................................103
8 L'édition de fichiers avec VI.............................1058.1 Les bases de l'édition de fichiers avec vi...........1068.2 Quiz....................................................................1088.3 Réponses quiz ..................................................1098.4 Exercices ...........................................................1108.5 Réponses ..........................................................111
Matériel & Architecture.......................................1131 Configurer les bases du BIOS.........................114
1.1 Le Firmware (BIOS)...........................................1151.2 Trouver les informations sur le disque dur.........1161.3 Trouver les informations sur le noyau................1171.4 Ports d'entrées/sorties.......................................1181.5 Les interruptions................................................1191.6 DMA...................................................................1201.7 PCI.....................................................................1211.8 La Couche d'Abstraction Matérielle...................1221.9 udev...................................................................1241.10 Quiz..................................................................1261.11 Réponses aux quiz..........................................1271.12 Exercices..........................................................1281.13 Réponses aux exercices..................................1291.14 Quiz .................................................................1301.15 Réponses aux quiz..........................................1311.16 Exercices..........................................................132
version 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 3/308
1.17 Réponses aux exercices..................................133Installation Linux & gestion des paquetages....134
1 Architecture des disques durs.........................1351.1 Conception d'une architecture de disque dur....136
2 Installer un gestionnaire de démarrage ..........1382.1 LILO ou Grub.....................................................1392.2 Exemples de fichiers /etc/lilo.conf......................1402.3 Exemples de fichiers menu.lst...........................1412.4 Quiz ...................................................................1422.5 Réponses quiz...................................................1432.6 Exercices ...........................................................1442.7 Réponses ..........................................................145
3 Compiler et installer des programmes à partir des sources...............................................................146
3.1 Archivage de fichiers..........................................1473.2 Compression de fichiers....................................1483.3 La chaîne d'outils GNU......................................1503.4 Quiz ...................................................................1523.5 Réponses quiz ..................................................1533.6 Exercices............................................................1543.7 Réponses ..........................................................155
4 Gérer les bibliothèques partagées ..................1564.1 Les bibliothèques...............................................1574.2 Les dépendances des bibliothèques.................1584.3 Le chargeur d'exécution (Runtime loader).........1594.4 Quiz....................................................................1604.5 Réponses quiz ..................................................161
5 Utiliser le gestionnaire de paquetages Debian.1625.1 Dpkg...................................................................1635.2 Utilisation de la chaine d'outils APT: aptget, aptcache, aptfile, aptcdrom........................................1655.3 Recompiler un .deb à partir de sources existantes.1705.4 Utilisation de aptitude et dselect........................1725.5 Quiz....................................................................1745.6 Réponses quiz ..................................................1755.7 Exercices ...........................................................1765.8 Réponses ..........................................................177
6 Utiliser le gestionnaire de paquetages de Red Hat (RPM).................................................................178
6.1 Gestion des paquetages RPM...........................1796.2 Utilisation des RPM ...........................................1806.3 Installation des sources.....................................1816.4 Tableau de comparaison RPM / DPKG.............1826.5 Exercices............................................................1836.6 Réponses ..........................................................184
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiers.................................................................185
1 Créer des partitions et des systèmes de fichiers...186
1.1 Création de partitions.........................................1871.2 Les systèmes de fichiers supportés par Linux...1901.3 Création d'un système de fichiers......................1911.4 Création de systèmes de fichiers étendus.........1921.5 Arborescence des systèmes de fichiers............193
1.6 Mémoire virtuelle................................................1952 Maintenir l'intégrité des systèmes de fichiers ..196
2.1 Contrôle de l'utilisation des disques...................1972.2 Contrôle des systèmes de fichiers.....................1992.3 Afficher les informations du système de fichiers étendu......................................................................2012.4 Déboguer un système de fichiers étendu..........2022.5 Personnaliser les systèmes de fichiers étendus......2032.6 Quiz ...................................................................2042.7 Réponses quiz ..................................................2052.8 Exercices ...........................................................2062.9 Réponses ..........................................................207
3 Contrôler le montage et le démontage d'un système de fichiers.............................................208
3.1 Monter un système de fichiers...........................2093.2 Démonter un système de fichiers......................2103.3 Informations sur les systèmes de fichiers..........2113.4 Quiz ...................................................................2123.5 Réponses quiz ..................................................2133.6 Exercices ...........................................................2143.7 Réponses ..........................................................215
4 Gérer les quotas disque..................................2164.1 Gestion des quotas disques...............................2174.2 Mise en place des quotas utilisateurs................2184.3 Lister les quotas.................................................2204.4 Afficher un rapport de quota..............................2214.5 Quiz 4.................................................................2224.6 Réponses quiz 4................................................2234.7 Exercices 4.........................................................2244.8 Réponses ..........................................................225
5 Utiliser les permissions pour contrôler l'accès aux fichiers................................................................226
5.1 Sécurité des dossiers sous Unix........................2275.2 Permissions sur les fichiers...............................2285.3 Permissions par défaut......................................2295.4 Changer les permissions sur les fichiers...........2305.5 Modifier les attributs de fichiers.........................231
6 Gérer la propriété des fichiers ........................2336.1 Modifier le propriétaire ou le groupe d'un fichier......2346.2 Attribuer plus de privilèges.................................2356.3 Exercices ...........................................................2366.4 Réponses ..........................................................238
7 Créer et changer des liens symboliques ou physiques...........................................................242
7.1 Liens physiques et liens symboliques................2437.2 Lier un fichier......................................................2447.3 Quiz....................................................................2457.4 Réponses quiz ..................................................2467.5 Exercices............................................................2477.6 Réponses ..........................................................248
8 Trouver et placer les fichiers système.............2498.1 Lister des fichiers dans un sousrépertoire........2508.2 locate et slocate.................................................2528.3 whereis et which.................................................254
Le système X Window.........................................255
version 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 4/308
1 Installer et configurer X11................................2561.1 XFree86 and Xorg..............................................2571.2 X Configuration..................................................2581.3 Installation d'un serveur de polices....................2611.4 Installation de polices.........................................262
2 Configurer un gestionnaire d'affichage............2632.1 Gestionnaires d'affichage..................................2642.2 XDM : X Display Manager..................................2652.3 GDM : GNOME Display Manager......................2662.4 KDM : KDE Display Manager.............................267
3 Installer & paramétrer un gestionnaire de fenêtres...........................................................................268
3.1 Paramétrer un gestionnaire de fenêtres............2693.2 Utiliser un terminal X..........................................2713.3 Exporter l'affichage............................................275
Travaux pratiques...............................................276Test LPI................................................................277
1 Test LPI...........................................................2782 LPI test practice..............................................2813 Réponses au test LPI......................................282
Credits..................................................................283Glossary...............................................................284Index.....................................................................307
version 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 5/308
AvantPropos
Le cours est organisé en petites sections avec une partie cours et des exercices. Les exercices permettent aux candidats de valider ce qui a été vu dans la section.
Pour valider chaque section, l'instructeur questionnera les auditeurs pour vérifier si tous les points abordés ont été compris avant de commencer les exercices.
Chaque candidat a besoin des CD de Linux, d'un ordinateur et d'un accès à Internet. L'ordinateur doit aussi être connecté à un réseau ethernet basique.
Le cours est divisé en sections selon le programme défini par LPI (Linux Professional Institute). Pour chaque section, les objectifs sont connus, le contenu du cours ainsi que les exercices doivent permettre aux candidats de se préparer pour l'examen 101 de la certification LPIC1 de www.lpi.org.
Prérequis
Pour suivre ce cours, les candidats doivent posséder de bonnes connaissances des systèmes d'exploitation, des connaissances de base sur le fonctionnement des systèmes Linux et sur l'utilisation d'un shell.
Les objectifs de ce cours
Le cours est destiné aux personnes qui souhaitent obtenir la certification LPI 101.
Il couvre tous les sujets que doivent préparer les candidats, de la configuration de base du matériel à la configuration d'un serveur XWindow.
Le cours suivant LPI102 fournit les connaissances nécessaires à la mise en réseau.
Linux Professional Institute
Ce cours permet d'obtenir les compétences nécessaires pour obtenir la certification professionnelle LPI. Pour avoir de plus amples informations sur LPI ou pour vous inscrire à un examen LPI, veuillez visiter www.lpi.org.
AvantProposversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 6/308
Les conventions utilisées dans ce manuel
Les nouvelles commandes sont indiquées de cette manière :
command [options] [files]
• command : opération à effectuer
• [ ] : pour notifier les options et les fichiers
• options : différentes possibilités proposées par la commande
• files : nom des fichiers concernés par la commande
Les exemples de commandes sont écrits de cette manière :
[root@test ] /# commande paramètre # commentaires a propos de la commande résultats : la commande finie
Le signe # indique un commentaire et [root@test ] /# le prompte administrateur.
AvantProposversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 7/308
GNU & Commandes UnixContenu du chapitre
GNU & Commandes Unix........................................71 Travailler en ligne de commande ........................8
1.1 Unix et Linux..........................................................91.2 Historique du développement de UNIX................101.3 Shell.....................................................................111.4 Les variables Shell...............................................121.5 La ligne de commande.........................................131.6 /bin/bash...............................................................141.7 Log In et Log Out.................................................161.8 Mot de Passe.......................................................171.9 Informations sur les utilisateurs...........................181.10 Informations sur les groupes..............................201.11 Les pages de manuel (Man pages)...................211.12 Quiz ...................................................................221.13 Réponses quiz ..................................................231.14 Exercices ...........................................................241.15 Réponses ..........................................................25
2 Traiter les flux de texte à l'aide des filtres..........272.1 Concaténer les fichiers........................................282.2 Afficher le début et la fin d'un fichier....................292.3 Numérotation des lignes des fichiers...................302.4 Compter les caractères dans un fichier...............312.5 Découper les champs des fichiers.......................322.6 Conversion des caractères..................................332.7 Manipulation des lignes.......................................342.8 Diviser des fichiers...............................................362.9 Formatage pour l'impression................................372.10 Trier les lignes d'un fichier texte........................382.11 Affichage des fichiers binaires...........................392.12 Quiz ...................................................................402.13 Réponses quiz...................................................412.14 Exercices............................................................422.15 Réponses ..........................................................43
3 Effectuer la gestion de base des fichiers...........443.1 Lister les noms de fichiers et les informations.....453.2 Contenu et emplacement des fichiers.................483.3 Créer et supprimer des répertoires......................493.4 Copier des fichiers et des répertoires..................503.5 Supprimer des fichiers ou des répertoires...........513.6 Créer et utiliser des fichiers.................................523.7 Caractères à éviter...............................................533.8 Déplacer et renommer des fichiers......................543.9 File globbing et jokers (wildcards).......................553.10 Mécanismes de citation.....................................57
3.11 Lister des fichiers dans un sousrépertoire........593.12 Quiz ...................................................................613.13 Réponses quiz ..................................................623.14 Exercices ...........................................................633.15 Réponses ..........................................................65
4 Utiliser les flux, les pipes et les redirections......674.1 Entrées standards et sorties standards...............684.2 Redirections (pipes).............................................704.3 Construction des arguments................................714.4 Le ficher spécial /dev/null ...................................724.5 Quiz .....................................................................734.6 Réponses quiz ....................................................744.7 Exercices .............................................................754.8 Solutions .............................................................76
5 Créer, gérer et tuer un processus......................785.1 Créer un processus..............................................795.2 Gérer des processus............................................805.3 Gestion des processus en temps réel.................825.4 Envoyer un signal aux processus........................835.5 Contrôle des tâches.............................................845.6 Quiz......................................................................865.7 Réponses quiz.....................................................875.8 Exercices..............................................................885.9 Réponses ............................................................89
6 Les priorités d'exécution d'un processus...........906.1 Modification des priorités d'exécution des processus...................................................................916.2 Modifier un programme en cours d'exécution......92
7 Les expressions régulières................................937.1 Recherche de motifs (matching pattern)..............947.2 Modèle de recherche limité..................................957.3 Grep.....................................................................977.4 sed.......................................................................987.5 Quiz ...................................................................1007.6 Réponses quiz ..................................................1017.7 Exercices ...........................................................1027.8 Réponses ..........................................................103
8 L'édition de fichiers avec VI.............................1058.1 Les bases de l'édition de fichiers avec vi...........1068.2 Quiz....................................................................1088.3 Réponses quiz ..................................................1098.4 Exercices ...........................................................1108.5 Réponses ..........................................................111
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 8/308
1 Travailler en ligne de commande
Description
Les candidats doivent être capables d'interagir avec des shell et des commandes en utilisant la ligne de commande.
Cela inclut de saisir au clavier des commandes et des séquences de commandes valides, de définir, référencer et exporter des variables d'environnement, d'utiliser l'historique de commande et les facilités d'édition, de lancer des commandes dans le chemin courant et en dehors, d'utiliser la substitution de commande, d'appliquer une commande de façon récursive à travers l'arborescence des répertoires et d'utiliser man pour se documenter sur les commandes.
Dossiers principaux, termes et utilitaires inclus
.
bash
echo
env
exec
export
man
pwd
set
unset
~/.bash_history
~/.profile
Poids: 5
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 9/308
1.1 Unix et Linux
Unix est le système d'exploitation original d'Internet (NFS, TCP/IP, RPC, ...).
Linux est une implémentation d'Unix écrite de A à Z par Linus Torvalds avec l'aide d'une communauté internationale de développeurs sur Internet.
Principales caractéristiques des deux systèmes:
• Portables, multiutilisateurs, multiprocesseurs
• Indépendants du matériel
• Partage des ressources, hautes performances et haut niveau de sécurité
• Lignes de commande
• GUI
Linux est POSIX. Il est conforme également avec les autres standards API comme BSD ou SVR4.
Linux possède toutes les caractéristiques des Unix modernes: réellement multitâches et multiutilisateurs, gestion de la mémoire virtuelle, bibliothèques partagées, chargement à la demande, exécutables partagés avec gestion des données en "copyonwrite", gestion efficace de la mémoire et du réseau TCP/IP.
De plus en plus d'entreprises choisissent Linux grâce à ses performances, ses coûts de maintenance et un retour sur investissement très rapide.
Les spécifications POSIX
POSIX (Portable Operating System Interface) est un ensemble de standards pour les systèmes d'exploitation basés sur UNIX. Il a été publié par IEEE et l'Open Group. POSIX est aussi une certification pour les logiciels qui garantit la portabilité du code source. Un logiciel compatible POSIX peut être compilé sur toutes les plateformes compatibles POSIX.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 10/308
1.2 Historique du développement de UNIX
Unix a été développé en 1969 dans les laboratoires Bell par un petit groupe dans le cadre d'un projet de recherche privé. Leur objectif était de construire un OS qui:
• Soit simple et élégant.
• Soit écrit dans un langage de hautniveau plutôt que dans un langage assembleur.
• Autorise l'utilisation du code.
La plupart des OS, à cette époque, étaient des gros systèmes et tous étaient écrits en Assembleur. Unix a été écrit en C, ce qui garanti sa portabilité.
Cette portabilité est très certainement la principale raison du succès des Unix.
Dans les années 70, AT&T a libéré le code pour les Universités et les administrations américaines et a ensuite commencé à le vendre aux entreprises privées.
Depuis la première version d'un OS Unix en 1969, l'histoire d'Unix a été très mouvementée. De nombreux clones du système original ont vu le jour (BSD en 1977 ou Coherent OS en 1983) et ont été écrits de A à Z par de petites équipes de développeurs. Ces Unices (le pluriel de Unix) ont été publiés sous licence soit propriétaires, soit complètement ouvertes (projet BSD).
En 1991, un étudiant finlandais appelé Linus Torvald, a libéré le code de la première version de son OS, qu'il a appelé Linux.
Linux a été le premier OS distribué sous licence GPL, ce qui a permis un développement rapide et homogène de son noyau (kernel).
Comme tous les clone d'Unix, dans Linux sont implémentées toutes les commandes BSD et System V de AT&T.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 11/308
1.3 Shell
Un Shell:
• Est un interpréteur de commande,
• Affiche une invite (prompt),
• Est un interpréteur de commandes qui contient des redirections I/O, des pipes, qui crée des fichiers, etc,
• Exécute des commandes,
• Exécute des scripts.
Il existe plusieurs shells; Parmi les plus courants:
• sh: Bourne shell est le shell standard pour les scripts. Il a été le premier à inclure des fonctionnalités de 'globbing', c'est à dire de gestion des caractères joker (wildcards) dans les noms de fichiers.
• csh: Berkeley shell, gestion des jobs (travaux en arrièreplan), historique des commandes, alias.
• ksh: shell Korn, syntaxe de type Bourne avec des fonctionnalités Berkeley.
• bash: "Bourne Again shell", logiciel libre à la manière du shell Korn. Le Shell standard des Linux.
• tcsh: Libre, le clone de Berkeley avec de nombreuses extensions.
La plupart des shells vous permettent de personnaliser votre prompte et votre environnement.
La variable du prompte, pour le Bash, est PS1.
Pour Bash, on utilise fréquemment les fichiers suivants pour la personnalisation de l'environnement : .bashrc, .bash_profile, .bash_logout.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 12/308
1.4 Les variables Shell
Toutes les variables locales d'une session bash peuvent être visualisées avec set et toutes les variables de l'environnement courant peuvent être visualisées avec env.
Pour déclarer une variable locale:
[root@test ] /# VARNAME=SOMETHING
Pour supprimer une variable:
[root@test ] /# unset VARNAME
Pour déclarer une variable qui doit être vue par tous les shells, il faut utiliser: export.
[root@test ] /# export VARNAME=SOMETHING
ou
[root@test ] /# VARNAME=SOMETHING
[root@test ] /# export VARNAME
La variable ne sera vue que par le shell qui est lancé depuis l'endroit où la variable a été déclarée.
Avec la commande env il est possible d'utiliser un environnement spécifique pour une commande.
[root@test ] /# env VARNAME= OTHERVAR=SOMETHING script_to_run.sh
Dans cet exemple, VARNAME est définie comme une variable vide et OTHERVAR prend la valeur SOMETHING. Ces variables sont définies pour l'environnement courant du seul script: script_to_run.sh.
Il est aussi possible d'utiliser un environnement entièrement vide pour un script.
[root@test ] /# env -i script_to_run.sh
Voici quelques variables importantes:
HOME: Répertoire personnel de l'utilisateur courant.
PATH: Chemins de recherche des commandes.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 13/308
1.5 La ligne de commande
Toutes les lignes de commande ont cette syntaxe:
command [options] [arguments]
Exemples:
[root@test ] /# pwd
[root@test ] /# ls -ld ; ls -l -d ; ls -d -l
[root@test ] /# rm -r /tmp/toto
[root@test ] /# cat ../readme helpme > save
[root@test ] /# more /etc/passwd /etc/hosts /etc/group
[root@test ] /# find . -name *.[ch] -print
[root@test ] /# date "+day is %a"
Les lignes de commande peuvent être assemblées dans un fichier pour former un script.
Pour afficher une chaîne de caractères, il faut utiliser echo:
echo [n][string|command|$variable]
Essayez ces exemples:
[root@test ] /# echo my home directory is: $HOME
[root@test ] /# echo I use the $SHELL shell
L'ordre de priorité des différentes sources des commandes dans un shell est:
1. Les aliases.
2. Les mots clé, comme if, for ou autre.
3. Les fonctions.
4. Les commandes intégrées comme cd, type, et kill.
5. Les scripts et les programmes exécutables, pour lesquels le shell cherche dans la liste des répertoires du PATH les variables d'environnement.
Si vous souhaitez connaître la source d'une commande, tapez:
[root@test ] /# type kill
kill is a shell builtin
Différente de /bin/kill. Pour connaître toutes les commandes intégrées, il faut utiliser help.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 14/308
1.6 /bin/bash
/bin/bash est le shell par défaut sur Ubuntu. Par exemple, /bin/bash est lancé quand vous vous loggez depuis un terminal virtuel (Ctrl-Alt-F1 à Ctrl-Alt-F6) ou lorsque vous lancez une session gnometerminal :
Pour l'initialisation du shell, Bash distingue trois situations :
• Lorsqu'il est utilisé comme shell de login, un shell interactif utilisé au moment où l'utilisateur se connecte au système, les scripts suivants sont appelés :
1. /etc/profile : initialisation par défaut proposée sur cette machine.
2. Le premier des fichiers $HOME/.bash_profile, $HOME/.bash_login, $HOME/.profile, , dans cet ordre et s'ils sont présents.
3. Lorsqu'un shell de login se termine il lit et exécute, s'ils sont présents, les scripts /etc/.bash_logout et $HOME/.bash_logout.
• Pour tous les shells interactifs, les shells reliés à un terminal, Bash exécutera /etc/bash.bashrc and $HOME/.bashrc s'ils sont présents. On notera que, dans la plupart des cas, les scripts .bash_profile appellent explicitement les .bashrc.
• Dans le cas d'un shell non interactif, un shell utilisé pour exécuter un script par exemple (sh textfile.sh), Bash ne lira que le fichier défini par $BASH_ENV, qui est rarement utilisée.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 15/308
Dans tous les cas, vous pouvez forcer la manière dont Bash s'initialise avec les options :
• -i, pour créer un shell interactif
• -l, pour créer un shell de login
• --noprofile, et --norc, pour empêcher l'exécution de certains scripts.
L'historique des commandes tapées est dans le fichier: .bash_history
Un script est une suite de commandes et d'opérations exécutées dans un shell.
Les scripts exécutés par bash gèrent entre autre l'initialisation des variables d'environnement.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 16/308
1.7 Log In et Log Out
La session de log in est la première étape pour accéder à un système Linux.
Un nom d'utilisateur (login ID) et un mot de passe (password) sont nécessaires pour utiliser le système.
Le login ID root est celui du super utilisateur qui possède tous les privilèges normalement assignés à l'administrateur système. Il n'est pas possible de se logger avec l'utilisateur root sur Ubuntu parce que ce compte est désactivé. Vous devez vous logger en tant qu'utilisateur normal et exécuter les commandes avec sudo.
Lorsque qu'un utilisateur s'est connecté, les variables d'environnement se chargent et démarrent le shell qui correspond à l'utilisateur.
Quelques variables chargées au log in:
$HOME, $SHELL, $PATH, et autres.
● $HOME est le répertoire personnel de l'utilisateur
● $SHELL est le shell utilisé
● $PATH est une liste de répertoires séparés par des doublepoints. Ces répertoires sont ceux dans lesquels le shell va chercher les commandes que l'utilisateur peut lancer
En modifiant le fichier /etc/login.defs l'administrateur peut modifier des paramètres et des variables pour tous les utilisateurs.
Par exemple:
UID_MIN 500
UID_MAX 60000
UMASK 022
ENV_PATH /usr/local/bin:/usr/bin:/bin
Le log out utilise la commande exit ou logout.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 17/308
1.8 Mot de Passe
Personne, pas même l'administrateur, ne peut voir votre mot de passe. Sous Linux, chaque utilisateur possède un mot de passe (sauf root sous Ubuntu qui n'a pas de mot de passe par défaut)
Pour modifier les mots de passe des utilisateurs ou des groupes, il faut taper la commande passwd.
passwd [options] username/group
Quelques options:
• l: Pour bloquer un compte.
• g|r: utilisé pour les groupes. g pour définir un mot de passe pour un groupe et r pour le supprimer.
• x|n: Nombre maximum et minimum de jours de validité d'un mot de passe.
• u: Débloquer un compte.
D'une manière générale, un mot de passe:
• Doit avoir un nombre minimum de caractères (6 à 10).
• Ne doit pas contenir de mot anglais présent dans le dictionnaire.
• Doit contenir des caractères nonalphanumériques.
• Doit être composé de majuscules et de minuscules.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 18/308
1.9 Informations sur les utilisateurs
Dans le fichier /etc/passwd, une ligne définie chaque compte utilisateur. Le mot de passe encrypté se trouve dans /etc/shadow.
Le format de /etc/passwd est le suivant:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
rarrigoni:x:500:100:Raphael Arrigoni:/home/rarrigoni:/bin/bash
Le premier champ est le nom d'utilisateur
Le champs x représente l'ancien emplacement du mot de passe.
Les troisième et quatrième champs sont l'UID et le GID de l'uilisateur
Le cinquième champ est un commentaire
Le sixième champ est le répertoire personnel de l'utilisateur
Le dernier champ est le shell par défaut de l'utilisateur
Le format de /etc/shadow est le suivant:
root:IMXweyiV816gg:11996:0:10000::::
bin:!*:8902:0:10000::::
daemon:*:8902:0:10000::::
rarrigoni:GoIM8j1S.IuTY:11996:0:99999:7:::
Les champs sont les suivants:
● Nom d'utilisateur,
● Mot de passe encrypté sur 13 caractères, une entrée vide signifie qu'il n'est pas nécessaire de fournir un mot de passe (dangereux!), le ! devant le mot de passe encrypté signifie que le compte est bloqué. Le * signifie qu'qucun mot de passe n'a encore été défini
● Nombre de jours (depuis le 1er Janvier 1970) depuis que le mot de passe a été changé
● Nombre de jours avant lequel le mot de passe peut être changé (0 signifie que le mot de passe peut être changé à tout moment)
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 19/308
● Nombre de jours après lequel le mot de passe doit être changé (entrer 99999 pour signifier que l'utilisateur peut garder son mot de passe indéfiniment)
● Nombre de jours pendant lesquels avertir l'utilisateur d'un mot de passe sur el point d'expirer (entrer 7 pour une semaine complète)
● Le nombre de jours après expiration, pendant lesquels le compte est encore actif
● Le nombre de jours ( depuis le 1er Janvier 1970) que le compte a été désactivé
● Champ réservé pour utilisation ultérieure
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 20/308
1.10 Informations sur les groupes
Dans le fichier /etc/group, il y a une ligne pour chaque groupe d'utilisateurs. Les mots de passe encryptés sont dans /etc/gshadow.
Le format du fichier /etc/group est le suivant:
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:
video:x:33:rarrigoni
Le premier champ est le nom d'utilisateur
Le second champ x signifie que le mot de passe du groupe est encrypté dans le fichier /etc/gshadow
Le troisième champ est le GID
Le quatrième champ contient les membres du groupe
Le format du fichier /etc/gshadow est le suivant:
root:*:root:root
bin:*:root:root daemon:*:root:root
bin:!*:8902:0:10000::::
video:*:root:root,rarrigoni
Le premier champ est le nom du groupe
Le second champ est le mot de passe encrypté
Le troisème champ une liste d'administrateurs du groupe
Le quatrième champ est une liste de membres du groupe
Les mots de passe pour les groupes ne sont en général pas activés tant que tous les membres du groupe n'ont pas reçu le mot de passe de la part de l'administrateur.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 21/308
1.11 Les pages de manuel (Man pages)
Les manuels en ligne décrivent la plupart des commandes utilisées dans votre système.
man [command]
Exemples:
[root@test ] /# man mkdir
[root@test ] /# man cal
Pour rechercher un mot clé dans les pages de manuel, il faut utiliser l'option k.
[root@test ] /# man -k compress
[root@test ] /# apropos compress
L'emplacement des pages de manuel peut être modifié avec la variable MANPATH.
Pour afficher le contenu de MANPATH.
[root@test ] /# echo $MANPATH
/usr/local/man:/usr/share/man:/usr/X11R6/man
Si cette variable n'existe pas, les caractéristiques des pages de manuel se trouvent dans le fichier /etc/man.config.
Des commandes pratiques dans man :
● / : rechercher du texte
● n : aller à l'occurence suivante
● N : aller à l'occurence précédente
● q : sortir
Pour obtenir des informations sur man :
[root@test ] /# man man
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 22/308
1.12 Quiz
Quiz 1.1Quelles sont les informations dont vous avez besoin pour vous connecter à un système Unix ou Linux ?
Quiz 1.2Quand .bashrc estil exécuté ?
Quiz 1.3Que sont les commandes intégrées (builtin) ?
Quiz 1.4Quelle commande fautil utiliser pour connaître la source d'une commande ?
Quiz 1.5Quelle syntaxe fautil utiliser pour démarrer un programme en arrièreplan ?
Quiz 1.6Quelle option permet de bloquer un compte utilisateur ?
Quiz 1.7Comment vérifiezvous qu'un compte est bien bloqué ?
Quiz 1.8Comment savezvous si votre prompte est un prompte root dans un terminal bash ?
Quiz 1.9Dans quel fichier pouvez vous redéfinir la longueur maximum du mots de passe ?
Quiz 1.10Dans le fichier /etc/passwd, à quoi correspond le chiffre indiqué dans le quatrième champ d'un compte utilisateur ?
Quiz 1.11Quelle est l'option à utiliser avec la commande useradd pour créer automatiquement l'accès au shell et le répertoire personnel ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 23/308
1.13 Réponses quiz
Réponse 1.1Un login et un mot de passe.
Réponse 1.2Exécuté pour chaque par bash pour chaque nouveau shell interactif.
Réponse 1.3Une commande intégrée (builtin) est une commande exécutée dans un shell.
Réponse 1.4[root@test ] /# whereis ls
Réponse 1.5[root@test ] /# xeyes &
Réponse 1.6[root@test ] /# passwd -l [username]
Réponse 1.7Le ! devant le mot de passe encrypté signifie que le compte est bloqué.
Réponse 1.8[root@test ] /#
Le # signifie que vous êtes connecté en root.
Réponse 1.9Le fichier est /etc/login.defs.
Réponse 1.10Il signifie l'identité du groupe primaire (GID) pour un utilisateur.
Réponse 1.11L'option est m.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 24/308
1.14 Exercices
Exercice 1.1Trouvez les informations sur les commandes useradd et userdel.
Exercice 1.2Créez deux nouveaux comptes user1 et user2 et attribuez leur des mots de passe avec la commande passwd.
Exercice 1.3En tant que root, bloquez les comptes et vérifiez ensuite en essayant de vous connecter.
Exercice 1.4Quelle commande sert à concaténer des fichiers ?
Exercice 1.5Déclarez et initialisez les variables d'environnement suivantes: NAME et LASTNAME. Utilisez echo pour les afficher.
Exercice 1.6Lancez un bash et vérifiez que ces variables ont bien été déclarées.
Exercice 1.7Utilisez exec pour ouvrir une nouvelle session bash: Peuton encore voir ces variables ?
Exercice 1.8Utilisez la commande date pour afficher le mois courant.
Exercice 1.9Editez le fichier .bashrc dans le répertoire home et ajoutez ces lignes :
alias ls='ls --color'
alias ll='ls --color -l'
Expliquez leur action ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 25/308
1.15 Réponses
Réponse 1.1Pour avoir des information sur les commandes, utiliser l'aide système:
[root@test ] /# man useradd
[root@test ] /# man userdel
Réponse 1.2création des utilisateurs:
[root@test ] /# useradd -m user1
[root@test ] /# useradd -m user2
Création des mots de passe des utilisateurs:
[root@test ] /# passwd user1 (entrer le mot de passe et le confirmer)
[root@test ] /# passwd user2 (entrer le mot de passe et le confirmer)
Se déconnecter de la session root et se connecter avec les deux comptes créés (user1 user2).
Réponse 1.3[root@test ] /# passwd -l user1
[root@test ] /# passwd -l user2
Réponse 1.4La commande utilisée pour concaténer les fichiers est cat.
Réponse 1.5Création d'une variable:
[root@test ] /# name=jance
[root@test ] /# LASTNAME=roberto
Pour afficher le contenu des variables, procéder comme suit:
[root@test ] /# echo $name; echo $LASTNAME
Réponse 1.6Si on démarre un nouveau bash, les variables créées ne sont pas effectives.
Pour cela il faut faire un export des variables.
Réponse 1.7Non car nous avons changé d'environnement.
Réponse 1.8[root@test ] /# Date +"%m"
Réponse 1.9Les lignes ajoutées dans le fichier .bashrc permettent de créer des alias à la
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 26/308
commande ls. Le premier alias permet d'afficher en couleur le résultat de ls. Le deuxième alias permet d'afficher en couleur et d'utiliser l'option l de la commande ls l en utilisant la commande ll.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 27/308
2 Traiter les flux de texte à l'aide des filtres
Description
Les candidats doivent être en mesure d'appliquer des filtres sur les flux de texte (text streams). Ces tâches incluent l'envoi de fichiers texte et de flux externes (output streams) à travers les filtres des utilitaires de texte (text utility filters) pour les modifier, et l'utilisation des commandes standards UNIX issues des paquetages textutil GNU.
Dossiers principaux, termes et utilitaires inclus
cat, tac: Lier les fichiers et imprimer les sorties standards.
cut: Supprime des sections de chaque ligne des fichiers.
expand: Converti les tabulations en espaces.
unexpand: Converti les espaces en tabulations.
fmt: Formate le texte.
head, tail: Affiche la première ou la dernière partie du fichier.
join: Fusionne les lignes de deux fichiers dans un champs commun.
nl: Affiche les numéros de ligne du fichier.
od: Transfert les fichiers en octal ou vers d'autres formats.
paste: Fusionne les lignes des fichiers.
pr: Converti les fichiers textes pour l'impression.
sed : Permet de faire des substitutions de textes
sort: Extrait des lignes de fichiers texte.
split: Sépare un fichier en morceau.
tr: Transfert ou efface des caractères.
uniq: Supprime les lignes dupliquées depuis un fichier assorti.
wc: Affiche le nombre d'octets, de mots et de lignes dans le fichier.
Poids: 6
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 28/308
2.1 Concaténer les fichiers
Pour concaténer les fichiers, il faut utiliser la commande cat.
cat [options] [files...]
tac [options] [files...]
Les résultats sont affichés sur la sortie standard.
Principales options:
s: ne jamais afficher plus d'une seule ligne blanche.
n: numérote toutes les lignes en sortie.
Exemples:
Afficher myfile.txt sur la sortie standard :
user@ubuntu:~$ cat myfile.txtabcuser@ubuntu:~$
Afficher myfile.txt et myfile2.txt sur la sortie standard :
user@ubuntu:~$ cat myfile.txt myfile2.txtabcduser@ubuntu:~$
Afficher myfile.txt avec les numéros de ligne sur la sortie standard :
user@ubuntu:~$ cat -n myfile.txt 1 a 2 b 3 cuser@ubuntu:~$
Pour concaténer les fichiers en ordre inverse, il faut utiliser tac :
user@ubuntu:~$ tac myfile.txtcbauser@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 29/308
2.2 Afficher le début et la fin d'un fichier
Pour afficher uniquement les premières lignes ou les dernières lignes, il faut utiliser head ou tail.
head [options] [files...]
tail [options] [files...]
Les résultats sont affichés sur la sortie standard.
Principales options:
n: nombre de lignes à afficher (head et tail).
c: nombre de octets à afficher (head et tail).
f: append output (tail).
s #: itération des nouvelles données toutes les # sec (tail).
Exemples:
[root@test ] /# head file # Affiche les 10ere lignes du fichier.
[root@test ] /# head -n 2 file # Affiche les 2 permieres lignes du fichier.
[root@test ] /# tail -c 10 file # Affiche les 10 dernières lignes du fichier.
[root@test ] /# tail -f -s 1 /var/log/messages # Affiche les 10 dernières lignes du fichier,s'arrete et verifie tous les seconde des nouvelles données.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 30/308
2.3 Numérotation des lignes des fichiers
Pour ajouter les numéros des lignes d'un fichier, il faut utiliser la commande nl.
nl [options] [files...]
Les résultats sont affichés sur la sortie standard.
Principales options:
i #: incrémente les numéros de ligne de #.
b: notifie le style de numérotation:
a: numérote toutes les lignes,
t: pour numéroter seulement les lignes pleines.
n: notifie le format de la numérotation:
rz: justifiée à droite,
ln: justifiée à gauche.
Exemples:
Ajouter les numéros de ligne à chaque ligne du fichier :
user@ubuntu:~$ nl myfile.txt 1 a 2 b 3 cuser@ubuntu:~$
Ajouter les numéros de ligne à chaque ligne non vide, avec formatage du numéro :
user@ubuntu:~$ nl -b t -n rz myfile.txt000001 a000002 b000003 cuser@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 31/308
2.4 Compter les caractères dans un fichier
Pour afficher le nombre de lignes, de mots et de caractères d'un fichier, il faut utiliser wc.
wc [options] [files...]
Les résultats sont affichés sur la sortie standard.
Principales options:
c: affiche la taille des octets.
m: affiche le nombre de caractères.
w: affiche le nombre de mots.
l: affiche le numéro de la ligne.
L: affiche la taille de la ligne la plus longue.
Exemples:
Afficher le nombre de retours chariot, de mots et de caractères de myfile.txt :
user@ubuntu:~$ wc myfile.txt3 3 6 myfile.txtuser@ubuntu:~$
Afficher le nombre de mots de myfile.txt :
user@ubuntu:~$ wc -w myfile.txt3 myfile.txtuser@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 32/308
2.5 Découper les champs des fichiers
Pour supprimer les sections de chaque ligne d'un fichier, il faut utiliser cut.
cut [options] [files...]
Les résultats sont affichés sur la sortie standard.
Principales options:
b #: Pour supprimer l'octet de la position #.
f #: Pour supprimer le champs numéro #.
d #: utiliser DELIM au lieu de TAB pour identifier les séparateurs de champs.
Exemples:
Afficher les caractères 4 à 7 de chaque ligne :user@ubuntu:~$ cat cutfile.txt01:Harry:32423:!02:William:53452:!03:Camilla:342534:!04:Elizabeth:235345:!user@ubuntu:~$ cut b 47 cutfile.txtHarrWillCamiElizuser@ubuntu:~$
Afficher le troisème champ d'un fichier dont le séparateur de champs est : :user@ubuntu:~$ cut f3 d: cutfile.txt3242353452342534235345user@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 33/308
2.6 Conversion des caractères
Pour transcrire stdin en stdout, il faut utiliser tr.
tr [options] SET1 SET2
Principales options:
d: supprime le caractère dans SET1.
s: remplace la séquence de caractères dans SET1 par une autre.
Exemple :
Remplacer a par 1, b par 2 et c par C :user@ubuntu:~$ cat myfile.txtabcuser@ubuntu:~$ cat myfile.txt | tr 'abc' '12C'12Cuser@ubuntu:~$
Remplacer les minuscules par des majuscules :user@ubuntu:~$ cat myfile.txt | tr '[az]' '[AZ]'ABCuser@ubuntu:~$
Pour remplacer les tabulations par des espaces, il faut utiliser expand et pour le contraire, unexpand.
expand file
unexpand file
Exemple :user@ubuntu:~$ cat expandfile.txt
tabuser@ubuntu:~$ cat expandfile.txt | wc c5user@ubuntu:~$ expand expandfile.txt | wc c12user@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 34/308
2.7 Manipulation des lignes
Pour coller plusieurs lignes d'un fichier, il faut utiliser paste.
paste [options] [files...]
Principales options:
d #: délimiteur: Utilise # comme délimiteur.
s: serial: colle les fichiers un par un.
Exemples :user@ubuntu:~$ cat paste1.txt123user@ubuntu:~$ cat paste2.txtabcuser@ubuntu:~$ paste paste1.txt paste2.txt1 a2 b3 cuser@ubuntu:~$
Pour coller plusieurs lignes d'un fichier, il faut utiliser join.
join file1 file2
Exemples :user@ubuntu:~$ cat join1.txt1 a2 b3 cuser@ubuntu:~$ cat join2.txt1 d2 e4 fuser@ubuntu:~$ join join1.txt join2.txt1 a d2 b euser@ubuntu:~$
Pour supprimer les lignes dupliquées, il faut utiliser uniq.
uniq [options] [files...]
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 35/308
Principales options:
d: Pour imprimer uniquement les lignes dupliquées.
u: Pour imprimer seulement les lignes uniques.
Exemples :user@ubuntu:~$ cat uniqfile.txtaabbbccuser@ubuntu:~$ uniq uniqfile.txtabcuser@ubuntu:~$ uniq c uniqfile.txt
2 a3 b2 c
user@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 36/308
2.8 Diviser des fichiers
Pour diviser des gros fichiers, il faut utiliser split.
split [options] file
Principales options:
l #: pour diviser toutes les # lignes.
b #: pour diviser en octets (b pour 512 octets, k pour 1K octets, m pour 1M octets.
Exemples :
Diviser myfile.txt en fichiers d'une ligne :user@ubuntu:~$ cat myfile.txtabcuser@ubuntu:~$ split -l 1 myfile.txtuser@ubuntu:~$ cat xaaauser@ubuntu:~$ cat xabbuser@ubuntu:~$ cat xaccuser@ubuntu:~$
xaa, xab, xac... sont les noms de fichiers générés par défaut par split
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 37/308
2.9 Formatage pour l'impression
Pour formater un fichier, il faut utiliser fmt.
fmt [options] [files...]
Principale option:
w #: formatage en fonction de la largeur maximale des lignes.
Exemple:
[root@test ] /# fmt -w 35 file # Display 35-character lines width.
Pour formater un fichier pour une imprimante, il faut utiliser pr.
pr [options] [files...]
Principale option:
d: double espace.
Exemple:
[root@test ] /# pr -d file # Format file with double-space.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 38/308
2.10 Trier les lignes d'un fichier texte
Pour trier les lignes d'un fichier texte, il faut utiliser sort.
sort [options] file
Les résultats sont affichés sur la sortie standard.
Principales options:
r: Inversé.
f: Pour ignorer la case.
n: Format numérique.
o: file: Dirige les sorties vers le fichier.
u: Pas d'enregistrements dupliqués.
t;: Utilisez ';' comme délimiteur à la place de tab ou space.
Exemples :user@ubuntu:~$ cat sortfile.txtdeacbuser@ubuntu:~$ sort sortfile.txtabcdeuser@ubuntu:~$ sort -r sortfile.txtedcbauser@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 39/308
2.11 Affichage des fichiers binaires
Pour afficher les fichiers binaires, il faut utiliser od.
od [options] file
Les résultats sont affichés sur la sortie standard et commencent avec l'adresse par rapport au début du fichier (offset) en octal.
Principales options:
c: chaque caractère est un octet.
x: 2octet en hex.
d: 2octet en decimal.
X: 4octet en hex.
D: 4octet en decimal.
Exemple :
[root@test ] /# od -cx /bin/ls
0000000 177 E L F 001 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 457f 464c 0101 0001 0000 0000 0000 0000 0000020 002 \0 003 \0 001 \0 \0 \0 224 004 \b 4 \0 \0 \0 0002 0003 0001 0000 9420 0804 0034 0000 0000040 ° ² \0 \0 \0 \0 \0 \0 4 \0 \0 006 \0 ( \0 b2b0 0000 0000 0000 0034 0020 0006 0028 0000060 032 \0 031 \0 006 \0 \0 \0 4 \0 \0 \0 4 200 004 \b 001a 0019 0006 0000 0034 0000 8034 0804_
Le format ELF
Dans la plupart des systèmes Unix, Linux en premier, le format binaire par défaut des programmes est le format ELF.
ELF, pour Executable and Linking Format, ajoute des fonctionnalités aux binaires, comme les liaisons dynamiques, le chargeur dynamique, le contrôle à l'exécution des programmes, et améliore la création des bibliothèques partagées.
Cependant, si les binaires ELF sont identiques dans leurs structures et entreposent leurs données de contrôles dans un format indépendant de la plateforme, ils dépendent toujours du type de processeur avec lequel ils ont été compilées.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 40/308
2.12 Quiz
Quiz 2.1Où va le résultat de cat?
Quiz 2.2Comment rediriger la sortie de la commande cat?
Quiz 2.3Quelle commande est appropriée pour lire un fichier de log?
Quiz 2.4Comment ajouter un numéro aux lignes d'un fichier?
Quiz 2.5Comment faites vous pour compter le nombre de mots dans un fichier?
Quiz 2.6Quelle commande vous permet de transformer des minuscules en majuscules?
Quiz 2.7Quelle commande fautil utiliser pour classer alphabétiquement le contenu d'un fichier ?
Quiz 2.8Estce que le format ELF vous permet d'exécuter le même programme binaire sur des architectures x86 et PPC?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 41/308
2.13 Réponses quiz
Réponse quiz 2.1cat écrit sur stdout (la sortie standard), le plus souvent un terminal.
Réponse quiz 2.2Avec les utilitaires de pipe (|) ou de redirection (<, >, >>).
Réponse quiz 2.3Il faut utiliser tail de la manière suivante:
[root@test ] /# tail -f -s 1 /var/log/messages
Réponse quiz 2.4Avec l'utilitaire nl de la manière suivante:
[root@test ] /# nl file
Réponse quiz 2.5Avec l'utilitaire wc de la manière suivante:
[root@test ] /# wc -w file
Réponse quiz 2.6Avec l'utilitaire tr de cette manière:
[root@test ] /# cat /etc/passwd | tr [a..z] [A..Z]
Réponse quiz 2.7Avec l'utilitaire sort de cette manière:
[root@test ] /# sort file
Réponse quiz 2.8Non, ELF spécifie le format des fichiers binaires. La définition des instructions binaires est différente entre les architecture x86 et PPC.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 42/308
2.14 Exercices
Exercice 2.1Affichez le nombre de mots qui commencent par h dans tous les fichiers du répertoire /etc.
Exercice 2.2Comment enregistrer un fichier de 2Mo sur deux disquettes de 1.44Mo ? Comment feriezvous pour assembler ensuite les deux parties du fichier ?
Exercice 2.3Quelle commande utiliseriezvous pour remplacer le délimiteur : dans le fichier /etc/passwd par # ?
Exercice 2.4Combien de lignes pouvezvous comptabiliser dans le fichier /etc/passwd ?
Exercice 2.5Quelle commande permet d'afficher les 5 dernières lignes du fichier /etc/group ?
Exercice 2.6 Combien de mots et de caractères le fichier /etc/passwd contientil ?
Exercice 2.7Créez un fichier utilisateur dans votre répertoire home qui contient tous les uid et le gid des comptes. Remplacez tous les : par un ESPACE.
Exercice 2.8Triez le fichier /etc/passwd avec le nom de l'utilisateur ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 43/308
2.15 Réponses
Réponse 2.1La commande est:
[root@test ] /# wc -w /etc/h*
Réponse 2.2La commande est:
[root@test ] /# split -b 1m filename
[root@test ] /# cat x* > filename ( pour reconstituer le fichier)
Réponse 2.3[root@test ] /# cat /etc/passwd | tr ":" "#"
Réponse 2.4La commande est:
[root@test ] /# nl /etc/passwd
ou
[root@test ] /# cat -n /etc/passwd
ou
[root@test ] /# wc -l /etc/passwd
Réponse 2.5La commande est:
[root@test ] /# tail -n 5 /etc/group
Réponse 2.6La commande est:
[root@test ] /# wc -w -m /etc/passwd
Réponse 2.7La commande est:
[root@test ] /# cut -d : -f 1,3,4 /etc/passwd > /home/toto/user && cat /home/toto/user | tr ":" " " > /home/toto/user
Réponse 2.8La commande est
[root@test ] /# sort -t : +0,-1 /etc/passwd
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 44/308
3 Effectuer la gestion de base des fichiersDescription
Les candidats doivent être en mesure d'utiliser les commandes de base UNIX pour copier, déplacer, et supprimer des fichiers et des répertoires. Ces tâches regroupent les opérations avancées de gestion de fichiers telles que la copie récursive de fichiers multiples, la suppression récursive des répertoires et le déplacement des fichiers qui contiennent une wildcard pattern.
Il faut pour cela utiliser les spécifications simples et avancées des jokers pour se référer aux fichiers et utiliser find pour localiser et agir sur les fichiers en se basant sur le type, la taille et le temps.
Dossiers principaux, termes et utilitaires inclus
ls: Liste le contenu des répertoires.
File: Trouve les informations sur les fichiers
whereis et which: Identifient les fichiers.
mv: Déplace (renomme) les fichiers.
cp: Copie les fichiers ou les répertoires.
touch: Change le timestamps du fichier ou crée un nouveau fichier.
rm: Efface des répertoires ou des fichiers.
mkdir: Crée un répertoire.
rmdir: Supprime un répertoire.
Le Globbing unix (expansion des noms de fichiers).
Expression et jokers (wildcards).
Les jokers du shell.
Citation (Quoting) et commentaires.
find: Recherche de fichiers dans une arborescence de répertoires.
Poids: 3
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 45/308
3.1 Lister les noms de fichiers et les informations
La commande pour afficher le répertoire courant est pwd :
Exemple :user@ubuntu:~$ pwd/home/useruser@ubuntu:~$
Pour changer le répertoire courant, utiliser cd :
Exemple :user@ubuntu:~$ cd /binuser@ubuntu:/bin$
Il y a un tilde (~) dans l'invite qui signifie « le répertoire personnel de l'utilisateur ». Le point (.) représente le répertoire courant. Deux points (..) représentent le répertoire parent au répertoire courant :user@ubuntu:~$ pwd/home/useruser@ubuntu:~$ cd .user@ubuntu:~$ pwd/home/useruser@ubuntu:~$ cd ..user@ubuntu:/home$ pwd/homeuser@ubuntu:~$
Use cd without argument to change the working directory to your user's home directory :user@ubuntu:/bin$ cduser@ubuntu:~$
This command is the same as :user@ubuntu:/bin$ cd ~user@ubuntu:~$
Use cd with a hash as a parameter to go to the previous directory :user@ubuntu:/bin$ cduser@ubuntu:~$user@ubuntu:~$ cd user@ubuntu:/bin$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 46/308
La commande pour lister les fichiers contenus dans le répertoire courant est ls.
ls [options] [filenames]
Principales options:
l: affiche la sortie au format long.
F: Ajoute un caractère de signalisation de type (répertoire, binaire, etc.).
a: Tous les fichiers, même cachés.
R: Liste les sousrépertoires récursivement.
d: Pour ne pas descendre dans les sousrépertoires.
Exemples :
Pour lister le contenu du répertoire courant :user@ubuntu:~$ ls
user@ubuntu:~$
Pour lister le répertoire courant avec les fichiers cachés (fichiers dont le premier caractère est un point) :user@ubuntu:~$ ls a....bash_history.bash_logout.bash_profile.bashrcDesktop[...]user@ubuntu:~$
Exemples de format long :
user@ubuntu:~$ ls -l /bin/ls
-rwxr-xr-x 1 user user 46784 mar 23 2002 /bin/ls
user@ubuntu:~$ ls -ld /bin
drwxr-xr-x 2 user user 2144 nov 5 11:55 /bin
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 47/308
Pour seulement lister les répertoires d'un autre répertoire (/home par exemple) utiliser d et */ :
user@ubuntu:~$ cd /home
user@ubuntu:~$ ls -d */
user/ user1/ user2/ share/ test/
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 48/308
3.2 Contenu et emplacement des fichiers
Pour déterminer le contenu d'un fichier, utiliser la commande file :
user@ubuntu:~$ file /etc
/etc: directory
user@ubuntu:~$
user@ubuntu:~$ file .bashrc.bashrc: ASCII English textuser@ubuntu:~$
user@ubuntu:~$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
user@ubuntu:~$
Pour déterminer si une commande est fournie par le shell ou par un vrai programme, utiliser la commande type :
user@ubuntu:~$ type cp
cp is /bin/cpuser@ubuntu:~$
user@ubuntu:~$ type cd cd is a shell builtin
user@ubuntu:~$
Pour déterminer le chemin d'un exécutable, utiliser la commande which :
user@ubuntu:~$ which cut
/usr/bin/cut user@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 49/308
3.3 Créer et supprimer des répertoires
Pour créer un répertoire, utilisez mkdir.
mkdir [options] dir
Principales options:
m: mode: Met en place le mode de permission. Par défaut, il est défini par le umask.
p: parent: Crée si nécessaire un répertoire parent.
Exemples:
[root@test ] /# mkdir -m 0700 bin
[root@test ] /# mkdir -p bin/system/x86
Pour supprimer un répertoire vide, utilisez rmdir.
rmdir [options] dir
Principales options:
p: parent: Efface les répertoires parents vides.
Exemples:
[root@test ] /# rmdir tmp
[root@test ] /# rmdir -p bin/system/x86
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 50/308
3.4 Copier des fichiers et des répertoires
Pour copier un fichier dans un autre fichier ou dans un répertoire, utilisez cp.
cp [options] source target
Source et target peuvent être soit un fichier, soit un répertoire.
Principales options:
i: interactif: Demande l'autorisation d'écraser.
r: récursif: Copie les sousrépertoires et leur contenu. Il faut utiliser R: pour les fichiers spéciaux.
f: force: Ne demande pas de confirmation avant d'écraser.
Le comportement par défaut est d'écraser le fichier cible.
Il ne modifie pas le fichier source.
Exemples:
[root@test ] /# cp *.[a-z] /tmp
[root@test ] /# cp readme readme.orig
[root@test ] /# cp ls /bin
[root@test ] /# cp -ri bin/* /bin
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 51/308
3.5 Supprimer des fichiers ou des répertoires
Pour supprimer des fichiers ou des répertoires, il faut utiliser rm.
rm [options] files
Files peut être un fichier ou un répertoire.
Principales options:
i interactive: Affiche un prompte avant chaque suppression.
f force: Ne demande pas de confirmation et ne prévient pas en cas d'échec.
r récursive: Efface les sousrépertoires et leur contenu.
Il n'y a pas de commande unremove ou undelete.
Exemples:
[root@test ] /# rm *.[a-z]
[root@test ] /# rm readme readme.orig
[root@test ] /# rm ls /bin
[root@test ] /# rm -rfi /bin
[root@test ] /# cd; rm -rf * .*
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 52/308
3.6 Créer et utiliser des fichiers
Les fichiers peuvent être créés:
• Avec des redirections I/O
[root@test ] /# cat chapter1 chapter2 > book
• Avec un éditeur, comme vi
[root@test ] /# vi mynewfile
• Avec certaines commandes Unix
[root@test ] /# cp file newfile
• Avec une application
[root@test ] /# netscape
• Avec la commande touch, qui génère des fichiers vides
[root@test ] /# touch memo
Un nom de fichier valide:
• Doit contenir maximum 255 caractères par nom de fichier.
• Est sensible à la casse : 'A' et 'a' sont différents.
• Peut contenir tous les caractères sauf "/".
On recommande d'utiliser des caractères alphanumériques ainsi que plus ("+"), moins (""), le point ("."), la virgule (",") et underscore (“_“). On devrait éviter les caractères accentués et les espaces, mais ce n'est pas une règle.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 53/308
3.7 Caractères à éviter
Lorsque vous nommez un fichier, il faut éviter certains caractères:
Les traits d'union en début de nom.
[root@test ] /# touch my-file -lt
Créez un fichier -lt avec vi (:w -lt) et essayez de le supprimer (ce ne serait tout simplement pas possible si la commande ne considérait pas le paramètre --)
Les espaces.
[root@test ] /# touch more drink
[root@test ] /# touch "more drink"
Tous les autres caractères spéciaux: !@##%^&*():;"'}{|\<>?~`
[root@test ] /# touch memo*
[root@test ] /# touch "*"
Attention à ce dernier exemple:
cette commande créera un fichier appelé *. Si vous souhaitez supprimer ce fichier, il est impératif de mettre entre guillemets le nom du fichier *. Dans le cas contraire, tous les fichiers du répertoire courant seront effacés.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 54/308
3.8 Déplacer et renommer des fichiers
Pour déplacer ou renommer un fichier ou un répertoire, il faut utiliser la commande: mv.
mv [options] source target
Source et Target peuvent être un fichier ou un répertoire.
Principales options:
i: interactive: Affiche un prompte à chaque action.
f: force: Force pour écraser.
v: verbose.
Le comportement par défaut est d'écraser le fichier cible.
Cela ne modifie pas le fichier source.
Exemples:
[root@test ] /# mv *.[a-z] /tmp
[root@test ] /# mv readme readme.orig
[root@test ] /# mv ls /bin
[root@test ] /# mv -fi bin/* /bin
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 55/308
3.9 File globbing et jokers (wildcards)
Le file globbing est l'expansion par le shell des noms de fichier en fonction de caractères spéciaux ou jokers. Les motifs avec jokers permettent de produire en une seule expression un ensemble de noms de fichiers.
Le terme “globbing” vient du sousprogramme “glob”, qui gérait les jokers dans les versions prébourne des shell Unix.
Le rôle des jokers est d'augmenter la productivité:
• Trouver les fichiers dont vous ne vous rappelez plus.
• Trouver les fichiers qui ont des points communs.
• Travailler avec des groupes de fichiers plutôt que fichier par fichier.
Le shell est capable d'interpréter ces caractères spéciaux:
! @ # # % ^ & * ( ) { } [ ] | \ ; ~ ' " ` ?
Les caractères utilisés pour les wildcards sont les suivants:
? * [ ] ~ !
Si vous utilisez ces caractères, le shell essayera de générer une liste de noms de fichiers à partir d'eux.
Exercice:
[root@test ] /# echo all files *
Les caractères spéciaux des wildcards :
? Correspond à n'importe quel caractère simple
* Toutes les chaînes
[abcfghz] Un caractère parmi...
[az] Un caractère dans le rang
[!xz] N'est pas dans l'ensemble
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 56/308
? Correspond à n'importe quel caractère simple
~ Répertoire home
~user Répertoire home de l'utilisateur
Exemples:
? Noms de fichiers composés de 1 caractère
[aA]???? Cinq caractères, commençant par a ou A.
~toto Nom du chemin du répertoire home de toto
[!09]* Toutes les chaînes qui ne commencent pas par un nombre.
Utilisation des jokers dans le shell :
Une ligne de commande shell peut être simple ou plus complexe.
[root@test ] /# ls -l [fF]*
[root@test ] /# ls *.c | more
[root@test ] /# ls -l [a-s]* | mail `users`
La première action d'un shell est d'étendre les noms de fichiers et les variables, ce qui permet d'interpréter tous les jokers.
Si un motif avec jokers ne peut pas être augmenter, le shell l'interprète comme si il s'agit d'un nom de fichier normal.
Le shell interprète tous les jokers qu'il trouve. Pour éviter cela, il faut utiliser les mécanismes de citation (voir chapitre suivant).
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 57/308
3.10 Mécanismes de citation
Utilisez les citations (quote) pour éviter que le shell interprète les caractères spéciaux et les découpent en plusieurs mots.
Dans une chaîne du type 'xxxx', presque tout est interprété littéralement entre les guillemets.
Tapez les commandes suivantes et commentez les résultats:
[root@test ] /# echo 'He did it, "Why?"'
[root@test ] /# echo 'Because "#@&^:-)"'
[root@test ] /# echo '$VAR='Me
Les chaînes "xxxx" s'utilisent comme 'xxxx' mais les caractères #, \, ! sont cette fois interprétés.
Tapez les commandes suivantes et commentez les résultats:
[root@test ] /# echo "What's happenning?"
[root@test ] /# echo "I don't know but check this $ANSWER"
Le backslash \ traite les caractères qui suivent littéralement:
[root@test ] /# echo \$VAR=Me
[root@test ] /# echo What\'s happenning\?
Comment feriezvous pour afficher le backslash \ ?
C'est important de comprendre que le mécanisme de citation, comme celui de l'expansion des noms de fichier ou des variables, est fait par Bash, par exemple :
[root@test ] /# touch \-lt # doesn't work “-lt” is passed to the command which will interpret this an option.
[root@test ] /# touch Hi\ all # works, the string “Hi all” is passed to the command as first argument.
Les commentaires
Vous pouvez ajouter des commentaires dans les lignes de commandes ou dans un script.
Il faut utiliser le caractère #.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 58/308
Un caractère blanc (tab, return, space) doit précéder #.
Exemples:
[root@test ] /# echo $HOME # Print my Home directory
[root@test ] /# echo "### PASSED ###" # Only this part is a comment
[root@test ] /# echo The key h#, not g was pressed.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 59/308
3.11 Lister des fichiers dans un sousrépertoire
Pour chercher un fichier dans un sousrépertoire, il faut utiliser find.
find [subtrees] [conditions] [actions]
La commande peut contenir plusieurs conditions et chercher récursivement dans les sousrépertoires.
Parmi les conditions, il peut y avoir:
name [FNG]: Recherche les noms de FNG.
type c: Type de fichier [bcdfl].
size [+]#: A une taille de + en blocks (c:octets,k:kilo)
user [name]: Propriété de l'utilisateur
atime [+]#: Date d'accession aux fichiers: +n appelle les fichiers qui n'ont pas été ouverts les n derniers jours, n appelle les fichiers qui ont été accédés les n derniers jours.
mtime [+]#: Date de modification des fichiers.
perm nnn: Possèdent la permission nnn.
inum N: Fichiers avec un nombre inode N.
Parmi les actions possibles à exécuter pour chaque fichier trouvé:
print: Donne le chemin d'accès.
exec cmd {} \; : Exécute cmd avec le nom du fichier en argument.
ok cmd {} \; : pareil que exec.
Quand le nom du fichier trouvé par find doit être utiliser en argument de la commande, on utilise l'expression “{}”. La fin de la commande est définie par la séquence suivante “\;”.
Ces séquences sont identiques pour écrire la commande xargs du prochain chapitre.
Besoin d'autres informations? Vous en trouverez dans la page de manuel de find.
[root@test ] /# man find
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 60/308
Exemples :
Essayez ces commandes et commentez les résultats:
[root@test ] /# find . -name '*.[ch]' -print
[root@test ] /# find /var /tmp . -size +20 -print
[root@test ] /# find ~ -type c -name '*sys*' -print
[root@test ] /# find /tmp/toto -type f -size +2c -exec rm -i {} \;
[root@test ] /# find / -atime -3 -print
[root@test ] /# find ~jo ~toto -user chloe -exec mv {} /tmp \;
La commande find est un outil très puissant. Ajoutez vos exemples:
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 61/308
3.12 Quiz
Quiz 3.1Comment faites vous pour lister les fichiers cachés ?
Quiz 3.2Comment faites vous pour lister les fichiers en format long ?
Quiz 3.3Estce que Linux distingue les fichiers par rapport à leur extension ?
Quiz 3.4A quoi correspond l'option p de la commande mkdir ?
Quiz 3.5Quelles commandes et options doiton utiliser pour copier un répertoire, avec tous ses sousrépertoires et leur contenu, d'un emplacement à un autre ?
Quiz 3.6Quelle commande permet de déplacer des fichiers ou des répertoires ?
Quiz 3.7Quelle commande fautil utiliser pour rechercher tous les fichiers du répertoire /tmp qui ont une extension .pdf ?
Quiz 3.8Quels sont les trois mécanismes de citation ?
Quiz 3.9Quelle est l'action de la commande suivante ?
[root@test ] /# cp foo/bar bar/foo bar/foobar
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 62/308
3.13 Réponses quiz
Réponse 3.1[root@test ] /# ls -a
Réponse 3.2[root@test ] /# ls -l
Réponse 3.3NON. Il fait la distinction entre les types de fichiers grâce à un numéro magique placé dans l'index du fichier.
Réponse 3.4Vous permet de créer plusieurs répertoires dans une seule commande.
Réponse 3.5[root@test ] /# cp -r /home/me/* /backup/me
Réponse 3.6La commande est mv.
Réponse 3.7[root@test ] /# find /tmp -name *.pdf -print
Réponse 3.8Les 3 manières de commenter sont: '..', “..“, et \..
Réponse 3.9Cette commande copie les fichiers bar et foo à l'intérieur du répertoire bar/foobar.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 63/308
3.14 Exercices
Exercice 3.1Trouver tous les fichiers dont les noms contiennent “x” suivi de “in” dans le répertoire /etc en utilisant les jokers.
Exercice 3.2Trouver les fichiers dont les noms commencent par une lettre comprise entre “a” et “e”, contiennent au moins deux autres caractères et ne se terminent pas par un nombre.
Exercice 3.3Trouver les fichiers dont les noms se composent de quatre caractères et commencent par le caractère 'uppercase' en utilisant les jokers. Ne descendre dans aucun des répertoires trouvés.
Exercice 3.4Trouver les fichiers qui contiennent “sh” dans le répertoire /bin en utilisant les jokers.
Exercice 3.5Affichez votre variable d'environnement HOME précédée par la phrase “$HOME value is:”
Exercice 3.6Affichez le contenu de $SHELL
Exercice 3.7Comment afficheriezvous la chaîne de caractères suivante, avec echo en utilisant les doubles guillemets et \ ?
* @ # $ % ^ & * ( ) ' " \
Exercice 3.8Composez une commande avec echo pour afficher les trois chaînes de caractères suivantes:
* * That's it he said! 'Never Again! ' he replied.**
Exercice 3.9Composez une commande interactive qui permet d'effacer tous les fichiers .tmp dans le répertoire home. Répondre y à chaque prompte.
Exercice 3.10Trouvez tous les fichiers dans le répertoire home de l'utilisateur dont le nom se termine par .pdf, dont la taille est supérieure à 50 blocks et qui n'ont pas été ouverts depuis 1 mois.
Exercice 3.11
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 64/308
Créez un fichier file.h qui contiendra tous les noms de fichiers se terminant par .h et qui se trouvent dans le répertoire /usr.
Exercice 3.12Faire un touch sur tous les fichiers c du répertoire /usr/src/packages.
Exercice 3.13Quelles sont les permissions par défaut accordées aux nouveaux fichiers et aux nouveaux répertoires ?
Exercice 3.14Comment créer un nouveau fichier ou un nouveau répertoire dont le nom contient un espace ? (Par exemple: 'new dir')
Exercice 3.15Quelle commande permet de supprimer tous les fichiers du type char et block dans votre répertoire home ?
Exercice 3.16Comment trouver l'emplacement du programme find ?
Exercice 3.17Supprimer tous les fichiers dans le répertoire /tmp qui n'appartiennent pas à root et qui n'ont pas été ouverts depuis une semaine.
Exercice 3.18Écrivez la commande qui permet de changer le mot lynux par linux dans tous les fichiers avec l'extension html situés dans un répertoire et tous ses sousrépertoires.
Exercice 3.19Trouvez dans le répertoire /usr les fichiers dont la taille dépasse 1Mo et dont les droits sont fixés à 755 ?
Exercice 3.20Combien de fichiers avez vous dans toute l'arborescence qui vous appartient et dont les droits sont fixés à 644 ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 65/308
3.15 Réponses
Réponse 3.1[root@test ] /# ls -d /etc/*x*in*
Réponse 3.2[root@test ] /# ls -d / [a-e]??*[!0-9]
Réponse 3.3[root@test ] /# s -d /etc/[A-Z]???
Réponse 3.4[root@test ] /# s -d /bin/*sh*
Réponse 3.5[root@test ] /# echo "\$HOME value is:"$HOME
Réponse 3.6[root@test ] /# echo "$SHELL"
Réponse 3.7[root@test ] /# echo \@ \# \$ \% \^ \& \* \( \) \' \" \\
ou
[root@test ] /# echo "@ # $ % ^ & * ( ) ' \" \\"
Réponse 3.8[root@test ] /# echo "**that's it he said! 'Nerver again!'he replied**"
Réponse 3.9La commande est:
[root@test ] /# find /home -name "*.tmp" -ok rm {} \;
ou
[root@test ] /# find ~ -name "*.tmp" -exec rm -i {} \;
Réponse 3.10[root@test ] /# find /home -name "*.pdf" -size +50 -atime +30 -print
Réponse 3.11[root@test ] /# find /usr -name "*.h" -print > file.h
Réponse 3.12[root@test ] /# find /usr/src -type c -exec touch {} \;
Le répertoire /usr/src/packages n'existe pas sur Mandriva.
Réponse 3.13pour un nouveau dossier: 755 rwxrxrx
pour un nouveau fichier: 644 rwrr
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 66/308
Réponse 3.14La commande est:
[root@test ] /# touch a\ b
Le caractère "\" permet d'interpréter le caractère espace comme un caractère.
Réponse 3.15La commande est:
[root@test ] /# find ~ \( -type c -o -type b \) -exec rm -i {} \;
ou
[root@test ] /# find ~ -type c -type b -exec rm {} \;
Réponse 3.16La commande est:
[root@test ] /# which find
[root@test ] /# type find
[root@test ] /# whereis find
Réponse 3.17La commande est:
[root@test ] /# find /tmp -not -user root -atime +7 -ok rm {}\;
ou
[root@test ] /# find /tmp \! -user root -atime +7 -exec rm {}\;
Réponse 3.18La commande est:
[root@test ] /# find . -type f -name "*.html" -exec sed -i "s/lynux/linux/g" {} \;
Regarder les pages man pour l'option i de sed.
Réponse 3.19La commande est:
[root@test ] /# find /usr (-size +2000 -a -perm 755) -print 2>/dev/null
Réponse 3.20[root@test ] /# find / (-user votrenomutilisateur -a -perm 644) | wc -l
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 67/308
4 Utiliser les flux, les pipes et les redirections
Description
Les candidats doivent être en mesure de rediriger les flux (streams) et de les connecter de façon à effectuer avec efficience des données texte (process textual data). Ces tâches incluent les redirections standard, les erreurs standard, faire un pipe sur sur le résultat d'une commande vers l'entrée d'une autre commande (piping), utiliser la sortie d'une commande (output) comme argument d'une autre commande et d'envoyer la sortie à la fois vers la sortie standard (stdout) et un fichier.
Dossiers principaux , termes et utilitaires inclus
tee
xargs
<
<<
>
>>
|
` `
Poids: 5
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 68/308
4.1 Entrées standards et sorties standards
Pour chaque commande exécutée dans un terminal, il y a:
• une valeur d'entrée standard, 0 (le clavier par défaut sur une console).
• une valeur de sortie standard,1 (par défaut le terminal).
• une valeur de sortie standard pour les erreurs, 2 (par défaut le terminal).
Chaque canal peut aussi être identifié par une adresse:
• &0 pour les entrées,
• &1 pour les sorties,
• &2 pour les erreurs.
Chaque canal [n] peut être redirigé.
[n]< file: La valeur par défaut de n est 0 et elle lit les entrées standards depuis le fichier.
[n]> file: La valeur par défaut est 1 et il envoie les sorties standards au fichier (clobber).
[n]>>file: la valeur par défaut est 1 et il appose les sorties standards au fichier.
<<word: Lit les le texte qui suit jusqu'à ce que word soit atteint.
`command` ou $(command) : Remplace le nom de la commande par le résultat.
Exemples :
[root@test ] /# pwd>file # out=file in=none error=terminal
[root@test ] /# cat chap* >book # out=book in=none error=terminal.
[root@test ] /# mv /etc/* . 2>error # out=terminal in=none error=error.
[root@test ] /# echo end of file >> book # out=book in=none
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 69/308
# error=terminal.
[root@test ] /# set -o noclobber # Shell does not clobber existing files.
[root@test ] /# ls > list 2>&1 # ls and errors are redirected to list.
[root@test ] /# ls 2>&1 > list # Errors are redirected to standard output# and ls output is redirected to list.
[root@test ] /# cat `ls /etc/*.conf` > conffile 2>>/tmp/errors
[root@test ] /# cat $(ls /etc/*.conf) > conffile 2>>/tmp/errors
# Concatenate all the configuration files from /etc dir
# in conffile and append errors in file /tmp/errors.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 70/308
4.2 Redirections (pipes)
Les pipes sont la meilleure manière d'appliquer plusieurs commandes en même temps.
command1 | command2
Il fait une redirection de la sortie standard de command1 vers l'entrée standard de la command2.
On ne peut pas faire de pipes des erreurs standards.
Exemples:
[root@test ] /# ls -l /dev | more
[root@test ] /# ls -l /etc/*.conf | grep user | grep 500
[root@test ] /# ls -l /bin | mail `users`
Il faut utiliser tee pour dupliquer les sorties standards dans un fichier et sur la sortie standard en même temps.
[root@test ] /# ls -l /dev | tee file
[root@test ] /# ls -l /etc | tee -a file # Append to the file
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 71/308
4.3 Construction des arguments
L'utilitaire xargs construit une liste d'arguments pour une commande en utilisant les entrées standards.
xargs [options] [command]
La commande xargs crée une liste d'arguments des entrées standards. Elle est utilisée comme un pipe.
Principale option:
p: propose une invite de commande à l'utilisateur avant l'exécution de chaque commande.
Exemples:
[root@test ] /# ls f* | xargs cat # Print to standard output the content of all files starting with f
[root@test ] /# find ~ -name 'proj1*' print | xargs cat # Search in the Home directory for files starting with proj1 and send it to the standard input of cat.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 72/308
4.4 Le ficher spécial /dev/null
Utilisez le fichier /dev/null pour la suppression des messages d'erreur.
Essayez les commandes suivantes:
[root@test ] /# grep try /etc/*
[root@test ] /# grep try /etc/* 2>/dev/null
[root@test ] /# grep try /etc/*>/dev/null 2>/dev/null
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 73/308
4.5 Quiz
Quiz 4.1Quelle est l'entrée standard d'un terminal ?
Quiz 4.2Quelle est l'erreur de sortie standard d'un terminal ?
Quiz 4.3Comment rediriger l'erreur standard vers la sortie standard ?
Quiz 4.4Comment annuler la sortie stderr ?
Quiz 4.5Comment lister les noms de fichiers page par page ?
Quiz 4.6Quelle est la différence entre > et >> ?
Quiz 4.7Quels sont les utilitaires de xargs ?
Quiz 4.8Qu'estce qu'un pipe ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 74/308
4.6 Réponses quiz
Réponse quiz 4.1Le stdin par défaut est le clavier.
Réponse quiz 4.2Le terminal.
Réponse quiz 4.32>&1
Réponse quiz 4.4En redirigeant vers /dev/null. Exemple: 2>/dev/null.
Réponse quiz 4.5[root@test ] /# ls -l |more
Réponse quiz 4.6> est utilisé pour rediriger un flux de données vers un fichier et >> ajoute le flux à un fichier.
Réponse quiz 4.7L'utilitaire xargs créé une ligne d'arguments depuis stdin.
Réponse quiz 4.8Un pipe est un mécanisme de communication interprocessus. Utilisé dans une commande, il permet de connecter la sortie d'une commande à l'entrée d'une autre commande. Chaque commande s'exécutant dans un contexte différent.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 75/308
4.7 Exercices
Exercice 4.1Créer un fichier list.bin qui contiendra tous les noms de fichier du répertoire /bin.
Exercice 4.2Ecrire une commande qui exporte la liste des fichiers de /usr/local/bin dans le fichier appelé list.bin puis affichez toutes les erreurs en sortie.
Exercice 4.3Divisez le fichier list.bin en des fichiers ne contenant que 50 lignes et supprimez list.bin.
Exercice 4.4Depuis les fichiers divisés, récréez le fichier list.bin.
Exercice 4.5Simplifiez les commandes suivantes:
[root@test ] /# ls *.c | xargs rm
[root@test ] /# ls [aA]* | xargs cat
[root@test ] /# cat `ls *.v` 2>/dev/null
Exercice 4.6Utilisez find pour trouver un équivalent à la commande suivante:
[root@test ] /# more `ls *.c`
Exercice 4.7Écrivez une commande qui permette de créer un fichier list.sbin dans le contenu de /sbin et en même temps, affichez les sorties standards.
Exercice 4.8Créez un fichier dont le nom contient l'heure de sa création.
Exercice 4.9Créez un fichier qui contient en ordre inversé tous les noms de fichiers dont les extensions sont .conf et qui appartiennent au répertoire /etc.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 76/308
4.8 Solutions
Solution 4.1La commande est:
[root@test ] /# ls /bin > list.bin
Solution 4.2La commande est:
[root@test ] /# ls /usr/local/bin >> ~/list.bin 2> /dev/null
Solution 4.3La commande est:
[root@test ] /# split -l 50 list.bin
[root@test ] /# rm list.bin
Solution 4.4La commande est:
[root@test ] /# cat x* > list.bin
Solution 4.5[root@test ] /# ls *.c | xargs rm
[root@test ] /# rm *.c
[root@test ] /# ls [aA]* | xargs cat
[root@test ] /# cat [aA]*
[root@test ] /# cat `ls *.v` 2>/dev/null
[root@test ] /# cat *.v 2>/dev/null
Attention, l'alias ls='ls color' ou ls='ls color=always' peut causer des problèmes pour utiliser xargs.
Solution 4.6La commande est:
[root@test ] /# find . -name "*.c" -maxdepth 1 | xargs more {} \;
ou
[root@test ] /# find . -name "*.c" -maxdepth 1 -exec more {} \;
Si vous ne mettez pas maxdepth, vous aurez tous les fichiers, pas seulement ceux du répertoire courant.
Solution 4.7La commande est:
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 77/308
[root@test ] /# ls /sbin | tee list.sbin
Solution 4.8La commande est:
[root@test ] /# touch "il est `date +"%T"`"
Solution 4.9La commande est:
[root@test ] /# ls /etc/*.conf | tac >invert_file.etc.conf
ou[root@test ] /# ls r /etc/*.conf > invert_file.etc.conf
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 78/308
5 Créer, gérer et tuer un processus
Description
Les candidats doivent pouvoir gérer les processus. Cela inclut de comprendre la manière d'exécuter une tâche en arrièreplan et en avantplan (foreground et background), de modifier leur statut (background vers foreground et vice versa), de démarrer un processus qui s'exécutera sans connexion à un terminal et de signaler à un programme de continuer après le logout.
Les candidats doivent également savoir gérer les processus actifs, en sélectionnant et triant les processus pour leur visualisation, en envoyant des signaux aux processus, en tuant des processus et identifiant et tuant des applications X qui ne se sont pas arrêtées alors que la session X est close.
Dossiers principaux, termes et utilitaires inclus
&
bg
fg
jobs
kill
nohup
ps
top
disown
Poids: 5
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 79/308
5.1 Créer un processus
Une application active est un processus.
Chaque processus possède:
• Un identifiant de processus (process ID).
• Un process ID parent.
• Un répertoire courant PWD.
• Une table des descripteurs de fichiers (un descripteur de fichier est la représentation interne d'un fichier ouvert par un processus, il comprend notamment le mode dans lequel il a été ouvert).
• Un programme exécuté.
• Des variables d'environnement héritées de son processus parent.
• Stdin, stdout, et stderr.
• Autre.
Bash est un programme et devient un processus lorsqu'il est exécuté.
Chaque fois qu'une commande est exécutée dans un shell, un nouveau processus est créé. Une exception: les commandes intégrées du shell (builtin shell). Elles s'exécutent dans le contexte du shell. Il faut utiliser la commande type pour vérifier si une commande est une commande intégrée.
Exemple:
[root@test ] /# type cp ls which type
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 80/308
5.2 Gérer des processus
Une fois que le système est monté et fonctionne depuis un terminal, il est possible de gérer les processus démarrés dans le programme avec la commande ps.
Pour afficher tous les processus du système, il faut taper:
[root@test ] /# ps -Al
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 76 0 - 469 - ? 00:00:00 init
1 S 0 2 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/0
1 R 1000 4976 3574 0 76 0 - 7287 - ? 00:00:01 konsole
Le programme ps affichera tous les processus actifs, leur PID ainsi que d'autres informations.
Options classiques de ps :
● A : sélectionner tous les processus
● l : format long
● a : sélectionner tous les processus, sauf les session leaders et les processus non rattachés à un terminal
● u [users] : sélectionner les processus appartenant à l'utilisateur ayant le nom ou l'EUID spécifié
● x : sélectionner les processus attachés à un terminal tty (option BSD)
Pour afficher tous les processus dans votre session, tapez:
[root@test ] /# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 5448 4981 0 77 0 - 639 wait pts/1 00:00:00 su
0 S 0 5450 5448 0 75 0 - 795 wait pts/1 00:00:00 bash
0 R 0 7050 5450 0 76 0 - 668 - pts/1 00:00:00 ps
F: Process Flags 002: being created, 040: forked but didn't exec, 400: killed by
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 81/308
a signal.
S: Process States: R: runnable, S: sleeping, Z: zombie.
UID: user ID, PID: Process ID, PPID: Parent Process ID, C: Scheduler, PRI: priority.
NI: nice value, SZ: size of routine, WCHAN: name of routine.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 82/308
5.3 Gestion des processus en temps réel
Pour gérer les processus en temps réel, il faut utiliser top.
RSS: Le total de la mémoire physique utilisée par la tâche.
SHARE: Le niveau de mémoire partagée utilisée par la tâche.
%CPU: Le pourcentage du temps CPU utilisé par la tâche.
%MEM: Le pourcentage de la mémoire physique occupé par la tâche.
Dès que top est lancé, il est possible d'exécuter des commandes interactives:
• Type N pour classer les tâches par pid.
• Type A pour classer les tâches dans l'ordre chronologique (les plus récentes en premier).
• Type P pour classer les tâches par rapport à leur utilisation CPU.
• Type M pour classer les tâches par rapport à l'utilisation de la mémoire.
• Type k pour tuer un processus (prompted for pid).
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 83/308
5.4 Envoyer un signal aux processus
Le programme ps va afficher tous les processus actifs et leur PID.
Si vous connaissez le PID, il est possible d'envoyer un signal au processus.
• SIGSTOP (17) pour arrêter un processus.
• SIGCONT (19) pour redémarrer un processus arrêté.
• SIGTERM (15) pour signifier au processus qu'il doit se tuer.
• SIGKILL (9) pour tuer un processus.
Le programme qui permet d'envoyer un signal aux processus est: kill.
[root@test ] /# kill -SIGKILL [pid]
[root@test ] /# kill -63 [pid]
[root@test ] /# kill -l
Par défaut, un processus est démarré en avantplan et il est le seul à recevoir une entrée clavier. Il faut utiliser CTRL+Z pour le suspendre.
Pour démarrer un processus en arrièreplan, il faut utiliser le signe &.
[root@test ] /# bash &
[root@test ] /# xeyes &
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 84/308
5.5 Contrôle des tâches
Dans un processus bash, il est possible de démarrer plusieurs jobs. Par défaut, un processus est démarré en avantplan, il est le seul à pouvoir récupérer les commandes provenant du terminal depuis lequel il a été lancé.
Les commandes pour manipuler les jobs sont les suivantes :
Pour démarrer un processus en arrièreplan, utiliser le caractère & :user@ubuntu:~$ xeyes &
user@ubuntu:~$
Pour lister tous les jobs actifs :
user@ubuntu:~$ jobs
[1]+ Running xeyes &
user@ubuntu:~$
Ramener un job en avantplan :
user@ubuntu:~$ fg %1
xeyes
Suspendre un job : taper Ctrl-Z (le job passe dans un état arrêté)
user@ubuntu:~$ fg %1
xeyes
[1]+ Stopped xeyes
user@ubuntu:~$
Continuer l'exécution d'un job tournant en arrièreplan :user@ubuntu:~$ jobs
[1]+ Stopped xeyes
user@ubuntu:~$ bg %1
[1]+ xeyes &
user@ubuntu:~$
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 85/308
Tuer un job :
user@ubuntu:~$ kill %1
Lorsque bash est terminé, tous les processus démarrés depuis ce shell reçoivent le signal SIGHUP, ce qui, par défaut, les stoppe. Dans le dernier exemple, le fait de tuer le procesus bash tuera aussi le processus xeyes
Pour éviter qu'un processus ne s'arrête lorsque son parent termine, le programme peut être lancé avec la commande nohup :
user@ubuntu:~$ nohup xeyes
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 86/308
5.6 Quiz
Quiz 5.1Quelle commande vous permet de vérifier facilement quel utilisateur consomme la plus grande partie des ressources processeur du système ?
Quiz 5.2Estce que tous les processus ont un processus parent ?
Quiz 5.3Qu'arrivetil si un processus enfant perd son parent ?
Quiz 5.4Quel est le nom d'un programme ou d'une application actifs ?
Quiz 5.5Quelle commande permet d'envoyer un signal à un processus ?
Quiz 5.6De quel élément avezvous besoin pour envoyer un signal à un processus?
Quiz 5.7Y at'il un moyen avec nice ou renice de prendre tout le temps processeur ?
Quiz 5.8Quel signal reçoivent tous les processus lorsque la session bash à partir de laquelle ils ont été lancés se termine ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 87/308
5.7 Réponses quiz
Réponse quiz 5.1top.
Réponse quiz 5.2Oui, excepté le premier processus init.
Réponse quiz 5.3Le processus init deviendra son parent.
Réponse quiz 5.4Un processus
Réponse quiz 5.5kill
Réponse quiz 5.6La commande kill, le process ID et le numéro de signal ou le nom à envoyer.
Réponse quiz 5.7Non, cela va seulement augmenter la base sur laquelle l'ordonnanceur calcul le temps à attribuer à chaque processus. Tous les autres processus seront toujours en mesure de fonctionner.
Réponse quiz 5.8SIGSTOP
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 88/308
5.8 Exercices
Exercice 5.1Quel est le processus de user et de root qui utilise le plus de mémoire ?
Exercice 5.2Ouvrez deux terminaux. Dans l'un deux, tapez la commande:
[root@test ] /# while [ 1 ]; do echo -n The date is:; date; done
Dans l'autre, vérifiez que vous avez la possibilité de stopper et de redémarrer les travaux.
Exercice 5.3Même exercice que le 5.2, mais, faites en sorte que l'affichage de sortie s'arrête pendant 3 seconde et redémarre pendant 1 seconde de manière répétitive.
Exercice 5.4Faites que l'affichage de sortie de la commande ps soit formatée de la manière suivante: username, commande et nice value.
Exercice 5.5Arrêtez tous les processus nommés bash qui appartiennent à votre propre utilisateur.
Exercice 5.6Avec la commande top, affichez les processus de root. Avec cette même commande top, que devezvous taper pour arrêter un processus ?
Exercice 5.7Ouvrez deux terminaux: dans le premier, affichez périodiquement le niveau d'utilisation de la mémoire virtuelle.
Dans le second, désactivez la mémoire virtuelle et activez là de nouveau. Quels changements notezvous dans le premier terminal.
Exercice 5.8Quelle est l'organisation des disques de votre système ? Combien de disques avezvous ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 89/308
5.9 Réponses
Réponse 5.1Faites un top puis tapez M et constatez quel utilisateur consomme le plus de mémoire.
Réponse 5.2kill sigstop (ppid) (stop)
kill sigcont (ppid) (restart)
Réponse 5.3[root@test ] /# while [ 1 ]; do echo Stop the process; kill sigstop pid; sleep 3; echo continuation; kill sigcont pid; sleep 1; done
Attention, la chaîne « [ 1 ] » s'écrit avec des espaces autour des crochets.
Réponse 5.4La commande est:
[root@test ] /# ps -eo "%U %c %n"
Réponse 5.5Utilisez ps et ajoutez les options pour afficher les noms d'utilisateurs.
Localisez les bash qui appartiennent à l'utilisateur root et utilisez la commande kill avec l'option désirée suivie du pid.
Réponse 5.6Tapez la commande top et appuyez sur la touche h pour afficher l'aide. Utilisez la touche u pour lister uniquement l'utilisateur choisi. Pour tuer un processus, utilisez la touche k pour kill et indiquer le pid du processus.
Réponse 5.7Dans le premier terminal, exécutez la commande vmstat n 1: les statistiques de la mémoire virtuelle sont en temps réel.
Dans la deuxième console, exécutez swapoff /dev/hdax
Constatez ce qui ce passe dans le premier terminal. Une variation doit être constatée si la mémoire vive est utilisée à 100%.
Réponse 5.8Pour visualiser les disques et partitions du système, utilisez la commande cfdisk ou df.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 90/308
6 Les priorités d'exécution d'un processus
Description
Les candidats doivent pouvoir gérer les priorités d'exécution des processus.
Ces tâches incluent de savoir lancer un programme avec une priorité haute ou basse, de savoir déterminer la priorité d'un processus et de changer la priorité d'un processus en cour d'utilisation.
Dossiers principaux, termes et utilitaires inclus
nice
ps
renice
top
Poids: 3
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 91/308
6.1 Modification des priorités d'exécution des processus
Pour lancer une commande avec une priorité ajustée, il faut utiliser nice.
nice n 20 [command]
nice n +19 [command]
Le programme nice modifie la taille de la tranche de temps attribuée par l'ordonnanceur du noyau.
Cette valeur peut varier de 20 (priorité la plus élevée) à +19 (priorité la plus basse).
La valeur par défaut est 0. Il faut être root pour attribuer une valeur entre 1 et 20.
On peut modifier la priorité d'un programme en cours d'exécution en utilisant la commande renice.
[root@test ] /# renice +1 -u root # Change the priority for all root processes
[root@test ] /# renice +2 -p 193 # Change the priority for PID 193
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 92/308
6.2 Modifier un programme en cours d'exécution
Pour modifier une commande en cours d'exécution, il faut utiliser renice.
renice [+|] nicenumber [option] targets
Cela modifie le nicenumber d'un ou plusieurs processus en cours pour activer les priorités.
Principales options:
u: Interprète les cibles comme des noms d'utilisateurs.
p: par défaut : Interprète les cibles comme des PID.
g: Force les paramètres à être interprétés comme un ID d'un processus de groupe.
Exemples:[root@test ] /# renice 20 501
[root@test ] /# renice +1 987 u daemon root p 32
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 93/308
7 Les expressions régulières
Description
Les candidats doivent pouvoir manipuler des fichiers et des données texte en utilisant les expressions régulières. Cet objectif inclut la création simple d'expressions régulières contenant plusieurs éléments d'écriture.
Cela inclut aussi l'utilisation d'outils pour réaliser des recherches à travers un système de fichiers ou le contenu d'un fichier.
Dossiers principaux, termes et utilitaires inclus
grep
regexp
sed
Poids: 3
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 94/308
7.1 Recherche de motifs (matching pattern)
Il existe deux types de recherches de motifs :
Les caractères jokers (génération de noms de fichiers, File Name Generation, ou File Name Globbing).
Les expressions régulières (Regular Expression)
Les caractères jokers sont principalement appliqués à la recherche dans des répertoires ou des sousrépertoires.
Lorsque les caractères jokers *, ?, [ ], ~, et ! sont utilisés dans les expressions régulières, ils ne produisent plus de noms de fichiers.
Quelques uns des utilitaires qui utilisent les expressions régulières :
• grep, egrep
• vi, more
• sed, perl
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 95/308
7.2 Modèle de recherche limité
Utilisés par tous les utilitaires employant les regexp.
Un caractère quelconque
. Ab.a Abla ou Abca ou ...
Un ensemble de caractères
[ ] Ab[sd]a Absa ou Abda seulement
Une gamme de caractères
[ ] Ab[az]a Abaa ou Abba ou ...
N'est pas dans l'ensemble
[^ ] Ab[^az]a Ab6a ou AbZa ou ...
0 et plus * Ab*a Aa ou Aba ou Abbbba ou ...
Début de ligne ^ ^Aba La ligne commence par Aba
Fin de ligne $ Aba$ La ligne termine avec Aba
Caractères littéraux \ Aba\$ Aba$
A quels mots correspondent les expressions régulières suivantes ?Ab[03]s
^Ab\^bA
[01]bin$
^..\\
[^zZ]oro
Combinaisons de regexp limitées :
Combinaisons de motifs communes à tous les utilitaires employant les regexp.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 96/308
N'importe quelle chaîne de caractères
.* Ab.*a Abrahma ou Abaa ou ...
Une chaîne à partir de ...
[ ]* th[aersti]* there ou this ou ...
Gammes multiples
[ ] Ab[02ac]a Ab0a ou Abca ou ...
Recherche de \ \\ \\[azAZ]* \Beethoven
Exemples:
Ab[0-3][a-z]s
...$
^[01]\^2
[0-9][a-z] \$
[a-zA-Z]*
^[^c-zC-Z]*
^[a-zA-Z0-9]$
Modification des motifs :
Remplace les chaînes par des motifs regexp.
m caractères \{m\} b[09]\{3\} b911
m ou plus \{m,\} b[09]\{2,\} b52
Entre m et n caractères
\{m,n\} b[09]\{2,4\} b1234
Début de mot \< \<wh where
Fin de mot \> [09]\> bin01
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 97/308
7.3 Grep
Pour trouver un texte précis dans un fichier, on utilisera grep.
Le nom grep vient de la ligne de commande g/regexp/p
grep [options] [string] [files]
Il est important de citer la chaîne de recherche pour éviter que le shell ne l'interprète comme des caractères joker.
Principales options:
i: Ignore la casse
l: Liste les noms de fichiers seulement si au moins un correspond
c: Affiche uniquement le nombre de lignes qui correspondent
n: Affiche aussi le numéro de la ligne
v: Ne doit pas correspondre
r: Descendre récursivement dans les répertoires
h: Evite d'ajouter des préfixes aux noms de fichiers lorsque plusieurs fichiers sont recherchés
Exemples:
[root@test ] /# grep host /etc/*.conf
[root@test ] /# grep -l '\<mai' /usr/include/*.h
[root@test ] /# grep -n toto /etc/group
[root@test ] /# grep -vc root /etc/passwd
[root@test ] /# grep '^user' /etc/passwd
[root@test ] /# grep '[rR].*' /etc/passwd
[root@test ] /# grep '\<[rR].*' /etc/passwd
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 98/308
7.4 sedsed est éditeur ligne non interactif, il lit les lignes d'un fichier une à une (ou provenant de l'entrée standard) leur applique un certain nombre de commandes d'édition et renvoie les lignes résultantes sur la sortie standard. Il ne modifie pas le fichier traité, il écrit tout sur la sortie standard.
Pour appliquer une commande sur un flux de texte, il faut utiliser sed.
sed [address1][,address2][!]command[options] [files...]
Le programme sed appliquera une commande de l'adresse 1 à l'adresse 2 dans un fichier. Le format de address1 et address2 sont des expressions régulières.
sed présente diverses commandes internes :
Pour faire de la substitution y et s
La fonction de substitution s permet de changer la première ou toutes les occurrences d'une chaîne par une autre:
[root@test ] /# sed 's/toto/TOTO/' fichier
#va changer la première occurrence de la chaîne toto par TOTO (la première chaîne toto rencontrée dans le texte uniquement)
[root@test ] /# sed 's/toto/TOTO/3' fichier
#va changer la troisième occurrence de la chaîne toto par TOTO (la troisième chaîne toto rencontrée dans le texte uniquement)
[root@test ] /# sed 's/toto/TOTO/g' fichier
#va changer toutes les occurrences de la chaîne toto par TOTO (toutes les chaînes toto rencontrées sont changées
[root@test ] /# sed 's/toto/TOTO/p' fichier
#en cas de remplacement la ligne concernée est affichée sur la sortie standard (uniquement en cas de substitution)
[root@test ] /# sed 's/toto/TOTO/w resultat'
#fichier en cas de substitution la ligne en entrée est inscrite dans un fichier résultat
La fonction de substitution peut évidemment être utilisée avec une expression régulière.
sed "s/[Ff]raise/FRAISE/g" fichier
#substitue toutes les chaînes Fraise ou fraise par FRAISE
La fonction y permet de changer un caractère par un autre.
sed 'y/abcd/ABCD/' fichier
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 99/308
La commande de suppression d supprime les lignes comprises dans un intervalle donné.
[root@test ] /# sed '20,30d' fichier
#suppression des lignes 20 à 30 du fichier fichier. On peut utiliser les #expressions régulières:
sed '/toto/d' fichier
#Suppression des lignes contenant la chaîne toto. Si au contraire on ne veut #pas effacer les lignes contenant la chaîne toto (toutes les autres sont #supprimées), on tapera :
[root@test ] /# sed '/toto/!d' fichier
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 100/308
7.5 Quiz
Quiz 7.1A quoi sert le programme grep ?
Quiz 7.2A quoi sert le programme sed ?
Quiz 7.3Quel est le symbole pour n'importe quel caractère dans les regexp ?
Quiz 7.4Quel est le symbole signifiant la fin de ligne dans les regexp ?
Quiz 7.5Quel motif permet de trouver une chaîne commençant par une majuscule dans les regexp ?
Quiz 7.6Quel est le motif pour un mot ne contenant que des majuscules dans les regexp ?
Quiz 7.7Quelle est la principale différence entre vi et sed ?
Quiz 7.8Quelle commande faudratil utiliser pour trouver des mots dans un flux de données ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 101/308
7.6 Réponses quiz
Réponse quiz 7.1grep est un utilitaire pour chercher des mots dans les fichiers ou les flots de données.
Réponse quiz 7.2sed est programme de filtre de texte qui peut être utilisé sur un flot de données.
Réponse quiz 7.3Le point (dot)
Réponse quiz 7.4Le $
Réponse quiz 7.5[AZ].*
Réponse quiz 7.6[AZ]*
Réponse quiz 7.7vi lit le stdin, sed utilise les arguments pour gérer les flots de données.
Réponse quiz 7.8grep
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 102/308
7.7 Exercices
Exercice 7.1Copiez tous les fichiers de /etc dans votre répertoire home/etc/. Affichez ensuite le contenu de tous les fichiers *.conf en remplaçant le mot host par machine.
Exercice 7.2Avec grep, affichez le contenu de tous les fichiers ~/etc/*.conf qui ne contiennent pas le mot root. Faites ensuite la même opération avec sed.
Exercice 7.3Avec grep, imprimez tous les noms des groupes auxquels root appartient. Faites la même opération avec la commande sed.
Exercice 7.4Listez tous les noms de groupe composés de 4 ou 5 caractères.
Exercice 7.5Listez tous les fichiers dans ~/etc/ qui ne contiennent pas de lignes vides.
Exercice 7.6Listez dans le répertoire ~/etc/ tous les fichiers qui contiennent des caractères numériques.
Exercice 7.7Affichez avec ls uniquement les noms de répertoires dans ~/etc.
Exercice 7.8Faites un ps aux, remplacez l'utilisateur root par toto et imprimez le dans un fichier appelé new_process.txt.
Exercice 7.9Listez tous les processus appelés apache appartenant à un utilisateur dont le nom commence par p ou P.
Exercice 7.10Que fait la commande suivante ?[root@test ] /# sed 's/^\(.86\)/80\1/g' fichier
Exercice 7.11Avec grep et sed, déterminez l'adresse IP de votre machine en utilisant la commande ifconfig.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 103/308
7.8 Réponses
Réponse 7.1[root@test ] /# cp -r /etc
[root@test ] /# cd /etc
[root@test ] /# cat *.conf | sed 's/host/machines/g'
ou
[root@test ] /# find ~/etc -name *.conf -exec sed 's/host/machines/g' {} \;
Réponse 7.2Avec la commande grep:
[root@test ] /# grep -L root *.conf | xargs cat
Avec la commande sed:
[root@test ] /# sed '/root/d' ~/etc/*.conf
Réponse 7.3La commande est:
[root@test ] /# cut -f 1,4 -d : /etc/group | grep root
ou
[root@test ] /# sed '/[:,]root/!d;s/\(^[^:]*\).*\([^:]*\)$/\1 : \2/g' /etc/group
Réponse 7.4La commande est:
[root@test ] /# grep -o '^[^:]\{4,5\}\>' /etc/group
Réponse 7.5La commande est:
[root@test ] /# grep -L '^ *$' /etc/* | xargs cat 2>/dev/null
Réponse 7.6La commande est:
[root@test ] /# grep -l '[0-9]' ~/etc/*
si on cherche les fichiers qui contiennent des chiffres.
Réponse 7.7La commande est:
[root@test ] /# ls -l ~/etc/ | grep ^d
ou
[root@test ] /# ls -dF ~/etc/* | grep '.*\/$'
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 104/308
ou
[root@test ] /# ls -ld ~/etc/* | sed -n '/^d/s/.* \(.*\)$/\1/gp'
ou alors...
[root@test ] /# ls -d */
Attention aux aliases (ls='ls F')
Réponse 7.8La commande est:
[root@test ] /# ps aux | sed 's/root/toto/g' > new_process.txt
Réponse 7.9La commande est:
[root@test ] /# ps aux | grep apache | grep '^[pP]'
ou
[root@test ] /# ps aux | sed -n '/^[pP].*apache/p
Réponse 7.10Elle remplace ce qui se trouve en début de ligne suivit d'un caractère quelconque suivit de la chaîne 86 par 80 et ce que l'on a remplacé.
Exemple :
586 devient 80586
Réponse 7.11Avec la commande grep:
[root@test ] /# ifconfig eth0 | grep '^[[:space:]]*inet addr:\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}'
Avec la commande sed:
[root@test ] /# ifconfig eth0 | sed -n -e 's/^[[:space:]]*inet addr:\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\).*$/\1/p'
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 105/308
8 L'édition de fichiers avec VI
Description
Les candidats doivent pouvoir éditer des fichiers texte en utilisant vi. Cet objectif inclut la navigation dans vi, la connaissance des fonctionnalités de base de vi: insertion, édition, suppression et recherche de texte.
Dossiers principaux, termes et utilitaires inclus
vi
/, ?
h,j,k,l
G, H, L
i, c, d, dd, p, o, a
ZZ, :w!, :q!, :e!
:!
Poids: 1
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 106/308
8.1 Les bases de l'édition de fichiers avec vi
Lorsque vous utilisez XWindow, vous pouvez utiliser la souris avec certains éditeurs comme xedit.
Dans un environnement de développement hétérogène, les utilisateurs peuvent se servir de leur éditeur favori.
Dans un environnement non graphique, un éditeur “clavier” comme vi est suffisant.
L'éditeur vi pour Linux est le même que pour Unix.
vi a deux modes:
Mode commande: Tout ce que vous tapez sera interprété comme une commande.
Mode édition: Tout ce que vous tapez sera inséré dans un fichier.
Comment passer d'un mode à l'autre:
Du mode commande au mode édition: avec les touches i, I, a, A, o, O
Du mode édition au mode commande: touche ESC.
Le mode par défaut au démarrage est le mode commande.
Le fichier de configuration .exrc peut être créé dans votre répertoire home pour que vous puissiez paramètrer vos préférences.
[root@test ] /# set ignorecase # No case-sensitive
[root@test ] /# set tabs=3 # 3 space for tab character
Mode édition:
• i avant le curseur
• I au début de la ligne
• a après le curseur
• A à la fin de la ligne
• o ajout d'une ligne après la ligne courante
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 107/308
• O ajout d'une ligne avant la ligne courante
Suppression:
• dw jusqu'au mot suivant
• dd la ligne courante
• D jusqu'à la fin de la ligne
• x un caractère
Déplacement du curseur:
• l un caractère à droite
• h un caractère à gauche
• j une ligne en bas
• k une ligne en haut
• # à la fin de la ligne
• ^ au début de la ligne
• w jusqu'au mot suivant
• e jusqu'à la fin du mot
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 108/308
8.2 Quiz
Quiz 8.1Qu'estce que .exrc ?
Quiz 8.2Où .exrc doitil se trouver ?
Quiz 8.3Que fait dans vi la séquence wq ?
Quiz 8.4Estil possible d'utiliser une expression régulière dans vi ?
Quiz 8.5Estil possible d'utiliser la syntaxe de sed dans vi ?
Quiz 8.6Comment rechercher un mot dans vi ?
Quiz 8.7Comment annuler la dernière manipulation dans vi ?
Quiz 8.8Comment faitesvous pour répéter la dernière commande dans vi ?
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 109/308
8.3 Réponses quiz
Réponse quiz 8.1.exrc est le fichier de configuration de vi.
Réponse quiz 8.2Il doit être localisé dans le répertoire home de l'utilisateur.
Réponse quiz 8.3Sauvegarder et quitter (Save and quit)
Réponse quiz 8.4oui
Réponse quiz 8.5oui
Réponse quiz 8.6:/word/
Réponse quiz 8.7Avec le caractère u.
Réponse quiz 8.8Avec le caractère ".".
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 110/308
8.4 Exercices
Exercice 8.1Éditez un fichier que vous appellerez vitest avec vi. Quittez ensuite vi sans sauvegarder le fichier.
Exercice 8.2Editez le fichier vitest et écrivez quelques lignes. Sauvegardez ensuite le fichier. Sauvegardez et quittez en une commande.
Exercice 8.3Comment utiliser l'aide de vi ?
Exercice 8.4Faites une copie de /etc/passwd dans votre répertoire home. Editez ensuite cette copie avec vi. Changez chaque occurrence du mot root avec votre propre nom d'utilisateur.
Exercice 8.5Toujours dans la copie de /etc/passwd, faites une copie et collez quelques lignes. Effacezles ensuite.
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 111/308
8.5 Réponses
Réponse 8.1La commande est:
[root@test ] /# vi vitest
Pour sortir de l'utilitaire vi sans sauvegarder le fichier :
utiliser :q!.
Réponse 8.2La commande est:
Pour éditer, faire vi vitest
Pour écrire quelque ligne dans le fichier, passez en mode "insertion" en utilisant la touche i.
Pour sauvegarder le fichier faire :w
Pour sauvegarder et quitter le fichier, faire :wq.
Réponse 8.3Pour obtenir de l'aide sur l'utilitaire vi, lorsque vi est ouvert, il faut taper :h.
Réponse 8.4Copie de passwd dans /home/myhome:
[root@test ] /# cp /etc/passwd /home/myhome/
Pour remplacer le mot root par mon nom, utiliser vi et faire :
Se placer sur le mot à remplacer et utiliser la commande cw
Réponse 8.5Pour copier une ligne avec l'utilitaire vi faire: yy
Pour coller la ligne copier, faire: p
Pour supprimer une ligne, faire: dd
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 112/308
GNU & Commandes Unixversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 113/308
Matériel & ArchitectureContenu du chapitre
Matériel & Architecture.......................................1131 Configurer les bases du BIOS.........................114
1.1 Le Firmware (BIOS)...........................................1151.2 Trouver les informations sur le disque dur.........1161.3 Trouver les informations sur le noyau................1171.4 Ports d'entrées/sorties.......................................1181.5 Les interruptions................................................1191.6 DMA...................................................................1201.7 PCI.....................................................................121
1.8 La Couche d'Abstraction Matérielle...................1221.9 udev...................................................................1241.10 Quiz..................................................................1261.11 Réponses aux quiz..........................................1271.12 Exercices..........................................................1281.13 Réponses aux exercices..................................1291.14 Quiz .................................................................1301.15 Réponses aux quiz..........................................1311.16 Exercices..........................................................1321.17 Réponses aux exercices..................................133
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 114/308
1 Configurer les bases du BIOS
Description
Les candidats doivent pouvoir configurer leur matériel et leur système en modifiant le BIOS. Cet objectif inclut une compréhension appropriée des possibilités de configuration du BIOS, telle que l'utilisation de LBA sur les disques durs IDE de plus de 1024 cylindres, l'activation ou la désactivation des périphériques intégrés, ainsi que la configuration des systèmes avec (ou sans) périphériques externes. Il faut également savoir paramétrer correctement les adresses d'IRQ, de DMA et d'I/O pour tous les ports administrés par le BIOS et la gestion des arrêts sur erreur .
Dossiers principaux, termes et utilitaires inclus
/proc/ioports
/proc/interrupts
/proc/dma
/proc/pci
Poids: 1
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 115/308
1.1 Le Firmware (BIOS)
Dans tous les ordinateurs, le premier élément software a être exécuté est stocké dans une mémoire nonvolatile (ROM, E2PROM, ...). Sur les PC, cet élément logiciel est le BIOS (Basic Input Output System).
Lorsque vous allumez votre PC, les instructions du BIOS sont chargées en RAM depuis un chip ROM sur la carte mère.
Ces instructions informent le processeur sur l'emplacement de l'OS et sur la manière de le charger en mémoire RAM.
En plus de permettre à des OS et des applications de fonctionner sur un PC, le BIOS fourni un certain nombre de services que l'OS utilise pour communiquer avec le hardware.
De plus, l'OS fourni des services standards aux applications pour optimiser leur fonctionnement.
Quelques services du BIOS:
• Translation géométrique pour les disques IDE/ATA de plus de 504 MB
• PlugandPlay
• Support pour les disques IDE/ATA de plus de 2 GB
Tous les pilotes de périphériques d'un OS n'utilisent pas ces services; quelques uns utilisent leurs propres instructions pour accéder au matériel, ce qui améliore les performances.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 116/308
1.2 Trouver les informations sur le disque dur
Pour obtenir les informations concernant le disque, il faut utiliser la commande hdparm.
hdparm [options] [devices]
Principales options:
• g: Donne la géométrie du disque.
• C: Affiche le mode de fonctionnement du disque dur.
active/idle: Fonctionnement normal,
standby: Mode faible consommation,
ou sleeping: Mode veille.
• v: Liste les informations concernant le disque dur.
Exemples:
[root@test ] /# hdparm -g /dev/hda
/dev/hda: geometry = 3648/255/63, sectors = 58605120, start = 0
[root@test ] /# hdparm -C /dev/hda
/dev/hda: drive state is: active/idle
hdparm est une commande créée au départ pour être utilisée uniquement avec des disques IDE. Cependant, en fonction de l'option souhaitée, il est possible d'utiliser hdparm sur d'autres disques durs, par exemple des disques SCSI.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 117/308
1.3 Trouver les informations sur le noyau
Le pseudo système de fichiers, /proc est utilisé comme interface dans les structures de données du noyau. Il contient l'état du noyau, de l'OS et des processus qui fonctionnent sur l'ordinateur.
Le système de fichiers /proc existe seulement dans la mémoire de l'ordinateur. Il est constamment mis à jour pour refléter chaque changement dans le système.
La plupart des fichiers sont en lecture seule, mais certains permettent à des variables du noyau d'être modifiées. Ces fichiers en écriture se trouvent en général dans le sousrépertoire /proc/sys et ne doivent pas être intégrés au noyau.
Exemples de correspondance des répertoires:
/proc/[Number] Informations sur les processus qui fonctionnent sur le système.
/proc/[Number]/cmdline
La ligne de commande complète du processus.
/proc/[Number]/cwd Le répertoire courant du processus.
/proc/uptime Créé dès que le système est démarré et fonctionne.
/proc/sys/kernel Informations et paramètres du noyau.
/proc/sys/net Informations et paramètres du réseau.
/proc/partitions Informations sur le partitionnement du disque dur.
/proc/scsi Informations SCSI.
/proc/mount Informations sur le système de fichiers monté.
/proc/devices Liste les drivers chargés.
/proc/bus Informations sur le bus.
/proc/version Version de Linux.
Et autres...
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 118/308
1.4 Ports d'entrées/sorties
Les lecteurs, dans un ordinateur, sont accessibles à travers leurs adresses ou leur port I/O (I/O signifie Input/Output et est un espace d'adressage distinct de l'espace mémoire).
Pour lister les ports I/O en activité dans le système, il faut ouvrir le fichier
/proc/ioports.
[root@test ] /# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : PCI device 8086:248a
0170-0177 : ide1
01f0-01f7 : PCI device 8086:248a
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : PCI device 8086:248a
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vesafb
03f6-03f6 : PCI device 8086:248a
03f6-03f6 : ide1
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 119/308
1.5 Les interruptions
Les interruptions sont les événements à travers lesquels le matériel interagit avec les logiciels.
Par exemple, chaque fois que la souris est déplacée, un signal (numéro d'interruption 12), est lancé. Il indique au processeur d'arrêter tous les autres processus pour exécuter une sousroutine de gestion d'interruption afin de gérer l'évènement.
Pour lister toutes les interruptions utilisées par les différents périphériques, il faut ouvrir le fichier /proc/interrupts.
[root@test ] /# cat /proc/interrupts
CPU0
0: 397517 XT-PIC timer
1: 7544 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 0 XT-PIC usb-uhci, usb-uhci
8: 2 XT-PIC rtc
10: 2024 XT-PIC eth0, usb-uhci, PCI device 104c:ac51, PCI
device 104c:ac51, Intel ICH3
12: 19502 XT-PIC PS/2 Mouse
14: 11445 XT-PIC ide0
15: 2770 XT-PIC ide1
NMI: 0
ERR: 0
Pour optimiser les performances du système, il faut vérifier qu'une même ligne d'interruption n'est pas utilisée par deux périphériques fréquemment sollicités.
Il faut se rappeler que la sousroutine d'interruption (ISR) de chaque lecteur est exécutée lors de chaque interruption.
Le matériel qui utilise les interruptions est appelé un PIC (Programable Interrupt Controler). Il existe aujourd'hui une nouvelle version, l'APIC, qui permet de gérer des signaux d'interruptions complexes.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 120/308
1.6 DMA
Direct Memory Access (DMA) est une technique qui permet aux lecteurs d'utiliser la RAM pour échanger des données. La RAM utilise un emplacement réservé dans le haut de la mémoire, et la manière d'accéder à ces emplacements est appelée un canal (channel).
Dans les systèmes plus récents, les canaux DMA fonctionnent indépendamment du CPU et ne sont pas visibles dans le BIOS.
Par exemple, le support DMA du bus PCI est contrôlé par le PCI master du bus ou par le PCI bridge si aucun lecteur maître n'est branché sur le bus PCI.
Pour lister tous les canaux ISA DMA utilisés par le système, il faut regarder dans le fichier /proc/dma.
[root@test ] /# cat /proc/dma
4: cascade
Dans les systèmes avec bus ISA, il n'existe qu'un seul canal, le cascading DMA, le numéro 4.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 121/308
1.7 PCI
Le bus PCI (Peripheral Component Interconnect) a remplacé le bus ISA comme bus standard pour les PC.
Pour lister les périphériques PCI installés, utiliser lspci :
lspci [options]
Les options les plus utilisées sont :
v: Mode verbose
vv: Mode très verbose
d [<vendor>]:[<device>] : Afficher seulement les périphériques avec les ID de vendeur et de périphérique spécifiés
n: Ne pas traduire les ID en noms (grâce à la base de données /usr/share/misc/pci.ids)
Pour lister tous les périphériques PCI :
user@ubuntu:~$ lspci
Vous pouvez obtenir plus d'informations en utilisant les options v ou vv :
user@ubuntu:~$ lspci -vv
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 122/308
1.8 La Couche d'Abstraction Matérielle
Les fichiers device étaient gérés statiquement dans le répertoire /dev. Aujourd'hui, ces fichiers sont gérés par un système appele HAL (Hardware Abstraction Layer), et générés par un autre appelé udev.
Note : Dans Ubuntu, HAL n'est pas disponible sur les installations serveurs, uniquement sur les installations postes de travail.
Le HAL est un système donant une vue des différents matériels rattachés au système. La tâche la plus importante du HAL est de fournir aux desktops UNIX des fonctionnalités plugandplay.
HAL est uniquement disponible sur les noyaux Linux 2.6.
HAL possède plusieurs composants :
– Le daemon HAL :
Il maintient une base de données persistente des objets device : il détecte les nouveaux devices et les gère. Les notifications sont faites à travers l'interface DBUS (voir chapitre suivant).
– Applications :
Les applications qui doivent accéder aux devices peuvent obtenir leurs adresses à travers l'interface HAL. Elles communiquent ensuite avec le device à travers le noyau, comme auparavant. Ces applications sont par exemple les environnements GNOME ou KDE: quand un utilisateur insère une clé USB, l'environnement peut demander à l'utilisateur s'il désire monter la clé.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 123/308
Il est possible de parcourir le matériel connecté en utilisant le HAL device manager :user@ubuntu:~$ haldevicemanager &
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 124/308
1.9 udev
La fonction primaire d'udev est de gérer les devices dans /dev.
Auparavant, les devices étaient représentés par des fichiers statiques dans /dev. Pour être sûr de pouvoir accéder à tous les devices pouvant exister, le système d'installation de la distribution devait créer des milliers de devices dans /dev, à l'installation du système. La grande majorité de ces fichiers ne correspondaient pas à un device réellement rattaché au système, mais ils devaient néanmoins être présents.
udev crée dynamiquement les devices dans /dev, uniquement pour les devices réellement rattachés au système. udev peut gérer les devices présents au démarrage de la machine, ainsi que les devices raccordés après (« hotplug »). udev s'occupe aussi de rendre les noms des devices persistents
udev est entièrement exécuté en dehors du noyau, principalement dans le daemon udevd. Quand les changent d'état (quand ils sont connectés ou déconnectés), le noyau génère des événements « uevents », qui sont envoyés à udevd à travers une socket netlink. Ces uevents contiennent le chemin du device (au format utilisé par /sys, comme par exemple /block/sda/sda) et l'action effectuée (rajout ou suppression du device)
udevd passe alors ces uevents à travers un ensemble de règles. Les actions entamées par udevd dépendent alors des résultats de ces règles. Les règles peuvent par exemple déterminer le nommage d'un device, créer un lien symbolique vers le device ou de lancer une commande sur le device. Ces règles sont définies dans /etc/udev/rules.d/.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 125/308
Pour avoir une idée de ce que udevd effectue comme actions, il est possible de visualiser des uevents avec la commande udevmonitor. Exemple de sortie générée par udevmonitor lorsqu'un adaptateur Ethernet USB est connecté au système :
user@ubuntu:~$ sudo udevmonitor
udevmonitor prints the received event from the kernel [UEVENT]
and the event which udev sends out after rule processing [UDEV]
UEVENT[1171585209.766785] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1
UEVENT[1171585209.771326] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0
UEVENT[1171585209.773355] add@/class/usb_device/usbdev2.2
UDEV [1171585209.842937] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1
UEVENT[1171585210.818966] add@/module/usbnet
UDEV [1171585210.821871] add@/module/usbnet
UEVENT[1171585210.892662] add@/module/asix
UEVENT[1171585210.893814] add@/bus/usb/drivers/asix
UDEV [1171585210.896542] add@/module/asix
UDEV [1171585210.899956] add@/bus/usb/drivers/asix
UEVENT[1171585211.706091] add@/class/net/eth1
UDEV [1171585211.709241] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0
UDEV [1171585211.826313] add@/class/usb_device/usbdev2.2
UDEV [1171585211.978561] add@/class/net/eth1
Il est possible de voir les uevents envoyés par le noyau (lignes préfixées par UEVENT) et les actions correspondantes entreprises par udevd (lignes préfixées par UDEV).
Le nombre entre crochets représente le temps en microsecondes.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 126/308
1.10 Quiz
Quiz 1
Quelle commande doit être utilisée pour modifier les paramètres de disques durs IDE ?
Quiz 2
Ou se trouve, dans le système de fichiers, l'information sur les processus en cours d'exécution ?
Quiz 3
Comment déterminer depuis combien de temps tourne un système ?
Quiz 4
Comment déterminer si une IRQ est utilisé par plusieurs devices ?
Quiz 5
Comment déterminer si votre système comporte plusieurs CPU ?
Quiz 6
Le méchanisme ISA DMA utilisetil du temps ou des ressources CPU ?
Quiz 7
Comment afficher tous les devices PCI ?
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 127/308
1.11 Réponses aux quiz
Réponse 1
hdparm
Réponse 2
/proc/[PID number]/
Réponse 3
user@ubuntu:~$ cat /proc/uptime
Réponse 4
user@ubuntu:~$ cat /proc/interrupts
Réponse 5
user@ubuntu:~$ cat /proc/cpuinfo
Réponse 6
Non, c'est un méchanisme indépendant.
Réponse 7
user@ubuntu:~$ lspci -vv
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 128/308
1.12 Exercices
Exercice 1
Vérifiez la taille de la mémoire RAM de votre système ?
Exercice 2
Déterminez si plusieurs devices partagent la même IRQ ?
Exercice 3
Utilisez la bonne option de lspci pour afficher graphiquement l'architecture PCI de votre système.
Exercice 4
Trouvez l'option de lspci qui vous permet de lister tous les devices PCI Intel.
Exercice 5
Mettez votre disque dur IDE en mode lecture seule
Exercice 6
Activez / désactivez la fonction de writecaching de votre disque dur IDE.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 129/308
1.13 Réponses aux exercices
Réponse 1
user@ubuntu:~$ less /proc/meminfo
Réponse 2
user@ubuntu:~$ cat /proc/interrupts
Réponse 3
user@ubuntu:~$ lspci -vt
Réponse 4
Afficher le fichier /usr/share/misc/pci.ids :user@ubuntu:~$ lspci d 8086:*
Réponse 5
user@ubuntu:~$ sudo hdparm -r 0 /dev/hdax
Réponse 6
user@ubuntu:~$ sudo hdparm -W 1 /dev/hda
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 130/308
1.14 Quiz
Quiz 1
Quel est le nom du fichier correspondant au port série qui, sous DOS ou MS Windows, est appelé COM3 ?
Quiz 2
Quelle commande AT vous permet de composer un numéro ?
Quiz 3
Comment vous assurezvous que votre système est capable de démarrer sur un disque SCSI ?
Quiz 4
Comment vérifier qu'un disque USB a bien été détecté ?
Quiz 5
Quelle commande vous permet de vérifier qu'un pilote a bien été installé pour un device USB ?
Quiz 6
Ou sont listés les devices USB dans le système de fichiers ?
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 131/308
1.15 Réponses aux quiz
Réponse 1
/dev/ttyS2
Réponse 2
ATD [number]
Réponse 3
By setting up the SCSI BIOS.
Réponse 4
lsusb ou dmesg
Réponse 5
usbmodules devices [filenamepath]
Réponse 6
/proc/bus/usb et /sys/bus/usb
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 132/308
1.16 Exercices
Exercice 1
Lister tous les devices USB et tous les arbres.
Exercice 2
Lister les différences entre la configuration d'un porte série et celle d'un modem USB.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 133/308
1.17 Réponses aux exercices
Réponse 1
Pour lister les devices: lsusb vt ou lsusb vvt
L'option t est utilisée pour afficher les résultats en arbre.
Réponse 2
Il n'y a pas de différences autres que le nom du device.
Matériel & Architectureversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 134/308
Installation Linux & gestion des paquetages
Contenu du chapitre
Installation Linux & gestion des paquetages....1341 Architecture des disques durs.........................135
1.1 Conception d'une architecture de disque dur....1362 Installer un gestionnaire de démarrage ..........138
2.1 LILO ou Grub.....................................................1392.2 Exemples de fichiers /etc/lilo.conf......................1402.3 Exemples de fichiers menu.lst...........................1412.4 Quiz ...................................................................1422.5 Réponses quiz...................................................1432.6 Exercices ...........................................................1442.7 Réponses ..........................................................145
3 Compiler et installer des programmes à partir des sources...............................................................146
3.1 Archivage de fichiers..........................................1473.2 Compression de fichiers....................................1483.3 La chaîne d'outils GNU......................................1503.4 Quiz ...................................................................1523.5 Réponses quiz ..................................................1533.6 Exercices............................................................1543.7 Réponses ..........................................................155
4 Gérer les bibliothèques partagées ..................1564.1 Les bibliothèques...............................................157
4.2 Les dépendances des bibliothèques.................1584.3 Le chargeur d'exécution (Runtime loader).........1594.4 Quiz....................................................................1604.5 Réponses quiz ..................................................161
5 Utiliser le gestionnaire de paquetages Debian.1625.1 Dpkg...................................................................1635.2 Utilisation de la chaine d'outils APT: aptget, aptcache, aptfile, aptcdrom........................................1655.3 Recompiler un .deb à partir de sources existantes..1705.4 Utilisation de aptitude et dselect........................1725.5 Quiz....................................................................1745.6 Réponses quiz ..................................................1755.7 Exercices ...........................................................1765.8 Réponses ..........................................................177
6 Utiliser le gestionnaire de paquetages de Red Hat (RPM).................................................................178
6.1 Gestion des paquetages RPM...........................1796.2 Utilisation des RPM ...........................................1806.3 Installation des sources.....................................1816.4 Tableau de comparaison RPM / DPKG.............1826.5 Exercices............................................................1836.6 Réponses ..........................................................184
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 135/308
1 Architecture des disques durs
Description
Les Candidats doivent être capables de concevoir un plan de partitionnement de disque dur pour un système Linux.
Cet objectif inclut l'allocation d'espaces pour le système de fichiers (filesystems) et la swap, la séparation des partitions et des disques et d'optimisation de la construction du disque par rapport à l'usage prévu du système.
Cela inclut enfin de placer /boot sur une partition conforme aux besoins du BIOS pour pouvoir démarrer le système (BIOS' requirements for booting).
Dossiers principaux, termes et utilitaires inclus
/ (root) filesystem
/var filesystem
/home filesystem
swap space
mount points
partitions
cylinder 1024
Poids: 5
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 136/308
1.1 Conception d'une architecture de disque dur
Lors d'une installation, au minimum deux partitions doivent être créées sur le disque:
• / ("slash", root, racine): Ce répertoire contient la distribution Linux.
• swap: cette partition permet au noyau de gérer plus de processus que ne le permet la mémoire RAM.
Si plusieurs disques sont utilisés, il est conseillé aussi de mettre les répertoires /usr et /home sur des partitions différentes.
Chaque partition contiendra un type de système de fichiers et peut être monté sur le système actif dans l'arborescence.
Pour visualiser le système de fichiers monté et actif, il faut utiliser mount.
[root@test ] /# mount
/dev/hda3 on / type reiserfs (rw)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw)
/dev/hda1 on /boot type ext2 (rw)
shmfs on /dev/shm type shm (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
La partition swap n'a pas besoin d'un système de fichiers, elle peut être accédée en mode raw par le noyau. Aucune surcharge de processus n'intervient à cause d'un système de fichiers.
Importance de la vitesse d'accès aux disques :
Avant de définir un schéma de partitionnement, vous devez savoir précisément pour quelles types d'applications vous allez utiliser votre système:
• Serveur de messagerie
• Serveur Internet
• Applications graphiques (XWindow)
• Ou d'autres
Si votre système est composé de plusieurs disques, utilisez le plus rapide pour stocker vos données.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 137/308
/ Contient la plupart des utilitaires système et ne doit pas servir pour autre chose. Il peut être installé sur le disque le plus lent.
/var/log Contient les informations de logging. A installer sur un disque rapide.
/usr A installer sur une partition séparée. Si il y a plusieurs applications qui utilisent un serveur X, utilisez un disque rapide.
Exemples d'applications systèmes:
Le serveur de messagerie Sendmail écrit les queues de messages à deux endroits, normalement /var/spool/mqueue et /var/spool/mail
Apache utilise plusieurs fichiers, deux fichiers de logs pour le logging et l'accès aux pages actuelles. Apache est très consciencieux : tout ce qui se produit dans le système Apache est noté dans un fichier de log.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 138/308
2 Installer un gestionnaire de démarrage
Description
Les candidats doivent être en mesure de sélectionner, installer et configurer un gestionnaire de démarrage. Cet objectif inclut la configuration de l'emplacement du démarrage alternatif et la sauvegarde/restauration des options de démarrage (par exemple: démarrer sur une disquette).
Dossiers principaux, termes et utilitaires inclus
/etc/lilo.conf
/boot/grub/grub.conf
lilo
grubinstall
MBR
superblock
first stage boot loader
Poids: 1
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 139/308
2.1 LILO ou Grub
Ils sont utilisés pour charger en RAM une image stockée sur un disque.
Les avantages de Grub par rapport à LILO:
• Il possède davantage de commandes.
• Il est capable de charger les images stockées au delà de la limitation du BIOS à 1024 cylindres.
• Il est possible d'accéder à sa configuration à travers un système de fichiers.
Si vous utilisez LILO, il faut installer un nouveau LILO dans le MBR chaque fois que vous ajoutez ou que vous changez une image.
LILO conserve les informations sur le BOOT dans le MBR.
Grub conserve les informations sur le BOOT dans le système de fichiers (menu.lst).
LILO a également un fichier de configuration /etc/lilo.conf.
Pour installer Grub dans le MBR, il faut utiliser grub.
La commande setup installera GRUB dans le MBR.
Pour installer LILO dans le MBR, il faut utiliser la commande lilo.
La commande lilo permet d'écrire dans le MBR les éléments contenus dans le fichier /etc/lilo.conf.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 140/308
2.2 Exemples de fichiers /etc/lilo.conf
# LILO global section
boot = /dev/hda # LILO installation target: MBR
vga = normal # (normal, extended, or ask)
read-only # Mount the root file systems read-only
# LILO Linux section
image=/boot/vmlinuz
label=Linux
append="hdb=ide-scsi"
initrd=/boot/initrd # Ramdisk
read-only
# LILO DOS/Windows section
other=/dev/hda3
label=windows
# LILO memtest section
image=/boot/memtest.bin
label=memtest86
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 141/308
2.3 Exemples de fichiers menu.lst
# GRUB default values
timeout 10 # Boot the default kernel after 10 seconds
default 0 # Default kernel
# Grub for Linux section 0
title GNU/Linux # Title
root (hd0,1) # /dev/hda2 root filesystem
# Kernel and parameters to pass to the kernel
kernel /boot/vmlinuz root=/dev/hda2 read-only
initrd /boot/initrd
boot
# Grub for DOS/Windows section
title Winblows
root (hd0,2) # /dev/hda3
makeactive
chainloader+1
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 142/308
2.4 Quiz
Quiz 2.1Estil possible d'installer un chargeur de démarrage sur une disquette ?
Quiz 2.2Quel est le fichier de configuration de LILO ?
Quiz 2.3LILO peutil accéder au système de fichiers pour lire son fichier de configuration ?
Quiz 2.4Quel est le meilleur emplacement pour GRUB et LILO sur un disque dur IDE ?
Quiz 2.5Quel est le nom et l'emplacement du fichier de configuration de GRUB?
Quiz 2.6Quelle est la commande pour installer un nouveau LILO dans le MBR ?
Quiz 2.7Quelle est la commande pour installer un nouveau GRUB dans le MBR ?
Quiz 2.8Qu'estce que le initrd ?
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 143/308
2.5 Réponses quiz
Réponse quiz 2.1oui.
Réponse quiz 2.2/etc/lilo.conf
Réponse quiz 2.3non.
Réponse quiz 2.4Dans le MBR.
Réponse quiz 2.5/boot/grub/menu.lst
Réponse quiz 2.6[root@test ] /# lilo
Réponse quiz 2.7[root@test ] /# grub
> root (hd0,1)
> initrd /boot/initrd
>boot
Réponse quiz 2.8initrd est la mémoire disque minimale pour le noyau pour démarrer et monter les systèmes de fichiers.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 144/308
2.6 Exercices
Exercice 2.1Installez Grub sur une disquette et essayez de démarrer manuellement sur votre image:
[root@test ] /# mkfs -t ext2 /dev/fd0
[root@test ] /# mount /dev/fd0 /mnt
[root@test ] /# mkdir -p /mnt/boot/grub
[root@test ] /# cp /boot/grub/stage* /mnt/boot/grub/
[root@test ] /# cp /boot/grub/e2fs_stage1_5 /mnt/boot/grub/
[root@test ] /# touch /mnt/boot/grub
[root@test ] /# umount /mnt
[root@test ] /# grub
> root (fd0)
> setup (fd0)
> quit
Redémarrez ensuite sur la disquette et, au prompte, sélectionnez le noyau sur le disque dur. “>” est le prompte proposé par GRUB, et les lecteurs hd0,1 et /dev/hda2 doivent être remplacés par l'un de ceux utilisés dans votre système.
Les lignes suivantes méritent toute votre attention avant d'être tapées.
> root (hd0,1)
> kernel /boot/vmlinuz root=/dev/hda2 read-only
> initrd /boot/initrd
> boot
Exercice 2.2Créez le fichier /boot/grub/menu.lst et installez Grub sur votre disque dur en utilisant les utilitaires proposés par Grub.
Exercice 2.3Réinstallez Lilo. Dans le fichier /etc/lilo.conf, changez le label Linux de l'image par défaut du noyau par "kangaroo" et réinstallez le programme Lilo dans le MBR.
Exercice 2.4Quelle commande permet de supprimer Lilo ?
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 145/308
2.7 Réponses
Réponse 2.1Suivre la procédure.
Réponse 2.2Tapez la commande:
[root@test ] /# grub
root (hd0,0) # partition boot
puis:
setup (hd0) # Where to install the boot record MBR
quit
Editez le fichier /boot/grub/menu.lst et inscrire les lignes suivantes:
default 0
timeout 30
title=Mon exemple de Gentoo Linux
root (hd0,0)
kernel (hd0,0)/boot/bzImage root=/dev/hda3
Réponse 2.3Pour réinstaller lilo, dans un premier temps, il faut garder la disquette de grub et voir la question 2.1.
Désinstallez grub et installez le programme lilo. Modifiez le fichier /etc/lilo.conf et tapez au prompte la commande lilo afin que celuici soit installé dans le MBR. Vous pouvez redémarrer votre machine et utilisez lilo comme chargeur de démarrage.
Réponse 13.4La commande à utiliser pour enlever lilo du MBR est lilo U .
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 146/308
3 Compiler et installer des programmes à partir des sources
Description
Les candidats doivent être en mesure de construire et d'installer un programme exécutable à partir des sources.
Cet objectif inclut de pouvoir décompacter (unpack) un fichier depuis les sources. Les candidats doivent pouvoir faire des adaptations simples sur le Makefile, par exemple dans les chemins (paths) ou ajouter d'autres entrées au dossiers (extra include directories).
Dossiers principaux, termes et utilitaires inclus
/usr/src/
gunzip
gzip
bzip2
tar
configure
make
buildessential
Poids: 5
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 147/308
3.1 Archivage de fichiers
Une archive est une suite de fichiers et de sousrépertoire stockés dans un fichier.
La commande qui vous permet d'intégrer des fichiers et des sousrépertoires dans un fichier est la commande tar.
tar function&options files
Principales fonctions:
c: Pour créer un nouveau fichier tar.
t: Donne le contenu d'un fichier tar.
x: Pour extraire le contenu du fichier tar.
Principales options:
f: file: Spécifie le nom du fichier tar.
Exemples:
[root@test ] /# tar cvf mybackup.tar ~[root@test ] /# tar cvf usr.tar /usr[root@test ] /# tar tvf mybackup.tar[root@test ] /# tar xvf mybackup.tar
Il est courant d'utiliser l'extension .tar pour tous les fichiers archivés avec tar.
tar n'a pas besoin d'un trait d'union devant les options.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 148/308
3.2 Compression de fichiers
Compresser les fichiers préserve de la place pour le stockage des données et de la bande passante lors des transferts de fichiers.
Il existe plusieurs utilitaires pour compresser des fichiers:
compress, uncompress: Le plus ancien algorithme de compression sous Unix.
gzip, gunzip: Le plus utilisé.
bzip2, bunzip2: Le meilleur algorithme de compression.
Une fois l'archive créée, elle peut être compressée.
Exemples:
[root@test ] /# ls -l backup.tar
-rw-r--r-- 1 rarrigon users 22773760 nov 10 11:07 backup.tar
[root@test ] /# gzip -v backup.tar
backup.tar: 53.8% -- replaced with backup.tar.gz
[root@test ] /# ls -l backup.tar.gz
-rw-r--r-- 1 rarrigon users 10507393 nov 10 11:07 backup.tar.gz
[root@test ] /# gunzip backup.tar.gz
[root@test ] /# bzip2 -v backup.tar
backup.tar: 2.260:1, 3.540 bits/byte, 55.75% saved, 22773760 in, 10077846 out.
Compression et archivage des fichiers :
Si vous voulez archiver des fichiers et des sousrépertoires, il est possible de créer un paquetage et de le compresser en une seule commande.
Exemples:
[root@test ] /# tar cvzf backup.tgz ~ # Backup of home with gzip
[root@test ] /# tar cvjf backup.tbz ~ # Backup of home with bzip2
[root@test ] /# tar xvzf backup.tgz # Extract and gunzip backup.tgz
[root@test ] /# tar xvjf backup.tbz # Extract and bunzip2 backup.tbz
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 149/308
Par défaut, tar utilise un chemin relatif mais avec l'option P, il est possible de sauvegarder les fichiers avec un chemin absolu.
Si vous utilisez cette option, le fichier est toujours extrait dans le même emplacement.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 150/308
3.3 La chaîne d'outils GNU
Sous Linux, toutes les sources peuvent être construites à partir de la chaîne d'outils (tool chain) standards GNU.
L'utilitaire make permet de maintenir un groupe de programmes. Il faut utiliser les règles définies dans makefile.
Le gcc est le compilateur ANSI C et le g++ est le compilateur C++.
La plupart des paquetages compressés ou archivés, une fois installés, contiennent des fichiers d'informations (README, INSTALL). Ces fichiers vous expliqueront la manière de les construire et de les installer.
Les fichiers Makefile.in et configure.in sont les fichiers qui seront utilisés pour générer un fichier makefile à la fin de l'opération.
En général, ces fichiers, une fois configurés, scannent le système pour générer un fichier Makefile.
Les étapes pour compiler un programme sont les suivantes :
1. Télécharger les sources
2. Extraire les fichiers de l'archive
3. ./configure
4. make
5. make install
Exemple :
Avant de compiler un programme, installer le paquetage Ubuntu buildessential :
user@ubuntu:~$ sudo apt-get install build-essential
Télécharger les sources d'un logiciel, par exemple nmap :
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 151/308
user@ubuntu:~$ wget http://download.insecure.org/nmap/dist/nmap-4.20.tar.bz2
Décompresser l'archive :
user@ubuntu:~$ tar jxvf nmap-4.20.tar.bz2
Configurer la compilation :
La compilation est configurée à l'aide d'un script appelé configure.
Pour obtenir toutes les options disponibles du script configure, lancer :
user@ubuntu:~$ cd nmap-4.20
user@ubuntu:~/nmap-4.20$ ./configure --help
L'utiliser avec les options voulues :
user@ubuntu:~/nmap-4.20$ ./configure --prefix /usr/local/NMAP-4.20 –without- nmapfe
Ceci signifie que le chemin d'installation final de nmap sera /usr/local/NMAP-4.20 et que l'on ne désire par l'interface graphique d'nmap (nmapfe).
Compiler le programme :
user@ubuntu:~/nmap-4.20$ make
L'installer :
user@ubuntu:~/nmap-4.20$ sudo make install
L'utiliser :
user@ubuntu:~$ /usr/local/NMAP-4.20/bin/nmap
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 152/308
3.4 Quiz
Quiz 3.1Quel utilitaire de compression utilise le meilleur algorithme de compression ?
Quiz 3.2Quelles sont les différences entre un chemin relatif et un chemin absolu ?
Quiz 3.3Qu'estce qu'un Makefile ?
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 153/308
3.5 Réponses quiz
Réponse quiz 3.1bzip2
Réponse quiz 3.2Un chemin absolu commence à la racine (/). Un chemin relatif peut être installé depuis n'importe quel emplacement.
Réponse quiz 3.3Un fichier Makefile est utilisé par l'utilitaire make et défini en général les règles des dépendances pour la construction d'une application.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 154/308
3.6 Exercices
Exercice 3.1Faites une archive des répertoires /bin et /sbin. Avec quel utilitaire de compression obtenezvous les tailles de fichiers les plus petites?
Exercice 3.2Installez le fichier /usr/src/packages/SOURCES/grub09.tar.bz2 dans /tmp et, en lisant INSTALL et README et construisez les sources.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 155/308
3.7 Réponses
Réponse 3.1La commande est:
[root@test ] /# tar -cvjf bkp1 /bin
[root@test ] /# tar -cvjf bkp2 /sbin
On utilise bzip2 pour avoir un taux de compression élevé et donc minimiser la taille du fichier archive.
Réponse 3.2On utilise la commande tar pour décompresser le fichier.
[root@test ] /# tar -xvjf grub-09.tar.bz2
Puis, il suffit de lire le fichier INSTALL. Il donne la marche à suivre pour installer le logiciel.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 156/308
4 Gérer les bibliothèques partagées
Description
Les candidats devront savoir déterminer de quelles bibliothèques partagées les programmes exécutables dépendent et savoir comment les installer si nécessaire.
Les candidats doivent pouvoir établir l'emplacement des bibliothèques dont dépend le système.
Dossiers principaux, termes et utilitaires inclus
ldd
ldconfig
/etc/ld.so.conf
LD_LIBRARY_PATH
Poids: 3
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 157/308
4.1 Les bibliothèques
Une bibliothèque est un ensemble de fonctions que le programme peut utiliser pour implémenter ses fonctionnalités.
Lorsque vous construisez un programme, ses bibliothèques peuvent être liées de manière statique ou dynamique à l'exécutable:
• Utiliser les liens statiques signifie que le programme final contiendra des bibliothèques de fonctions avec leur fichier lib.a.
• Utiliser les liens dynamiques signifie que les bibliothèques dont dépendent le programme seront chargées en RAM lors de son exécution lib.so.
Les répertoires par défaut pour toutes les bibliothèques standards sont:
/lib : Utilisé principalement par les programmes /bin.
/usr/lib : Utilisé principalement par les programmes /usr/bin.
Le fichier /etc/ld.so.conf est utilisé par le système pour spécifier les emplacements des autres bibliothèques.
Pour construire un fichier caché utilisé par le chargeur d'exécution de toutes les bibliothèques, il faut utiliser la commande ldconfig.
Le fichier /etc/ld.so.cache est alors généré.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 158/308
4.2 Les dépendances des bibliothèques
Pour afficher les programmes partagés ou les dépendances des bibliothèques, il faut utiliser ldd.
ldd [vdr] program|library
Options courantes:
● v : mode verbose
● d : calcule les déplacements d'adresse et détecte les objets manquants (ELF uniquement)
● r : calcule les déplacement d'adresse pour les données et les fonctions et détecte les objets manquants (ELF uniquement)
Exemple:
[root@test ] /# ldd -d -v /bin/cp
libc.so.6 => /lib/libc.so.6 (0x40027000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Version information:
/bin/cp:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1.1) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.2.3) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.1) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 159/308
4.3 Le chargeur d'exécution (Runtime loader)
Le chargeur d'exécution ld.so cherche les bibliothèques utilisées par un programme et les charge en RAM.
L'ordre de recherche utilisé par ld.so est:
1. LD_LIBRARY_PATH
2. Le fichier de cache /etc/ld.so.cache
3. Les répertoires par défaut /lib et /usr/lib
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 160/308
4.4 Quiz
Quiz 4.1Quelle est la différence entre une bibliothèque statique et une bibliothèque partagée ?
Quiz 4.2Quel utilitaire vous permet de trouver les bibliothèques dont dépendent un binaire ?
Quiz 4.3Qu'estce que ld.so ?
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 161/308
4.5 Réponses quiz
Réponse quiz 4.1Les librairies statiques lient les librairies des fichiers en incluant le code au fichier binaire. Avec les librairies partagées, le code est chargé lorsque le programme est exécuté.
Réponse quiz 4.2[root@test ] /# ldd /bin/ls
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001e000)
libc.so.6 => /lib/i686/libc.so.6 (0x40022000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Réponse quiz 4.3ld.so est une librairie qui contrôle les dépendances d'un exécutable et charge les librairies partagées.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 162/308
5 Utiliser le gestionnaire de paquetages DebianDescription
Les candidats doivent pouvoir assurer les tâches de gestion des paquetages en utilisant l'outil dédié de Debian (Debian package manager).
Cet objectif implique la capacité d'utiliser la ligne de commande et les outils interactifs pour installer, mettre à jour, et désinstaller les paquetages et trouver les paquetages contenant des fichiers ou programmes spécifiques (tel ou tel paquetage doit ou ne doit pas être installé).
Cet objectif inclut enfin de pouvoir obtenir les informations sur le paquetage, telles que la version, le contenu, les dépendances, l'intégrité du paquetage et le statut de l'installation (le paquetage est installé ou non).
Dossiers principaux, termes et utilitaires inclus
unpack
configure
/etc/dpkg/dpkg.cfg
/var/lib/dpkg/*
/etc/apt/apt.conf
/etc/apt/sources.list
dpkg
dselect
dpkgreconfigure
aptget
alien
Poids: 8
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 163/308
5.1 Dpkg
dpkg est l'utilitaire Debian/Ubuntu qui permet de gérer les paquetages .deb. C'est un outil de bas niveau puisqu'il ne va pas automatiquement installer les dépendances, il ne fait qu'avertir l'administrateur des dépendances manquantes. Cet outil est utile pour effectuer une administration locale des paquetages (installation ou suppression de paquetages locaux) et pour obtenir des informations sur les paquetages installés.
Certains outils de plus haut niveau tels que aptget ou dselect utilisent dpkg pour gérer les dépendances.
dpkg [options] package
Options courantes:
i package.deb: installer un paquetage
r package : supprimer un paquetage
l: lister les paquetages installés
L package: lister le contenu d'un paquetage installé
c package.deb: lister le contenu d'un paquetage non installé
S file: affiche le paquetage qui fournit file
Le fichier de configuration de dpkg est /etc/dpkg/dpkg.cfg. Les informations relatives à dpkg sont stockées dans /var/lib/dpkg/.
Exemples :
Installer un paquetage :
user@ubuntu:~$ sudo dpkg -i package.deb
Supprimer un paquetage :
user@ubuntu:~$ sudo dpkg -r package
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 164/308
Lister les paquetages installés avec leurs états respectifs :
user@ubuntu:~$ dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-======================================-=======================================-=============================
ii acpi 0.09-1 displays information on ACPI devices
ii acpi-support 0.85 a collection of useful events for acpi
ii acpid 1.0.4 Utilities for using ACPI power management
ii acpitool 0.4.0-1 a small, convenient command-line ACPI client
ii adduser 3.80ubuntu2 Add and remove users and groups
...
Lister le contenu d'un paquetage :
user@ubuntu:~$ dpkg -L package
Lister le contenu d'un fichier .deb :
user@ubuntu:~$ dpkg -c package.deb
Quel paquetage fournit un fichier spécifique :
user@ubuntu:~$ dpkg -S /etc/bash.bashrc
bash: /etc/bash.bashrc
Pour reconfigurer un paquetage, utiliser dpkg-reconfigure :
user@ubuntu:~$ dpkg-reconfigure package
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 165/308
5.2 Utilisation de la chaine d'outils APT: aptget, aptcache, aptfile, aptcdrom
La chaine d'outils APT est utilisée pour installer / supprimer / mettre à jour et obtenir des informations sur les paquetages Debian.
Tout d'abord, il est nécessaire de configurer le fichier sources.list. Ce fichier est utilisé pour récupérer les listes de paquetages. Ile st aussi utilisé lorsque vous décidez d'utiliser la méthode d'accès apt de dselect. Ce fichier est stocké dans /etc/apt. Ce répertoire contient aussi le fichier de configuration APT principal : /etc/apt/apt-conf
Exemple d'un fichier sources.list :
deb http://au.archive.ubuntu.com/ubuntu/ dapper main restricted
deb-src http://au.archive.ubuntu.com/ubuntu/ dapper main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://au.archive.ubuntu.com/ubuntu/ dapper-updates main restricted
deb-src http://au.archive.ubuntu.com/ubuntu/ dapper-updates main restricted
Installation / suppression / mise à jour de paquetages
Pour mettre à jour les informations sur les paquetages :
user@ubuntu:~$ sudo apt-get update
Pour installer un paquetage :
user@ubuntu:~$ sudo apt-get install package
Pour automatiquement mettre à jour tous les paquetages installés :
user@ubuntu:~$ sudo apt-get upgrade
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 166/308
Pour automatiquement mettre à jour tous les paquetages installés et installer les nouvelles dépendances nécessaires à la mise à jour :
user@ubuntu:~$ sudo apt-get dist-upgrade
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 167/308
Afficher des informations sur les paquetages
Pour afficher des informations sur un paquetage, utiliser la commande apt-cache :
user@ubuntu:~$ apt-cache show package
Pour rechercher un paquetage :
user@ubuntu:~$ apt-cache search package
Pour afficher les dépendances d'un paquetage :
user@ubuntu:~$ apt-cache depends package
Pour afficher les dépendances inverses d'un paquetage (i.e. les paquetages qui dépendent de ce paquetage) :
user@ubuntu:~$ apt-cache rdepends package
Pour afficher de quelle source un paquetage provient :
user@ubuntu:~$ apt-cache policy package
Obtenir plus d'informations sur les paquetages
Vous devez installer aptfile :user@ubuntu:~$ sudo aptget install aptfile
Avant d'utiliser aptfile, vous devez mettre à jour sa base de données:user@ubuntu:~$ sudo aptfile update
Lister le contenu d'un paquetage non installé :user@ubuntu:~$ aptfile list package
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 168/308
Rechercher un paquetage parmis tous les paquetages, même ceux non installés :user@ubuntu:~$ aptfile search file
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 169/308
Ajouter une source CDROM à /etc/apt/sources.list
Pour ajouter une source CDROM aux sources de paquetages Ubuntu, utiliser aptcdrom :user@ubuntu:~$ sudo aptcdrom add
Unmounting CDROM
Waiting for disc...
Please insert a Disc in the drive and press enter
Installer des paquetages de systèmes nonDebian
Il est possible de convertir des tar.gz ou des RPM en paquetages Debian avec l'outil alien :user@ubuntu:~$ sudo aptget install alien
Exemples :
convertir un paquetage :user@ubuntu:~$ alien todeb package.rpm
Convertir un paquetage et l'installer :user@ubuntu:~$ alien i package.rpm
Attention : installer un paquetage d'une autre distribution peut altérer la stabilité de votre système et celle tous les outils de gestion des paquetages. Faites attention lorsque vous utilisez alien.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 170/308
5.3 Recompiler un .deb à partir de sources existantes
Les sources d'un .deb sont composées de deux ou trois fichiers séparés: un fichier .dsc, un fichier .orig.tar.gz et optionellement un fichier .diff.tar.gz. Pour vous faciliter la tâche, vous pouvez télécharger les fichiers pour votre version d'Ubuntu en une commande. Les fichiers seront téléchargés dans le répertoire courant et extraits, prêts à être compilés.
En guise d'exemple, nous allons recompiler le paquetage sudo :
user@ubuntu:~$ apt-get source sudo
Ceci téléchargera les fichiers suivants :
sudo_1.6.8p12-1ubuntu6.dsc
sudo_1.6.8p12.orig.tar.gz
sudo_1.6.8p12-1ubuntu6.diff.gz
et créera le répertoire sudo-1.6.8p12/
Pour effectivement compiler le paquetage, nous avons besoin des outils nécessaires à la compilation de n'importes quelles sources, ainsi que certains outils spécifiques à sudo. Ceuxci sont facilement installables avec les deux commandes suivantes :
user@ubuntu:~$ sudo apt-get install build-essential fakeroot
user@ubuntu:~$ sudo apt-get build-dep sudo
Pour l'installation de paquetages, nous avons besoin des privilèges root, mais la compilation peut être effectuée par n'importe quel utilisateur. Le paquetage fakeroot fait croire au processus de compilation qu'il possède les droits root, bien qu'il n'ait pas et ne nécessite pas ces droits. La compilation du paquetage est faite à l'intérieur du répertoire sudo-1.6.8p12/ et peut être lancée avec la commande :
user@ubuntu:~$ cd sudo-1.6.8p12/
user@ubuntu:~/sudo-1.6.8p12$ dpkg-buildpackage -rfakeroot
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 171/308
Le paquetage va être créé dans le répertoire parent de sudo-1.6.8p12/ (dans cet exemple, le répertoire personnel de l'utilisateur).
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 172/308
5.4 Utilisation de aptitude et dselect
Aptitude est une interface à apt en mode texte :
Aptitude peut effectuer des tâches d'administration comme par exemple l'installation, la mise à jour et la suppression de paquetages, ainsi que la résolution de dépendances ou l'affichage des changelogs.
Aptitude peut aussi être utilisé en ligne de commande, par exemple :
user@ubuntu:~$ sudo aptitude install gimp
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 173/308
Un autre utilitaire qui permet d'ajouter et de supprimer facilement des paquetages est dselect :
dselect est communément utilisé pour :
• Sélectionner la méthode d'accès à utiliser
• Mettre à jour la liste des paquetages à utiliser, si possible
• Déterminer quels sont les paquetages à installer
• Installer et mettre à jour les paquetages sélectionnés
• Configurer les paquetages
• Supprimer les logiciels non désirés
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 174/308
5.5 Quiz
Quiz 5.1Quelles sont les deux partitions qu'un système doit avoir au minimum?
Quiz 5.2Pourquoi estil mieux de placer le répertoire /var dans une partition indépendante ?
Quiz 5.3Pourquoi estce mieux de placer le répertoire /home dans une partition indépendante ?
Quiz 5.4Quelle est l'option qui permet d'interroger la base de données des RPM ?
Quiz 5.5Quelle est l'extension des fichiers sources RPM ?
Quiz 5.6Quel utilitaire peuton utiliser pour installer un paquetage sous Debian ?
Quiz 5.7Quel est le fichier de configuration utilisé par Debian pour rechercher les paquetages ?
Quiz 5.8Peuton installer un fichier RPM avec aptget ?
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 175/308
5.6 Réponses quiz
Réponse quiz 5.1Swap et /
Réponse quiz 5.2Pour optimiser les performances, /var peut être utilisé sur un disque rapide.
Réponse quiz 5.3Pour la sauvegarde et aussi pour la maintenance. Le disque peut facilement être enlevé ou changé sans affecter le système courant.
Réponse quiz 5.4[root@test ] /# rpm qa
Réponse quiz 5.5file.src.rpm
Réponse quiz 5.6dselect, apt, dpkg, synaptic
Réponse quiz 5.7/etc/apt/sources.list
Réponse quiz 5.8Non, il doit être converti d'abord avec le logiciel alien.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 176/308
5.7 Exercices
Exercice 5.1Installez un système avec Debian.
Exercice 5.2Essayez d'utiliser dselect pour supprimer l'utilitaire de tcpdump.
Exercice 5.3Réinstallez ensuite avec aptget les paquetages qui contiennent l'utilitaire tcpdump.
Exercice 5.4Changez la liste de dépôts de la distribution Debian.
Exercice 5.5Mettez à jour la liste des paquets Debian disponibles.
Exercice 5.6Désinstallez le paquetage de tcpdump avec les outils APT. Vous devez supprimer toutes les dépendances et tous les fichiers de configuration.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 177/308
5.8 Réponses
Réponse 5.1Installez la distribution Debian en suivant le programme d'installation.
Réponse 5.2Lancez l'utilitaire dselect et supprimez le paquetage tcpdump.
Réponse 5.3Pour installer tcpdump avec la commande aptget:
[root@test ] /# apt-get install tcpdump
Réponse 5.4Pour afficher la liste des sources, éditez le fichier /etc/apt/sources.list, et modifier le. Ou utiliser l'outil dselect.
Réponse 5.5Pour faire une mise à jour de la liste de paquetages, faire:
[root@test ] /# apt-get update
Réponse 5.6Pour supprimer tcpdump avec la commande apt, il faut taper:
[root@test ] /# apt-get remove tcpdump --purge
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 178/308
6 Utiliser le gestionnaire de paquetages de Red Hat (RPM)
Description
Les candidats doivent être en mesure d'effectuer la gestion des paquetages sous des distributions Linux utilisant RPMs pour la gestion des archives.
Cet objectif inclut d'être capable d'installer, reinstaller, mettre à jour, et retirer des paquetages, aussi bien que d'obtenir des informations sur le statut et la version des paquetages.
Cet objectif inclut aussi les informations de paquetage telles que version, statut, dépendances, intégrité et signatures. Les candidats doivent être en mesure de déterminer quels fichiers sont fournis par le paquetage, et de quel paquetage un fichier spécifique est issu.
Dossiers principaux, termes, et utilitaires inclus
/etc/rpmrc
/usr/lib/rpm/*
rpm
grep
Poids: 8
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 179/308
6.1 Gestion des paquetages RPM
Plusieurs distributions Linux utilisent rpm, le "Red Hat Package Manager" pour distribuer les logiciels ou les applications.
RPM est l'outil de packaging standard pour le projet LSB (Linux Standard Base).
RPM maintient une base de données détaillée de tous les logiciels installés dans le système.
Pour installer un paquetage RPM, il faut taper:
[root@test ] /# rpm -i [package].rpm
Le paquetage est installé seulement si toutes les dépendances sont couvertes et si il n'y a aucun conflit avec d'autres paquetages.
Pour mettre à jour un paquetage, il faut taper:
[root@test ] /# rpm -U [package].rpm
Le fichier de l'ancienne version du paquetage est supprimé et remplacé par le nouveau fichier.
Pour mettre à jour seulement un paquetage installé (rafraichir), il faut taper :
user@centos:~# rpm -F package.rpm
Pour supprimer un paquetage RPM, il faut taper:
[root@test ] /# rpm -e [package]
Le paquetage est supprimé uniquement si aucune dépendance n'est créée.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 180/308
6.2 Utilisation des RPM
L'option q vous permet de questionner la base de données locale RPM.
[root@test ] /# rpm -q -i apache
L'option i permet d'obtenir les informations sur le paquetage.
Plusieurs options sont à connaître:
l: Pour avoir la liste des fichiers du paquetage
[root@test ] /# rpm -q -l pciutils
/sbin/lspci
/sbin/setpci
/usr/share/doc/package/pciutils
/usr/share/pci.ids
f: Pour savoir à quel paquetage appartient un fichier
[root@test ] /# rpm -q -f /sbin/lspci
pciutils-2.1.9-58
s: Donne le fichier contenant les informations sur le statut.
d: Liste uniquement les fichiers de documentation.
a: Liste tous les paquetages installés.
c: Liste uniquement les fichiers de configuration.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 181/308
6.3 Installation des sources
Les fichiers sources RPM possèdent en général le format package.src.rpm et peuvent être installées de la même manière que les binaires.
Le répertoire où ils seront installés dans /usr/src/packages:
SOURCES: Contient les sources originales.
SPECS: Le fichier .spec contrôle le processus de construction (build process).
BUILD: Toutes les sources sont construites dans ce répertoire.
RPMS: Répertoire où les paquetages de binaires sont stockés.
SRPMS: Les sources.
Pour installer les sources d'un paquetage, faites:
[root@test ] /# rpm -i mypack.src.rpm
Les fichiers source seront stockées dans /usr/src/packages, répertoires spec et SOURCES.
Pour compiler les sources, faites:
[root@test ] /# rpm -ba /usr/src/packages/SPECS/mypack.spec
Le résultat de la compilation sera dans le répertoire BUILD.
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 182/308
6.4 Tableau de comparaison RPM / DPKG
DEB RPM Description
dpkg -i packagefile rpm -i packagefile installe un paquetage[not available]* rpm -U packagefile Met à jour un paquetagedpkg -r package rpm -e package Supprime un paquetagedpkg -l rpm -qa Liste tous les paquets
installésdpkg -L package rpm -ql package Liste tous les fichiers
appartenant à un paquetagedpkg -c package.deb rpm -qpl package.rpm Liste tous les fichiers
appartenant à un paquetage non installé
[not available] rpm -qc package Liste tous les fichiers de configuration appartenant à un paquetage
[not available] rpm -qd package Liste tous les fichiers de documentation appartenant à un paquetage
dpkg-buildpackage -rfakeroot
rpm -ba specfile Construit un paquetage
*You can simply use dpkg -i here
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 183/308
6.5 Exercices
Exercices 6.1Estce que le paquetage apache est installé sur votre système ?
Exercices 6.2Dans quels paquetages se trouvent les fichiers /bin/ls, /usr/sbin/tcpdump, et /sbin/ifconfig ?
Exercices 6.3Depuis le lecteur de disquettes, installez les utilitaires PCI et les paquetages de grub. Construisez les binaires et essayez de les exécuter.
Les binaires doivent être dans le répertoire suivant : /usr/src/packages/BUILD.
Exercices 6.4Avec l'aide de l'outil rpm, installez le paquetage de votre choix.
Exercices 6.5Listez tous les paquetages installés sur votre système.
Exercices 6.6Quelle est la commande à utiliser pour mettre à jour le paquetage apache ?
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 184/308
6.6 Réponses
Réponse 6.1Pour vérifier, tapez la commande:
[root@test ] /# rpm -q apache
Réponse 6.2La commande est:
[root@test ] /# rpm -qf /bin/ls
[root@test ] /# rpm -qf /usr/sbin/tcpdump
[root@test ] /# rpm -qf /sbin/ifconfig
Réponse 6.3Copiez sur votre disquette les sources des outils pci et grub et installezles.
Le nom du paquetage source est de la forme pkgname.src.rpm.
Réponse 6.4Installer le programme votre choix avec la commande rpm.
Réponse 6.5La commande à utiliser est:
[root@test ] /# rpm -qa
Réponse 6.6Pour mettre à jour un paquetage rpm, utilisez la commande:
[root@test ] /# rpm U pkgname
Installation Linux & gestion des paquetagesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 185/308
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersTable des matières
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiers.................................................................185
1 Créer des partitions et des systèmes de fichiers...186
1.1 Création de partitions.........................................1871.2 Les systèmes de fichiers supportés par Linux...1901.3 Création d'un système de fichiers......................1911.4 Création de systèmes de fichiers étendus.........1921.5 Arborescence des systèmes de fichiers............1931.6 Mémoire virtuelle................................................195
2 Maintenir l'intégrité des systèmes de fichiers ..1962.1 Contrôle de l'utilisation des disques..................1972.2 Contrôle des systèmes de fichiers.....................1992.3 Afficher les informations du système de fichiers étendu......................................................................2012.4 Déboguer un système de fichiers étendu..........2022.5 Personnaliser les systèmes de fichiers étendus......2032.6 Quiz ...................................................................2042.7 Réponses quiz ..................................................2052.8 Exercices ...........................................................2062.9 Réponses ..........................................................207
3 Contrôler le montage et le démontage d'un système de fichiers.............................................208
3.1 Monter un système de fichiers...........................2093.2 Démonter un système de fichiers......................2103.3 Informations sur les systèmes de fichiers..........2113.4 Quiz ...................................................................2123.5 Réponses quiz ..................................................2133.6 Exercices ...........................................................2143.7 Réponses ..........................................................215
4 Gérer les quotas disque..................................216
4.1 Gestion des quotas disques...............................2174.2 Mise en place des quotas utilisateurs................2184.3 Lister les quotas.................................................2204.4 Afficher un rapport de quota..............................2214.5 Quiz 4.................................................................2224.6 Réponses quiz 4................................................2234.7 Exercices 4.........................................................2244.8 Réponses ..........................................................225
5 Utiliser les permissions pour contrôler l'accès aux fichiers................................................................226
5.1 Sécurité des dossiers sous Unix........................2275.2 Permissions sur les fichiers...............................2285.3 Permissions par défaut......................................2295.4 Changer les permissions sur les fichiers...........2305.5 Modifier les attributs de fichiers.........................231
6 Gérer la propriété des fichiers ........................2336.1 Modifier le propriétaire ou le groupe d'un fichier......2346.2 Attribuer plus de privilèges.................................2356.3 Exercices ...........................................................2366.4 Réponses ..........................................................238
7 Créer et changer des liens symboliques ou physiques...........................................................242
7.1 Liens physiques et liens symboliques................2437.2 Lier un fichier......................................................2447.3 Quiz....................................................................2457.4 Réponses quiz ..................................................2467.5 Exercices............................................................2477.6 Réponses ..........................................................248
8 Trouver et placer les fichiers système.............2498.1 Lister des fichiers dans un sousrépertoire........2508.2 locate et slocate.................................................2528.3 whereis et which.................................................254
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 186/308
1 Créer des partitions et des systèmes de fichiers
Description
Les candidats doivent pouvoir configurer les partitions disques et créer des systèmes de fichiers sur des supports tels que les disques durs. Cet objectif inclut l'utilisation de la commande mkfs, l'installation de partitions pour des systèmes de fichiers variés, dont ext2, ext3, reiserfs, vfat, et xfs.
Dossiers principaux, termes et utilitaires inclus
fdisk
mkfs
mkswap
Poids: 3
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 187/308
1.1 Création de partitionsUn support peutêtre divisé en partitions. Chaque partition peut être utilisée comme un lecteur différent et autant de systèmes de fichiers différents peuvent être installés sur le même support.
Les partitions sont en général créées à l'installation mais peuvent aussi être créées par la suite avec le programme fdisk ou d'autres utilitaires.
1.2.1 Pourquoi créer différentes partitions ?
Pour créer différents systèmes de fichiers.
Pour simplifier les sauvegardes.
Pour la gestion des quotas, par partition.
Pour intégrer des options comme "readonly" ou autres.
Pour éviter de subir les limites physiques du boot manager
1.2.2 Lecteurs IDE
Sur les PC, le BIOS force les lecteurs IDE à suivre des règles par rapport à la numérotation des partitions. Un lecteur IDE est reconnu comme suit:
Primary Master /dev/hda Disque entier
/dev/hda1 Partition primaire
/dev/hda2 Partition secondaire
Primary Slave /dev/hdb
Secondary Master /dev/hdc
Secondary Slave /dev/hdd
Le nombre maximum de partitions primaires par disque dur est 4, ou 3 si une partition étendue existe.
Le nombre maximum de partition étendues par disque dur est 1, indépendante de la partition primaire. La partition étendue possède le premier numéro qui suit la dernière partition primaire.
Le nombre maximum de partitions logiques par disque dur est 11, avec des numéros de 5 à 15. La création de partitions logiques dépend de la présence d'une partition étendue.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 188/308
1.2.3 Lecteurs SCSI
Les lecteurs SCSI sont nommés comme suit:
ID1 /dev/sda Tout le disque sur le premier ID
/dev/sda1 Première partition
ID2 /dev/sdb Tout le disque sur le second ID
Les lecteurs SCSI, appelés scheme, représentent aussi les lecteurs de la branche IEEE1394 (Firewire) et USB.
Dès que le disque a été partitionné, il est possible de construire un système de fichiers sur chaque partition.
Création de partitions :
Utiliser fdisk pour créer des partitions sur un média.
fdisk [options] device
Options courantes:
l: Liste les partitions
Exemple :user@ubuntu:~$ fdisk /dev/hda
Pour lister les partitions :
– taper p
Pour créer une nouvelle partition :
– taper n pour créer une nouvelle partition
– Choisir si on désire une partition primaire (p) ou une partition logique (l)
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 189/308
– Choisir la taille
– écrire les changements avec w
– taper q pour quitter fdisk.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 190/308
1.2 Les systèmes de fichiers supportés par Linux
ext2: Ancien et très stable.
Fonctionne pour des fichiers dont la taille est supérieurs à ~23K.
ext3: Extension journalisée de ext2.
Journaliser un système de fichiers revient à ajouter une nouvelle structure de données appelée un journal.
Il est possible de passer d'un système ext2 à un système ext3, et inversement.
reiserfs: Système de fichiers journalisé.
La version 3 est 8 à 15 fois plus rapide que ext2 si vous manipulez des fichiers de petites tailles. La prochaine version, la quatrième, permettra cette performance sur des fichiers de plus grandes tailles.
XFS: Système de fichiers journalisé écrit par SGI pour son Irix Unix et porté ensuite sur Linux. Il a été pensé pour optimiser la manipulation des très gros fichiers, de plus de 9 ExaBytes (9'000'000'000 GigaBytes).
JFS: Un autre système de fichiers journalisé créé par IBM.
msdos: Le système de fichiers journalisé de MSWindows de type FAT.
fat32: Système de fichiers MSWindows FAT.
Des systèmes de fichiers spéciaux comme iso9660, pour les cdroms, ou cramfs pour les ramdisks compressés sont aussi supportés par Linux.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 191/308
1.3 Création d'un système de fichiers
Pour créer un système de fichiers sur une partition, il faut utiliser mkfs.
mkfs [options] t [fstype] lecteur [blocksize]
Principales options:
t fstype: Type de système de fichiers.
c: Contrôle des bad blocks du lecteur avant la construction d'un système de fichiers.
La totalité de la partition sera effacée et formatée pour le type de système de fichiers choisi. Il n'est pas possible de revenir ensuite en arrière.
Les types possibles pour le paramètre fstype sont: msdos, ext2, ext3, reiserfs, minix, xfs, iso9660, ...
Le paramètre blocksize permet de paramétrer la taille des blocs (clusters) pour votre système de fichiers.
Exemples:
[root@test ] /# mkfs -t msdos /dev/fd0
[root@test ] /# mkfs -t reiserfs /dev/hdd1 4096
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 192/308
1.4 Création de systèmes de fichiers étendus
Pour créer un système de fichiers étendu (ext2, ext3) sur une partition, il faut utiliser mke2fs.
mke2fs [options] device [blocksize]
Principales options:
b: Spécifie le block sizefstype: Type de système de fichiers.
c: Contrôle si le lecteur contient des blocs défectueux avant de construire le système de fichiers.
j: Crée le système de fichiers avec un journal ext3.
L: Donne un label au système de fichiers.
Avec mke2fs, il est possible de placer le journal sur un autre lecteur.
Exemples:
[root@test ] /# mke2fs -b 2048 /dev/fd0 -L floppy
[root@test ] /# mke2fs -V
mke2fs 1.26 (3-Feb-2002) Using EXT2FS Library version 1.26
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 193/308
1.5 Arborescence des systèmes de fichiers
Un système de fichiers Linux est composé d'un répertoire origine appelé racine (/), à partir duquel partent tous les sousrépertoires du système.
Le sousrépertoire peut être une autre partition, un répertoire distant, ou une partition distante accessible à travers le réseau avec le protocole NFS.
La hiérarchie standard des systèmes de fichiers Linux
L'organisation de l'arborescence d'un système de fichiers est, pour la plupart des distributions Linux, basée sur le document présentant le Filesystem Hierarchy Standard (FHS). FHS définit les usages spécifiques sur l'arborescence des répertoires.
Les répertoires, ou les liens symboliques vers des répertoires sont dans /.
Répertoire Description
bin Principales commandes binaires
boot Fichier du chargeur de démarrage
dev Fichiers des périphériques
etc Configuration spécifique de la machine
lib Libraires partagées et modules du noyau
media Points de montage des supports amovibles
mnt Points de montage pour monter les systèmes de fichiers temporaires
opt Répertoire d'installation de certaines applications optionnelles
proc système de fichiers virtuel contenant les informations sur le noyau et les processus
sbin Binaires essentielles du système
srv Données concernant les services fournis par le système
tmp Fichiers temporaires
usr Hiérarchie secondaire
var Données variables
Liste des répertoires obligatoires dans la même partition que / : /bin
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 194/308
/sbin /dev /etc /lib
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 195/308
1.6 Mémoire virtuelleUne partition de swap est une extension de la RAM. Elle est utilisée lorsque le système ne dispose plus d'assez de mémoire. Habituellement, la taille de la partition de swap est égale à deux fois la taille de la mémoire installée, mais il est habituel de ne pas avoir une taille de swap supérieure à 2GB.
Pour créer une partition de swap, il faut créer une partition avec fdisk. Ensuite il faut créer un système de fichiers swapfs sur cette partition et l'activer comme partition de swap.
Pour créer une partition de swap, utiliser mkswap.
mkswap [options] device
Exemple :
user@ubuntu:~$ sudo mkswap /dev/hda2
Pour activer une partition de swap, utiliser swapon.
swapon [options] device
Les options courantes sont :
s: afficher les partitons de swap actives
Exemple :
user@ubuntu:~$ sudo swapon /dev/hda2
Pour désactiver une partition de swap, utiliser swapoff.
swapoff [options] device
Exemple :
user@ubuntu:~$ sudo swapoff /dev/hda2
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 196/308
2 Maintenir l'intégrité des systèmes de fichiers
Description
Les candidats doivent pouvoir vérifier l'intégrité des systèmes de fichiers, gérer l'espace libre et les inodes, et réparer des problèmes simples sur un système de fichiers.
Cet objectif requiert l'utilisation des commandes nécessaires pour maintenir un système de fichiers standard, ainsi que les données supplémentaires associées à la tenue d'un journal.
Dossiers principaux, termes et utilitaires inclus
du
df
fsck
e2fsck
mke2fs
debugfs
dumpe2fs
tune2fs
Poids: 3
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 197/308
2.1 Contrôle de l'utilisation des disques
Pour visualiser l'utilisation d'un disque, il faut utiliser du.
du [options] [files...]
Principales options:
a: Tous les fichiers, pas uniquement les répertoires
b: Pour afficher la taille en octets
c: Total
h: Human readable format. (1K, 20M,...)
s: Afficher un résumé
Exemples:
[root@test ] /# du -ch Lynuxtraining112k LynuxTraining/Cours/LPI101 4.0k LynuxTraining/Cours/LPI102 4.0k LynuxTraining/Cours/LPI201 4.0k LynuxTraining/Cours/LPI202 124k total
[root@test ] /# du -sk ~ # Sums up your total disk usage in kilobytes
[root@test ] /# du -ak ~ | sort -n more
# Display every file and its disk space in numerically
# order.
Un système de fichiers est composé d'une structure de métadonnées et d'une liste de blocs.
Pour visualiser l'utilisation de l'espace disque d'un système de fichiers, il faut utiliser df.
df [options] [files...]
Principales options:
a: Tous les système de fichiers avec 0 blocs.
t: Limite l'affichage des données à un type de système de fichiers particulier.
h: Human readable format. (1K, 20M,...).
l: Local
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 198/308
Exemples:
[root@test ] /# df -t reiserfs -h
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda3 28771528 3121536 25649992 11% /
[root@test ] /# df -t ext2 -h
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 15M 3.8M 10M 27% /boot
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 199/308
2.2 Contrôle des systèmes de fichiers
Pour contrôler les caractéristiques d'un système de fichiers, il faut utiliser fsck.
fsck [options] t [fstype] device [fsckoptions]
Principales options:
A: Utilise le fichier /etc/fstab et essaie de contrôler tous les systèmes de fichiers. En général utilisé au boot par un script.
t fslist: Spécifie le type de système de fichiers à contrôler. Avec l'option A, seuls les systèmes de fichiers qui correspondent à la liste dans fslist sont contrôlés.
C: affiche la barre de progression.
Principales options:
a: Réparation automatique.
r: Réparation interactive.
Exemples:
[root@test ] /# fsck -t msdos /dev/fd0 -a
[root@test ] /# fsck -t reiserfs /dev/hda2 -r
Contrôle des systèmes de fichiers étendus :
Pour contrôler les systèmes de fichiers étendus, il faut utiliser e2fsck.
e2fsck [options] device
Principales options:
b: Utilise un autre superblock.
c: Cette option permet de faire fonctionner les programmes badblocks pour marquer tous les blocks corrompus.
f: Force le contrôle même si le système de fichiers semble intact.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 200/308
a ou p: Répare automatiquement.
y: mode noninteractif.
Exemples:
[root@test ] /# e2fsck -ay /dev/fd0
[root@test ] /# e2fsck -f /dev/hda2
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 201/308
2.3 Afficher les informations du système de fichiers étendu
Pour afficher le superblock et les informations des blocks group d'un système de fichiers étendu, il faut utiliser dumpe2fs.
dumpe2fs [options] device
Principales options :
b: pour trouver les blocs corrompus du système de fichiers.
h: Pour afficher seulement les informations sur le superblock.
Exemple:
[root@test ] /# dumpe2fs -h /dev/fd0
dumpe2fs 1.26 (3-Feb-2002)
Filesystem volume name: floppy
Last mounted on: <not available>
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 184
Block count: 1440
Reserved block count: 72
Free blocks: 1258
Free inodes: 168
First block: 1
Block size: 1024
First inode: 11
Inode size: 128
...
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 202/308
2.4 Déboguer un système de fichiers étendu
Le programme debugfs est un débogueur interactif de systèmes de fichiers. Il peut être utilisé pour examiner et changer l'état d'un système de fichiers ext2.
debugfs device
Principales commandes:
• Help: Fourni des informations sur toutes les commandes valables.
• Stats: Fourni les statistiques sur le système de fichiers.
• Stat file: Donne les statistiques sur le fichier file du système de fichiers.
• logdump: Écrit le journal du système de fichiers dans un fichier.
Exemple:
user@ubuntu:~$ sudo debugfs /dev/hda
> stat haut.gif
Inode: 14
Type: regular
Mode: 0644
Flags: 0x0
Generation: 67558
User: 0
Group: 0
Size: 3786
File ACL: 0
Directory ACL: 0
Links: 1 Blockcount: 8 Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x3ddf3840 -- Sat Nov 23 09:11:44 2002
atime: 0x3ddf3840 -- Sat Nov 23 09:11:44 2002
mtime: 0x3ddf3840 -- Sat Nov 23 09:11:44 2002
BLOCKS: (0-3):55-58
TOTAL: 4
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 203/308
2.5 Personnaliser les systèmes de fichiers étendusPour modifier un système de fichiers étendu, il faut utiliser tune2fs.
tune2fs [options] device
Principales options:
i#: Donne un intervalle entre les contrôles successifs d'un système de fichiers [d|m|w].
l: Liste le contenu du superblock d'un système de fichiers.
L: Donne un label au volume d'un système de fichiers.
C#: Définit le nombre de fois qu'un système de fichiers a été monté.
Exemples:
user@ubuntu:~$ sudo tune2fs -L boot /dev/hda1
user@ubuntu:~$ sudo tune2fs -l /dev/hda1
tune2fs 1.26 (3-Feb-2002)
Filesystem volume name: floppy
Block count: 1440
Reserved block count: 72
Free blocks: 1258
Free inodes: 168
First block: 1
Block size: 1024
First inode: 11
Inode size: 128
...
Convertir un système de fichiers ext2 en ext3 :
user@ubuntu:~$ sudo tune2fs -j /dev/hda1
Convertir un système de fichiers ext3 en ext2 :
user@ubuntu:~$ sudo tune2fs -O^has_journal /dev/hda1
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 204/308
2.6 Quiz
Quiz 2.1Quel est le nombre maximum de partitions étendues?
Quiz 2.2Quel est le nom de fichier d'un disque SCSI complet?
Quiz 2.3Quelle est la différence entre ext2 et ext3?
Quiz 2.4Existetil un standard de hiérarchie de systèmes de fichiers sous Linux?
Quiz 2.5Quelle commande permet de construire un système de fichier sur une partition?
Quiz 2.6Pourraton retrouver les anciennes données dans un nouveau système de fichiers msdos?
Quiz 2.7Quelle commande doiton utiliser pour connaître l'utilisation du disque?
Quiz 2.8Quelle commande permet de contrôler un système de fichiers?
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 205/308
2.7 Réponses quiz
Réponse quiz 2.11
Réponse quiz 2.2/dev/sda
Réponse quiz 2.3ext3 a des capacités de journalisation.
Réponse quiz 2.4Oui, c'est le projet FHS.
Réponse quiz 2.5mkfs
Réponse quiz 2.6Non, la partition sera complètement écrasée.
Réponse quiz 2.7du
Réponse quiz 2.8fsck
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 206/308
2.8 Exercices
Exercice 2.1Construisez, sur une disquette, un système de fichiers au format ext2 avec une taille de blocks de 2048 octets.
Exercice 2.2Remplacer le label de la disquette par BACKUP.
Exercice 2.3Essayer d'ajouter un journal sur la disquette.
Exercice 2.4Utilisez la commande debugfs pour valider les informations sur le système de fichiers de la disquette et trouvez la date à laquelle il a été accédé pour la dernière fois.
Exercice 2.5Utilisez l'outil cfdisk pour partitionner le disque dur. Créez une partition swap et une partition system. Configurez la partition system pour qu'elle soit bootable et allez sur la partition swap.
Ecrivez les nouveaux paramètres et quittez cfdisk. Formatez la partition système du système de fichiers ext3 (ext2 + journaling) et changez le label de la partition.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 207/308
2.9 Réponses
Réponse 2.1Commande à taper:
[root@test ] /# mke2fs -b 2048 /dev/fd0
Réponse 2.2Commande à taper:
[root@test ] /# tune2fs -L BACKUP /dev/fd0
Réponse 2.3Commande à taper:
[root@test ] /# tune2fs -j /dev/fd0
ne marche pas car la taille des blocks est trop grande
Réponse 2.4Commande à taper:
[root@test ] /# debugfs /dev/fd0
[root@test ] /# stats
Réponse 2.5Utilisez l'utilitaire cfdisk.
Pour consulter l'aide de cfdisk, choisir l'onglet d'aide.
Puis suivre les instructions.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 208/308
3 Contrôler le montage et le démontage d'un système de fichiers
Description
Les candidats doivent pouvoir configurer le montage d'un système de fichiers. Cet objectif inclut la capacité à monter et démonter des systèmes de fichiers manuellement, à configurer le montage automatique au démarrage et à configurer les systèmes de fichiers amovibles tels que les lecteurs de bandes, de disquette et de CD.
Dossiers principaux, termes et utilitaires inclus
/etc/fstab
mount
umount
Poids: 3
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 209/308
3.1 Monter un système de fichiers
La commande mount est utilisée pour attacher le système de fichiers d'un lecteur sur l'arborescence du système de fichiers.
mount [options]
mount [options] [t vfstype] [o options] device dir
Si le lecteur ou le répertoire est listé dans /etc/fstab, vous pouvez utiliser la commande suivante:
mount [options] [o options [,...]] device | dir
Normalement seul root possède les privilèges pour monter des lecteurs, sauf si il y a une spécification contraire dans le fichier /etc/fstab.
Exemples:
[root@test ] /# mount # Print all the mounted système de fichiers. (etc/mtab)
[root@test ] /# mount -a # Mount devices or dirs listed in /etc/fstab
[root@test ] /# mount -n -o ro /dev/hdc /mnt # Mount all /dev/hdc partition in read only mode without updating /etc/mtab
[root@test ] /# mount /media/cdrom
[root@test ] /# mount /dev/cdrom # Allow a user to mount the CDROM if the following line is in /etc/fstab:
/dev/cdrom /media/cdrom iso9660 ro,user,noauto,unhide
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 210/308
3.2 Démonter un système de fichiers
Pour détacher un système fichiers de l'arborescence, il faut utiliser umount.
umount [options]
umount [options] [o options [,...]] device | dir
Un système de fichiers en cours d'utilisation ne peut pas être démonté:
• Fichiers ouverts.
• Le répertoire courant d'un processus.
Exemples:
[root@test ] /# umount -a # Unmount devices or dirs listed in /etc/fstab
[root@test ] /# umount /mnt # Unmount the filesystem attached to /mnt
[root@test ] /# umount /media/cdrom # Allow a user to unmount the CDROM if the following line is in /etc/fstab:
/dev/cdrom /media/cdrom iso9660 ro,user,noauto,unhide
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 211/308
3.3 Informations sur les systèmes de fichiers
Le fichier /etc/fstab contient tous les fichiers systèmes et les informations relatives qui seront utilisées pour monter un lecteur au démarrage du système: mount a.
Le fichier /etc/mtab est maintenu par le noyau et possède les données sur les lecteurs qui sont montés ou non.
Un fichier /etc/fstab classique se présente de la manière suivante:
[root@test ] /#device_dir destination fs options 1 2
/dev/hda3 / reiserfs defaults 1 2
/dev/hda1 /boot ext2 defaults 1 2
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
usbdevfs /proc/bus/usb usbdevfs noauto 0 0
/dev/hda2 swap swap pri=42 0 0
Principales options:
ro: Lecture seule.
noauto: Ne monte pas automatiquement au démarrage.
exec: Autorise l'exécution des binaires sur le système de fichiers.
suid: Autorise l'usage du setuid sur les fichiers.
user: Permet à un utilisateur de monter ou démonter le lecteur.
unhide: Rend visibles les fichiers cachés.
async: Toutes les opérations seront faites de manière asynchrone.
default: rw, suid, dev, exec, auto, nouser, et async.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 212/308
3.4 Quiz
Quiz 3.1Quel fichier utilise la commande mount –a pour monter un système de fichiers?
Quiz 3.2Que signifie le mot noauto dans le fichier /etc/fstab ?
Quiz 3.3Que signifie le mot sync dans le fichier /etc/fstab ?
Quiz 3.4Que signifie le mot o ro dans le fichier /etc/fstab ?
Quiz 3.5Peuton démonter un répertoire courant d'un processus ?
Quiz 3.6Quelle commande permet de lister tous les répertoires montés ?
Quiz 3.7Au démarrage, avant de monter un système de fichiers listé dans /etc/fstab, que fait un système ?
Quiz 3.8Doiton monter un lecteur de disquettes pour accéder à un système de fichiers de type msdos sur une disquette ?
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 213/308
3.5 Réponses quiz
Réponse quiz 3.1/etc/fstab
Réponse quiz 3.2Ne permet pas de monter automatiquement le lecteur.
Réponse quiz 3.3Cela permet de synchroniser les données directement sur le lecteur pour chaque opération.
Réponse quiz 3.4Pour monter le lecteur en mode lecture seule.
Réponse quiz 3.5Non, car il est occupé.
Réponse quiz 3.6mount
Réponse quiz 3.7Il vérifie que le système de fichiers n'est pas corrompu.
Réponse quiz 3.8Oui
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 214/308
3.6 Exercices
Exercice 3.1Créez une ligne dans /etc/fstab qui autorise l'accès du lecteur de disquettes à tous les utilisateurs.
Vérifiez que vous pouvez utiliser ce lecteur et que vous pouvez créer un fichier avec touch.
Exercice 3.2Faites la manipulation suivante:
• Créez un système de fichiers ext2 sur le lecteur de disquettes.
• Montez le lecteur.
• Copiez tous les fichiers /etc/*.conf sur une disquette.
• Démontez le lecteur. Que se passetil ?
• Montezle de nouveau et vérifiez que tous les fichiers sont bien présents.
• Tapez la commande suivante:
[root@test ] /# tar cvf /dev/fd0 /etc/*.conf
• Essayez de le monter de nouveau. Que se passetil alors ?
• Utilisez tar pour visualiser le contenu de la disquette.
Exercice 3.3Le fichier /etc/fstab possède toutes les informations dont vous avez besoin pour monter un lecteur de disquettes. Quelle est la manière la plus simple de monter un lecteur de disquette ?
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 215/308
3.7 Réponses
Réponse 3.1La nouvelle ligne à ajouter dans le fichier fstab est:
/dev/fd0 /mnt/floppy auto noauto,Réponse 0 0
Réponse 3.2[root@test ] /# mke2fs /dev/fd0
[root@test ] /# mount /dev/fd0 /mnt/floppy
[root@test ] /# cp /etc/*.conf /mnt/floppy
Quand on démonte le lecteur de disquettes, les données sont synchronisées (synchronisation des manipulations).
La commande tar cvf /dev/fd0 /etc/*.conf permet de stocker une archive sur la disquette sans créer de système de fichiers.
La disquette ne peut être montée, mais il est possible de récupérer les informations qui se trouvent sur la disquette en « désarchivant » le contenu de celleci.
Pour visualiser le contenu de la disquette, il faut utiliser la commande:
[root@test ] /# tar tvf /dev/fd0
Réponse 3.3Pour monter un lecteur sans avoir besoin de tout spécifier, faire:
[root@test ] /# mount /dev/fd0 /mnt/floppy
La commande mount lit le fichier fstab et fait le lien avec le point de montage.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 216/308
4 Gérer les quotas disque
Description
Les candidats doivent être capables de gérer les quotas disque pour les utilisateurs.
Cet objectif inclut la mise en place d'un quota disque pour un système de fichiers afin d'éditer, de passer en revue et de générer des rapports sur les quotas utilisateurs.
Dossiers principaux, termes et utilitaires inclus
quota
edquota
repquota
quotaon
Poids: 3
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 217/308
4.1 Gestion des quotas disques
Installer le paquetage quota :
user@ubuntu:~$ sudo aptget install quota
Dans un système, root peut gérer l'utilisation de l'espace disque, par utilisateur et par système de fichiers.
Les deux limites qui peuvent être gérées sont:
• La limite souple (soft =): spécifie la quantité maximum d'espace disque qu'un utilisateur sous quota peut utiliser.
• La limite rigide (hard =): spécifie la limite absolue, sur le disque géré par des quotas, au delà de laquelle l'utilisateur ne peut pas aller.
On a aussi la possibilité de modifier la « période de grâce » durant laquelle la limite souple n'est pas appliquée.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 218/308
4.2 Mise en place des quotas utilisateurs
Les mots clé usrquota ou/et grpquota doivent être ajoutés dans le fichier /etc/fstab pour la partition en question.
/dev/fd0 /home/rarrigoni/mnt auto rw,noauto,user,usrquota 0 0
/dev/hda5 /home ext2 defaults,usrquota,grpquota 1 2
Ajouter ensuite dans chaque système de fichiers racine le fichier quota.user ou/et quota.group (quotas support v1) ou aquota.user ou/et aquota.group ( support v2).
[root@test ] /# touch /home/rarrigoni/mnt/aquota.user
[root@test ] /# touch /home/aquota.user
[root@test ] /# touch /home/aquota.group
[root@test ] /# chmod 600 /home/rarrigoni/mnt/aquota.user
[root@test ] /# chmod 600 /home/aquota.user
[root@test ] /# chmod 600 /home/aquota.group
Seul root peut administrer les quotas. Dès qu'un fichier vide est créé, des quotas disques peuvent être mis en place pour :
Une limite souple du nombre de fichiers et d'inodes.
Une limite rigide du nombre de fichiers et d'inodes si la période de grâce est renseignée.
Vérifiez la configuration suivante:
[root@test ] /# quotacheck -v /home/rarrigoni/mnt
quotacheck: Scanning /dev/fd0 [/home/rarrigoni/mnt] done quotacheck: Checked 6 directories and 1 files
Mettez en place les quotas disque:
[root@test ] /# quotaon -av /dev/fd0
[/home/rarrigoni/mnt]: user quotas turned on
Configurez les limites des quotas disque:
[root@test ] /# edquota -u rarrigoni
Disk quotas for user rarrigoni (uid 500): Filesystem locks soft hard inodes
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 219/308
soft hard /dev/fd0 15 0 0 4 0 0
[root@test ] /# edquota -g rarrigoni
[root@test ] /# edquota -t
Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/fd0 7days 7days
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 220/308
4.3 Lister les quotas
Pour lister les quotas par utilisateurs ou par groupes, il faut utiliser quota.
quota [options] [user|group]
Principales options:
u: Par défaut, affiche les quotas par utilisateurs.
g: Affiche les quotas par groupe, du groupe de l'utilisateur courant.
q: Affiche un message contenant les informations sur le système de fichiers, sur lequel les quotas sont activés.
Exemple:
[root@test ] /# quota -u rarrigoni
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 221/308
4.4 Afficher un rapport de quota
Pour afficher un rapport de quota, il faut utiliser repquota.
repquota [options] [user|group]
Principales options:
a: Rapport sur tous les systèmes de fichiers indiquées dans /etc/mtab en lectureécriture avec quotas.
g: Rapport pour le groupe.
Exemple:
[root@test ] /#repquota /dev/hda3
*** Report for user quotas on device /dev/hda3
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
-------------------------------------------------------------------------------------------------------------------------------
root 36 0 0 -- 4 0 0 --
tfox 540 0 0 -- 125 0 0 --
testuser 440400 500000 550000 -- 37418 0 0 --
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 222/308
4.5 Quiz 4
Quiz 4.1Dans quelle configuration de fichiers le mécanisme de quota doitil être spécifié ?
Quiz 4.2Quelle commande et quelle option permettent d'initialiser la base de données de quotas ?
Quiz 4.3Quelle commande devezvous utiliser pour mettre en place les quotas dans le système ?
Quiz 4.4Quelle commande, exécutée dans un cron permet de contrôler périodiquement les quotas des utilisateurs ?
Quiz 4.5Quelle commande vous permet d'éditer la période de grâce ?
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 223/308
4.6 Réponses quiz 4
Réponse 4.1/etc/fstab
Réponse 4.2[root@test ] /# quotacheck -acmugv
Réponse 4.3[root@test ] /# quotaon -av
Réponse 4.4[root@test ] /# /sbin/quotacheck -acmugv
Réponse 4.5[root@test ] /# edquota -t
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 224/308
4.7 Exercices 4
Exercice 4.1Mettez en place une limitation logicielle à 500M pour tous les utilisateurs qui ont leur répertoire home dans /home.
Exercice 4.2Mettez la période de grâce à 0.
Exercice 4.3Connectezvous comme utilisateur et vérifiez que la limitation est en place.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 225/308
4.8 Réponses
Réponse 4.1Dans un premier temps, mettre tous les utilisateurs concernés dans un même groupe. Puis tapez la commande:
[root@test ] /# edquota -g groupname
(donne la limitation logicielle pour le quota)
Réponse 4.2Utilisez la commande edquota t pour définir la période de grâce.
Réponse 4.3Utilisez la commande quota v pour visualiser les limitations de travail.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 226/308
5 Utiliser les permissions pour contrôler l'accès aux fichiers
Description
Les candidats doivent être capables de contrôler les accès aux fichiers en utilisant les permissions.
Cet objectif implique de connaître les permissions d'accès pour les fichiers réguliers ou spéciaux, ainsi que pour les répertoires. Il faut connaître les modes d'accès tels que suid, sgid le sticky bit, l'utilisation du champ groupe pour autoriser l'accès des groupes de travail à un fichier, le immutable flag et le mode de création de fichiers par défaut.
Dossiers principaux, termes et utilitaires inclus
chmod
umask
chattr
Poids: 5
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 227/308
5.1 Sécurité des dossiers sous UnixSur un système Linux, le modèle de sécurité est basé sur UNIX. Chaque fichier appartient à un utilisateur et à un groupe, seul le propriétaire du fichier peut changer les droits du fichier.
La sécurité d'un fichier ou d'un dossier est définie pour trois catégories d'utilisateurs :
– le propriétaire u
– le groupe g
– les autres (utilisateurs différents du propriétaire et n'appartenant pas au groupe)
Chaque catégorie peut avoir trois permissions :
– lecture r
– écriture w
– exécution x
Un utilisateur n'est pas autorisé à changer le propriétaire ou le groupe d'un fichier ou d'un dossier : seul root peut le faire (avec sudo par exemple).
Certaines permissions avec des fonctionnalités spéciales peuvent être ajoutées aux permissions des fichiers ou dossiers, telles que “sticky bit”, “suid bit” ou “sgid bit”.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 228/308
5.2 Permissions sur les fichiers
Les permissions attribuées aux fichiers ou aux répertoire peuvent être visualisées avec la commande ls l.
Extra access rights user group others
SUID (s )
SGID (s)
Sticky Bit(t)
r w x r w x r w x
4 2 1 4 2 1 4 2 1 4 2 1
Exemples de permission sur les fichiers:
[root@test ] /# ls -l readme
-rwxrw---- 1 toto users 14 Jul 5 10:00 readme
Cela signifie:
Permissions accordées à toto pour la lecture (r: read), l'écriture (w: write) et l'exécution (x) du fichier. Permissions accordées en lecture et écriture pour les membres du groupe. Aucune permission pour les autres utilisateurs. (0760)
Autre exemple:
[root@test ] /# ls -l /etc/hosts
-rw-r--r-- 1 root root 14 Jul 5 10:00 /etc/hosts
Cela signifie: Pour root, permissions en lecture et écriture. Pour les membres du groupe de root et pour tous les autres: permission en lecture. (0644)
Exemples de permissions sur les répertoires:
[root@test ] /# ls -ld /bin
drwxr-xr-x 2 root root 4096 Jul 5 10:00 /bin
Cela signifie: Permissions en lecture, écriture et exécution pour l'utilisateur root. Permissions en lecture et exécution pour les membres du group root et pour tous les autres. (0755)
Autre exemple:
[root@test ] /# ls -l /home/toto
drwxr-xr-x 10 toto users 4096 Jul 5 1:00 /home/toto
Cela signifie: Permissions en lecture, écriture et exécution pour l'utilisateur toto.
Permissions en lecture et exécution pour les membres du groupe utilisateur et les autres. (0755)
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 229/308
5.3 Permissions par défaut
Les permissions par défaut sont:
• 0666 pour la création d'un fichier
• 0777 pour la création d'un dossier
La plupart des systèmes attribuent ces permissions lors du démarrage grâce à la commande umask.
En général, la valeur du mask est 022. Cela signifie que l'accès en écriture pour le groupe et les autres utilisateurs est restreint.
Pour vérifier ou modifier la valeur mask, il faut faire :
[root@test ] /# umask
[root@test ] /# umask 066
Exemples:
Lors de la création de nouveaux fichiers:
• Les permissions par défaut sont: rw rw rw (0666)
• Le umask est: 0 2 2 (0022)
Le fichier aura donc les permissions suivantes: rw r r (0644)
Exemples:
Lors de la création d'un répertoire:
• Les permissions par défaut sont: rwx rwx rwx (0777)
• Le umask est: 0 2 2 (0022)
Le répertoire aura donc les permissions suivantes: rwx rx rx (0755)
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 230/308
5.4 Changer les permissions sur les fichiers
Pour modifier les permissions sur un fichier ou un répertoire, il faut utiliser chmod.
Pour remplacer les permissions, il faut taper:
[root@test ] /# chmod 0755 /tmp #rwx for user, rx for group and others
Pour modifier, ajouter ou supprimer des permissions sans remplacer toutes celles existantes, il faut faire:
[root@test ] /# chmod u+w readme # Add write permission for user
[root@test ] /# chmod +r readme # Add read permission for everybody
[root@test ] /# chmod -r readme # Remove read permission for everybody
[root@test ] /# chmod u+x,g=r readme # Add execution for user and set read for group
[root@test ] /# chmod u=rwx,go=rx readme # Set read write and execution for user, read and execution for group and others
Pour changer les permissions en mode récursif, il faut utiliser l'option R.
[root@test ] /# chmod -R +x /sbin/*
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 231/308
5.5 Modifier les attributs de fichiersPour modifier les attributs de fichiers, utiliser chattr.
chattr [options] [mode] files...
Les options courantes sont :
R: recursive mode
v: verbose mode
Les modes courants sont :
A: l'enregistrement atime n'est pas modifié
a: ouvrir seulement en mode append pour l'écriture
D: écrire les modifications de répertoire sur le disque de façon synchrone
d: ne pas sauvegarder lorsque le programme de dump est lancé
i: ce fichier ne peut pas être modifié
S: écrire les modifications de fichier sur le disque de façon synchrone
Utiliser lsattr pour lister les attributs.
Exemples :
Spécifier qu'un fichier ne doit pas être supprimé :user@ubuntu:~$ sudo chattr +i Desktop/
Ce fichier ne peut pas être effacé, lsattr affiche l'attribut i :user@ubuntu:~$ sudo rmdir Desktop
rmdir: Desktop/: Operation not permitted
user@ubuntu:~$ lsattr
./Examples
i ./Desktop
...
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 232/308
Pour enlever l'attribut i :user@ubuntu:~$ sudo chattr i Desktop/
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 233/308
6 Gérer la propriété des fichiers
Description
Les candidats doivent être en mesure de contrôler les droits des utilisateurs et des groupes sur les fichiers. Cet objectif inclut la capacité à modifier la propriété pour les utilisateurs et les groupes sur un fichier et de modifier le propriétaire par défaut du fichier nouvellement créé.
Dossiers principaux, termes et utilitaires inclus
chmod
chown
chgrp
Poids: 1
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 234/308
6.1 Modifier le propriétaire ou le groupe d'un fichier
Pour changer le propriétaire d'un fichier ou d'un répertoire, il faut utiliser chown.
[root@test ] /# chown raphael readme
Pour modifier le groupe d'un fichier ou d'un répertoire, il faut utiliser chgrp.
[root@test ] /# chgrp dialout caller
Les programmes gpasswd et yast2 vous permettent d'administrer les groupes.
gpasswd [A user] [M user] group
Principales options:
A: ajoute un utilisateur au groupe qui possède les privilèges administrateur.
M: Ajoute un membre au groupe.
Les membres du groupe administrateurs peuvent ajouter ou enlever un membre du groupe.
[root@test ] /# gpasswd -d toto users
[root@test ] /# gpasswd -a toto users
Les membres du groupe administrateurs peuvent modifier ou enlever le mot de passe pour le groupe.
[root@test ] /# gpasswd users
[root@test ] /# gpasswd -r users
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 235/308
6.2 Attribuer plus de privilèges
Il est possible d'attribuer plus de privilèges à un utilisateur lorsqu'il exécute un script particulier ou un programme avec les bits uid ou gid d'un fichier.
Si le bit est activé, le processus héritera des permissions du propriétaire du fichier et non de celles de l'utilisateur.
Pour mettre les uid ou gid, il faut utiliser chmod.
[root@test ] /# chmod 2640 [file] # (2) gid is inheritable for group.
[root@test ] /# chmod 4640 [file] # (4) uid is inheritable for user.
Exemple d'un tel programme est: /bin/passwd.
Sur un répertoire, mettre en marche le sticky bit restreint l'autorisation d'effacer ce répertoire ou ce fichier uniquement au propriétaire du répertoire et au propriétaire du fichier .
[root@test ] /# chmod 1640 /tmp # (1) The owners of /tmp and of a file
[root@test ] /# in /tmp are the only ones with rights to delete that file.
Le sticky bit peut aussi être utilisé pour charger le programme en RAM (ou dans la swap). Le programme reste à cet endroit jusqu'à l'arrêt du système. Il n'est plus utilisé depuis que la Mémoire Virtuelle fait exactement la même chose.
[root@test ] /# chmod 1640 [file] # (1) The program stays in memory.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 236/308
6.3 Exercices Exercice 6.1
Ecrire une ligne de commande en utilisant des caractères et la commande chmod pour attribuer les permissions suivantes:
rwxrwxrx :
rwxrr :
rr :
rwxrxrx :
rwrxrx :
rxxx :
wrx :
xrwx :
Exercice 6.2Ecrire une ligne de commande en utilisant des numéros octal et la commande chmod pour attribuer les permissions suivantes:
rwxrwxrwx :
xxx :
rwx :
w :
rwr :
rwxxx :
Exercice 6.3Par rapport aux valeurs umask suivantes, quelles seraient les permissions accordées à la création d'un fichier ou d'un répertoire ?
Umask = 0027
File permissions:
Directory permissions:
Umask = 0011
File permissions:
Directory permissions:
Umask = 0541
File permissions:
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 237/308
Directory permissions:
Umask = 0777
File permissions:
Directory permissions:
Exercice 6.4Créez deux comptes utilisateurs.
• Nom d'utilisateur: tst1, groupe users, avec bash shell, répertoire home /home/tst1
• Nom d'utilisateur: tst2, groupe public, avec bash shell, répertoire home /home/tst2
• Il faut définir un mot de passe pour les deux comptes.
• Connectezvous sous tst1 et copiez /bin/ls dans le répertoire home de tst1 avec comme nom de répertoire myls. Définissez tst1 comme le propriétaire de myls avec comme permissions 0710.
• Que signifie la valeur de cette permission ?
• Connectezvous sous tst2 et essayez d'utiliser /home/tst1/myls pour lister votre répertoire courant.
• Estce que cela fonctionne ?
• Créez dans /etc/group et /etc/gshadow un nouveau groupe appelé labo avec tst1 et tst2. Mettez labo comme groupe propriétaire de mysl.
• Essayez à nouveau depuis le compte tst2 d'exécuter /home/tst1/myls pour lister le contenu de votre répertoire courant.
• Estce que cela fonctionne ?
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 238/308
6.4 Réponses
Réponse 6.1chmod u=rwx,g=rwx,o=rx
chmod u=rwx,go=r
chmod ug=r
chmod u=rwx,go=rx
chmod u=rw,g=rx,o=rx
chmod u=rx,go=x
chmod u=w,g=r,o=x
chmod g=x,o=rwx
n'oubliez pas les ',' qui séparent les actions.
Réponse 6.2chmod 777
chmod 111
chmod 421
chmod 200
chmod 640
chmod 711
Réponse 6.3file= 110 110 110 (666)
dir= 111 111 111 (777)
umask= 000 010 111 (027) umask inversé
file 110 110 110
111 101 000
110 100 000 (640)
dir 111 111 111
111 101 000
111 101 000 (750)
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 239/308
umask= 000 001 001 (011)
file 110 110 110
111 110 110
110 110 110 (666)
dir 111 111 111
111 110 110
111 110 110 (766)
umask= 101 100 001 (541)
file 110 110 110
010 011 110
010 010 110 (226)
dir 111 111 111
010 011 110
010 011 110 (236)
umask= 111 111 111 (777)
file 110 110 110
000 000 000
000 000 000 (000)
dir 111 111 111
000 000 000
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 240/308
000 000 000 (000)
Réponse 6.4Création des utilisateurs:
[root@test ] /# useradd -m tst1
[root@test ] /# vi /etc/group (ajouter au groupe users l'utilisateur tst1)
useradd m tst2
[root@test ] /# vi /etc/group (ajouter au groupe public l'utilisateur tst2)
(Si le groupe public n'existe pas il faut le créer à l'aide de la commande groupadd public)
On peut aussi utiliser l'option ingroup de adduser pour ajouter le nouvel utilisateur à un groupe par défaut (voir man de adduser)
Création des mots de passe:
[root@test ] /# passwd tst1
[root@test ] /# passwd tst2
Se connecter sous tst1:
[root@test ] /# su - tst1
$ cp /bin/ls /home/tst1/myls
$ chown tst1 /home/tst1/myls
$ chmod 710 /home/tst1/myls
(ces permissions donnent tous les droits au propriétaire, les droits en exécution au groupe et aucun droit aux autres)
Se connecter sous tst2 et tester l'exécution du fichier myls:
Le groupe peut exécuter, et l'utilisateur tst1 a tous les droits sur le fichier. Les autres utilisateurs n'ont aucun droit.
Sur Mandriva, l'utilisateur tst2 peut utiliser myls sans problème de droit.
Création du groupe labo:
[root@test ] /# groupadd labo
[root@test ] /# vi /etc/group
Ajoutez nos deux utilisateurs dans le groupe labo:
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 241/308
[root@test ] /# chgrp labo myls
On ne peut pas l'exécuter car nous n'avons pas les droits sur les répertoires parents.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 242/308
7 Créer et changer des liens symboliques ou physiques
Description
Les candidats doivent être capables de créer et de gérer des liens symboliques ou physiques vers un fichier. Cet objectif inclut la capacité à créer et identifier des liens, à copier des fichiers en utilisant ces liens, et à se servir des liens dans les tâches d'administration système.
Dossiers principaux, termes et utilitaires inclus
ln
Poids: 1
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 243/308
7.1 Liens physiques et liens symboliques
On utilise des liens pour:
• Créer un nouveau chemin pour accéder à un fichier.
• Créer un alias plus court ou corrigé à un ficher.
Pour lier un fichier à un autre, il faut utiliser ln.
ln [options] filename linkname
ln [options] filename linkdirectory
Principales options:
f: force: Ecrase les liens existants
s: Lien symbolique.
Par défaut, les liens sont des liens physiques.
Dans Windows, ils sont appelés « raccourcis » (shortcut).
7.1.1 Propriétés des liens réels
Un lien physique peutêtre créé seulement vers un fichier existant. On ne pourra supprimer un fichier qu'après avoir supprimé tous ses liens physiques.
Le lien et sa cible doivent être sur le même lecteur. Les liens physiques ne peuvent pas s'étendre à travers un système de fichiers ou plusieurs partitions.
Le lien physique référence sa cible grâce à son nombre inode.
Même avec les bons droits, il est impossible de créer un lien vers un répertoire.
7.1.2 Propriété des liens symboliques
Un lien symbolique peutêtre créé vers un fichier qui n'existe pas encore et est identifié par la commande ls. Ainsi, il est possible de casser un lien symbolique en supprimant sa cible.
Le lien symbolique référence sa cible avec son nom et son chemin, et non pas avec son nombre inode.
Les liens symboliques peuvent être déployés sur plusieurs systèmes de fichiers ou lecteurs.
La taille d'un lien symbolique dépend de la taille du nom de la cible.
Attention: Il est possible de créer un symlink avec un chemin absolu ou relatif vers la cible.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 244/308
7.2 Lier un fichier
Les liens physiques et symboliques peuventêtre affichés avec la commande ls l.
Les liens symboliques sont marqués avec "l" dans la première position de la triplette des permissions.
Ils sont aussi indiqués avec des flèches: link_name>real_filename
Exemple:
[root@test ] /# ls -l /dev/midi
lrwxrwxrwx 1 root root 6 Jul 4 21:50 /dev/midi -> midi00
Les liens physiques sont indiqués avec le numéro de lien.
Exemple:
[root@test ] /# ls ~/readme
lrwxrwxrwx 3 rarrigoni users 677 Jul 4 21:50 readme
Pour supprimer un lien, il faut utiliser la commande rm.
Seul le lien sera supprimé (pas le fichier).
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 245/308
7.3 Quiz
Quiz 7.1Comment feriezvous pour lister les permissions des noms de fichiers ?
Quiz 7.2Quelle commande permet d'ajouter la permission d'exécution à un fichier sans connaître ses permissions initiales ?
Quiz 7.3Que fait chgrp ?
Quiz 7.4Quelle commande et son option permettent de créer un lien physique ?
Quiz 7.5Si vous supprimez un lien symbolique, le fichier de destination estil supprimé lui aussi ?
Quiz 7.6Estce que le sticky bit doit être configuré pour qu'un utilisateur puisse exécuter un programme ?
Quiz 7.7Estce que chown change les permissions w,r,x de l'utilisateur ?
Quiz 7.8Que signifie la permission d'exécution pour un fichier ?
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 246/308
7.4 Réponses quiz
Réponse quiz 7.1[root@test ] /# ls -l
Réponse quiz 7.2[root@test ] /# chmod +x file
Réponse quiz 7.3chgrp vous permet de changer le groupe pour un nom de fichier.
Réponse quiz 7.4la commande est ln sans option.
Réponse quiz 7.5Non.
Réponse quiz 7.6Non.
Réponse quiz 7.7Non, il change l'uid d'un nom de fichier.
Réponse quiz 7.8Cela signifie que vous pouvez chercher à travers les répertoires.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 247/308
7.5 Exercices
Exercice 7.1Effectuer ces opérations:
• Créez deux nouveaux répertoires etc et bin dans votre répertoire home.
• Copiez tous les fichiers de façon récursive de /etc à etc et de /bin à bin.
• Dans votre répertoire local etc, renommez tous les fichiers *.conf par *.conf.bak.
• Créez, dans votre répertoire home, un lien symbolique appelé mydir, qui pointe vers bin/ls. Vérifiez si mydir exécute ls.
• Effacez le lien mydir. Estce que bin/ls est toujours présent ?
• Même question que précédemment mais avec un lien physique.
• Effacez le lien mydir. Estce que bin/ls est toujours présent ?
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 248/308
7.6 Réponses
Réponse 7.1• La commande est:
[root@test ] /# cd /home/user/
[root@test ] /# mkdir etc bin
• La commande est:
[root@test ] /# cp -r /etc/* /home/user/etc/
[root@test ] /# cp -r /bin/* /home/user/bin
• La commande est:
[root@test ] /# rename .conf .conf.back *.conf
ou
[root@test ] /# for i in *.conf; do mv $i $i.back; done
• La commande est:
[root@test ] /# cd /home/user/
[root@test ] /# ln s /bin/ls mydir
• La commande est:[root@test ] /# rm mydir
• La commande est:
[root@test ] /# cd /home/user/
[root@test ] /# ln /bin/ls mydir
Testez et donnez votre conclusion.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 249/308
8 Trouver et placer les fichiers système
Description
Les candidats doivent être familiarisés avec la Hierarchie Standard du Système de Fichiers, la localisation typique des fichiers et les classifications de répertoires.
Cet objectif inclut la capacité à trouver les fichiers et les commandes sur un système Linux.
Dossiers principaux, termes et utilitaires inclus
find
locate
slocate
updatedb
whereis
which
/etc/updatedb.conf
Poids: 5
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 250/308
8.1 Lister des fichiers dans un sousrépertoire
Pour chercher un fichier dans un sousrépertoire, il faut utiliser find.
find [subtrees] [conditions] [actions]
La commande peut contenir plusieurs conditions et chercher récursivement dans les sousrépertoires.
Parmi les conditions, il peut y avoir:
name [FNG]: Recherche les noms de FNG.
type c: Type de fichier [bcdfl].
size [+]#: A une taille de + en blocks (c:octets,k:kilo)
user [name]: Propriété de l'utilisateur
atime [+]#: Date d'accession aux fichiers: +n appelle les fichiers qui n'ont pas été ouverts les n derniers jours, n appelle les fichiers qui ont été accédés les n derniers jours.
mtime [+]#: Date de modification des fichiers.
perm nnn: Possèdent la permission nnn.
inum N: Fichiers avec un nombre inode N.
Parmi les actions possibles à exécuter pour chaque fichier trouvé:
print: Donne le chemin d'accès.
exec cmd {} \; : Exécute cmd avec le nom du fichier en argument.
ok cmd {} \; : pareil que exec.
Quand le nom du fichier trouvé par find doit être utiliser en argument de la commande, on utilise l'expression “{}”. La fin de la commande est définie par la séquence suivante “\;”.
Ces séquences sont identiques pour écrire la commande xargs du prochain chapitre.
Besoin d'autres informations? Vous en trouverez dans la page de manuel de find.
[root@test ] /# man find
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 251/308
Exemples :
Essayez ces commandes et commentez les résultats:
[root@test ] /# find . -name '*.[ch]' -print
[root@test ] /# find /var /tmp . -size +20 -print
[root@test ] /# find ~ -type c -name '*sys*' -print
[root@test ] /# find /tmp/toto -type f -size +2c -exec rm -i {} \;
[root@test ] /# find / -atime -3 -print
[root@test ] /# find ~jo ~toto -user chloe -exec mv {} /tmp \;
La commande find est un outil très puissant. Ajoutez vos exemples:
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 252/308
8.2 locate et slocate
locate est un outil d'indexation et de recherche rapide parmis tous les fichiers du système. slocate est une version sécurisée de locate, et sur Ubuntu, c'est cette version qui est lancée par défaut, même si vous lancez locate.
Avant de lancer locate, vous devez créer les index avec updatedb :
user@ubuntu:~$ sudo updatedb
Le fichier de configuration d'updatedb est /etc/updatedb.conf :
# This file sets environment variables which are used by updatedb
# Global options for invocations of find(1)
FINDOPTIONS='-ignore_readdir_race'
export FINDOPTIONS
# filesystems which are pruned from updatedb database
PRUNEFS="NFS nfs nfs4 afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf"
export PRUNEFS
# paths which are pruned from updatedb database
PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /amd /alex /var/spool /sfs /media"
export PRUNEPATHS
# netpaths which are added
NETPATHS=""
export NETPATHS
# run find as this user
LOCALUSER="nobody"
export LOCALUSER
# cron.daily/find: run at this priority -- higher number means lower priority
# (this is relative to the default which cron sets, which is usually +5)
NICE=10
export NICE
Vous pouvez ensuite utiliser locate pour rechercher des fichiers :
user@ubuntu:~$ locate updatedb
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 253/308
/etc/updatedb.conf
/usr/bin/updatedb
/usr/bin/updatedb.notslocate
/usr/share/man/man1/updatedb.1.gz
/usr/share/man/man1/updatedb.notslocate.1.gz
user@ubuntu:~$
locate et slocate sont beaucoup plus rapides que find mais vous devez avoir un index à jour pour les utiliser.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 254/308
8.3 whereis et which
Pour trouver l'emplacement d'un binaire, de la source d'un fichier ou des pages de manuel, il faut utiliser whereis.
whereis [options]
Quelques options:
b: Recherche uniquement les binaires.
m: Recherche uniquement les manuels.
s: Recherche uniquement les sources.
Exemples:
[root@test ] /# whereis host
host: /usr/bin/host /etc/host.conf /usr/share/man/man1/host.1.gz_
[root@test ] /# whereis -m host
host: /usr/share/man/man1/host.1.gz
Pour trouver un fichier situé à un endroit défini par une variable PATH, il faut utiliser which.
[root@test ] /# which -a ls
/bin/ls
L'option a permet de chercher toutes les possibilités du PATH, pas uniquement la première.
Périphériques, Systèmes de fichiers Linux, Standard de hiérarchie pour le système de fichiersversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 255/308
Le système X WindowContenu du chapitre
Le système X Window.........................................2551 Installer et configurer X11................................256
1.1 XFree86 and Xorg..............................................2571.2 X Configuration..................................................2581.3 Installation d'un serveur de polices....................2611.4 Installation de polices.........................................262
2 Configurer un gestionnaire d'affichage............2632.1 Gestionnaires d'affichage..................................264
2.2 XDM : X Display Manager..................................2652.3 GDM : GNOME Display Manager......................2662.4 KDM : KDE Display Manager.............................267
3 Installer & paramétrer un gestionnaire de fenêtres...........................................................................268
3.1 Paramétrer un gestionnaire de fenêtres............2693.2 Utiliser un terminal X..........................................2713.3 Exporter l'affichage............................................275
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 256/308
1 Installer et configurer X11
Description
Les candidats doivent être en mesure d'installer et de configurer un serveur X et les polices. Il faut vérifier que le serveur X supporte et est configuré pour la carte vidéo et le moniteur.
De plus, cela inclut de pouvoir installer un serveur de police X et de configurer X pour utiliser un serveur de police ce qui requiert d'éditer manuellement le fichier de configuration de X Window.
Dossiers principaux, termes et utilitaires inclus
xorgcfgxorgconfig/etc/X11/xorg.conf XF86Setupxf86configxvidtune /etc/X11/XF86Config.Xresources
Poids: 5
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 257/308
1.1 XFree86 and Xorg
Xfree a connu ses débuts grâce a un étudiant développeur Allemand ( Thomas Roell ) qui porte le Xwindow en version X11R4 pour PC. A ce moment le projet se nomme X386 et attire l'attention du X Consortium pour devenir une référence pour PC. Moins d'un an après, Thomas Roell abandonne le projet et en 1991 le projet est repris par quatre développeurs (David Wexelblat, Glenn Lai, David Dawes et Jim Tsillas) qui rebaptisent le projet Xfree. Ce groupe de développeurs nommé coreteam décide de l'évolution et des intervenants extérieurs pour le projet.
Certains développeurs comme Keith Packard pensent que le coreteam est un frein au développement du projet Xfree. Keith décide de lancer un nouveau projet en partant de l'ancien avec une nouvelle équipe de développement.
L'équipe de développement de Xfree vote l'auto dissolution le 30 décembre 2003 car le projet n'est plus compatible avec la licence GPL. Le Projet Xorg est devenu part entière et il évolue très vite. Il équipe aujourd'hui un grand nombre de distributions
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 258/308
1.2 X Configuration
Lorsque vous installez un serveur X (ceic est généralement fait par votre distribution), il n'est normalement pas nécessaire de le configurer puisque cela est pris en charge par l'installateur
La configuration X réside dans le répertoire /etc/X11/
L'ancien fichier de configuration Xfree86 est /etc/X11/XF86Config ou /etc/X11/XF86Config4, et le fichier de configuration de X.org est /etc/X11/xorg.conf. La syntaxe des deux fichiers est pratiquement identique
Xfree et X.org contiennent des outils permettant de configurer automatiquement l'environnement graphique :
Xfree Xorg Comment
XF86Config(-4) xorg.conf Fichier de configuration du serveur, dans /etc/X11/
xf86config xorgconfig
(pas dans Ubuntu)
Utilitaireen mode texte pour générer un fichier de configuration X
XF86Setup Programme équivalent à xf86config mais en mode graphique
xf86cfg xorgcfg
(pas dans Ubuntu)
Outil de configuration graphique pour X (identique à XF86Setup
mais avec une interface différente)
Pour relancer la configuration del'environnement graphique sur Debian ou Ubuntu, il faut reconfigurer le paquetage xserverxorg :
user@ubuntu:~$ sudo dpkg-reconfigure xorg
Vous serez invité à répondre à beaucoup de questions concernant votre matériel (écran, clavier, souris, carte graphique...).
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 259/308
Il est aussi possible d'utiliser l'utilitaire xvidtune pour configurer les modes vidéo.
Exemple d'une section du fichier de configuration /etc/X11/xorg.conf :
Section de description du clavier :
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection
Cette section définit un clavier standard pour PC de 105 touches avec une disposition des touches « us »
Section de description de la souris :
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Cette section définit une souris USB (le device /dev/input/mice) avec une émulation 3 boutons.
Section de description de la carte graphique :
Section "Device"
Identifier "ATI Radeon 9200"
Driver "ati"
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 260/308
BusID "PCI:0:15:0"
EndSection
Cette section définit une carte graphique sur le bus PCI 0:15:0 et gérée par le pilote ATI.
Section de description du moniteur :
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 28-51
VertRefresh 43-60
EndSection
Cette section définit un moniteur standard.
Section de description d'une configuration Ecran :
Section "Screen"
Identifier "Default Screen"
Device "ATI Radeon 9200"
Monitor "Generic Monitor"
DefaultDepth 24
...
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Cette section définit une résolution de 1024x768 avec une profondeur de 24 bits pour le moniteur “Generic Monitor” utilisant la carte graphique “ATI Radeon 9200”.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 261/308
1.3 Installation d'un serveur de policesUn serveur de polices fournit des polices prérendues au serveur X. Normalement, un serveur de polices écoute sur le port TCP/7100.
La ligne suivante définit un serveur de polices dans le fichier de configuration X :
Section "Files"
FontPath "unix/:7100" # local font server
...
EndSection
Pour installer un serveur de polices, installer le paquetage et modifier le fichier de configuration X pour pouvoir l'utiliser.
Les serveurs de polices les plus utilisés sont xfs (X Font Server) et xfstt (X Font Server for TrueType fonts).
La façon standard d'utiliser des polices dans X est d'utiliser des répertoires locaux :
Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 262/308
1.4 Installation de polices
Installation de polices pour un utilisateur
Créer un répertoire .fonts dans le répertoire personnel de l'utilisateur et y copier les polices :
user@ubuntu:~$ mkdir ~/.fonts
user@ubuntu:~$ cp fontfile ~/.fonts
Le paquetage fontconfig fournit l'utilitaire fc-cache qui permet de mettre à jour la base des polices :
user@ubuntu:~$ fc-cache -f -v ~/.fonts
Installation de polices pour le système
Créer un répertoire et y copier les polices :
user@ubuntu:~$ mkdir /usr/share/fonts/truetype/myfonts
user@ubuntu:~$ cp fontfile /usr/share/fonts/truetype/myfonts
Le paquetage fontconfig fournit l'utilitaire fc-cache qui permet de mettre à jour la base des polices :
user@ubuntu:~$ fc-cache -f -v
Installation de polices Microsoft
Activer la source de paquetages multiverse et installer le paquetage msttcorefonts :
user@ubuntu:~$ sudo apt-get install msttcorefonts
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 263/308
2 Configurer un gestionnaire d'affichageDescription
Les candidats doivent être capables d'installer et de paramétrer un gestionnaire d'affichage. Cet objectif couvre les gestionnaires d'affichage XDM (X Display Manger), GDM (Gnome Display Manager) et KDM (KDE Display Manager).
Objectifs
Activer et désactiver le gestionnaire d'affichage.Changer le message d'accueil du gestionnaire d'affichage.Changer la profondeur de couleur du gestionnaire d'affichage.Configurer les gestionnaires d'affichage pour l'utilisation par des stations X.
Dossiers principaux, termes et utilitaires inclus
/etc/inittab
/etc/X11/xdm/*
/etc/X11/kdm/*
/etc/X11/gdm/*
Poids: 3
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 264/308
2.1 Gestionnaires d'affichage
Un gestionnaire d'affichage estun programme lancé juste après le démarrage du serveur X, et qui affiche un écran de login graphique.
Les gestionnaires d'affichage les plus courants sont :
– XDM : X Display Manager
– GDM : GNOME Display Manager
– KDM : KDE Display Manager
Pour sélectionner le gestionnaire d'affichage par défaut, installer un ou plusieurs gestionnaires d'affichage et reconfigurer l'un d'entre eux:
user@ubuntu:~$ sudo dpkg-reconfigure xdm
La liste de tous les gestionnaires d'affichage disponibles sera affichée et il sera possible de choisir le gestionnaire désiré.
Sur certains systèmes comme RedHat, le gestionnaire d'affichage n'est pas lancé comme un système, mais plutôt depuis le fichier /etc/inittab. Passer en runlevel 5 lance le programme prefdm (preferred display manager) qui lance à son tour le gestionnaire d'affichage voulu.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 265/308
2.2 XDM : X Display Manager
Pour reconfigurer XDM, modifier les fichiers se trouvant dans le répertoire /etc/X11/xdm/ et spécialement le fichier /etc/X11/xdm/xdm-config.
Exemple :
Pour modifier le message d'accueil de XDM, changer la ligne suivante dans le fichier /etc/X11/xdm/Xresources : xlogin*greeting: Debian GNU/Linux (CLIENTHOST)
Pour démarrer XDM, lancer le service xdm:
user@ubuntu:~$ sudo /etc/init.d/xdm start
Note : si un autre gestionnaire d'affichage est déjà lancé, il sera nécessaire de l'arrêter avant.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 266/308
2.3 GDM : GNOME Display Manager
Pour reconfigurer GDM, modifier les fichiers se trouvant dans le répertoire /etc/X11/gdm/ et spécialement le fichier /etc/X11/gdm/gdm.conf.
Exemple :
Pour modifier le message d'accueil de GDM, lancer gdmsetup :
user@ubuntu:~$ sudo gdmsetup
Pour lancer GDM, démarrer le service gdm :
user@ubuntu:~$ sudo /etc/init.d/gdm start
Note : si un autre gestionnaire d'affichage est déjà lancé, il sera nécessaire de l'arrêter avant.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 267/308
2.4 KDM : KDE Display Manager
Pour reconfigurer KDM, modifier les fichiers se trouvant dans le répertoire /etc/kde3/kdm/ et spécialement le fichier /etc/kde3/kdm/kdmrc.
Exemple :
Pour modifier le message d'accueil de KDM, lancer kdm_config :
user@ubuntu:~$ sudo kdm_config
Pour lancer KDM, démarrer le service kdm :
user@ubuntu:~$ sudo /etc/init.d/kdm start
Note : si un autre gestionnaire d'affichage est déjà lancé, il sera nécessaire de l'arrêter avant.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 268/308
3 Installer & paramétrer un gestionnaire de fenêtresDescription
Les candidats doivent être à même de paramétrer un environnnement de poste de travail et/ou un gestionnaire de fenêtre.
Objectifs
Démontrer que le candidat est capable d'utiliser les procédures de paramétrage des menus et panneaux du gestionnaire de fenêtres.sélectionner et configurer le terminal X désiré (xterm, rxvt, aterm, etc.).Vérifier et résoudre les problèmes de dépendances de librairies pour les applications X.Exporter l'affichage vers un poste de travail client.
Dossiers principaux, termes et utilitaires inclus
.xinitrc
.Xdefaults xhostvariable d'environnement DISPLAY
Poids: 5
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 269/308
3.1 Paramétrer un gestionnaire de fenêtres
xinitrc
Xinitrc définit les ressources totales (ajustement de l'économiseur d'écran, définition du clavier, etc.). xinit évalue soit /etc/X11/xinit/xinitrc, ou, s'il existe, ~/.xinitrc.
Fichier de configuration /etc/X11/xinit/xinitrc par défaut sur Ubuntu :
#!/bin/sh
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $
# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)
# invoke global X session script
. /etc/X11/Xsession
Ce script exécute le fichier Xsession qui est utilisé par les gestionnaires de fenêtres et aussi xinit.
Xdefaults
Le fichier Xdefaults est utilisé pour spécifier les valeurs par défaut des ressources utilisées par les programmes clients X. Il contient les ressources totales. Parfois, le fichier Xsession est utilisé pour les mêmes fins.
Exemple:
*background : Blue
Xman*background : Blue
XCalc*Foreground : Red
Xterm*Font: -misc-fixed-bold-r-normal-15-140-75-75-c-90-
iso8859-1
Xterm*Background: black
Xterm*Foreground: cyan
Xterm*scrollBar: true
Xterm*saveLines: 500
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 270/308
Le fichier Xdefault est chargé au démarrage de X. Pour prendre en compte des modifications, il est nécessaire de redémarrer le serveur X.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 271/308
3.2 Utiliser un terminal X
xterm
Le programme xterm est l'émulateur de terminal classique pour le système X Window. C'est l'un des terminaux X les plus vieux, et beaucoup d'autres terminaux X sont basés sur celui-ci.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 272/308
aterm
aterm signifie “AfterStep terminal emulator”. C'est un terminal X développé pour le gestionnaire de fenêtres AfterStep.
aterm est basé sur un autre émulateur de terminaux: rxvt. aterm supporte les couleurs et la pseudotransparence.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 273/308
gnometerminal
gnome-terminal est le terminal X par défaut de l'environnement GNOME. Il supporte les couleurs et possède une multitude de fonctionnalités comme les onglets ou la transparence réelle.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 274/308
konsole
konsole est l'émulateur de terminaux par défaut de l'environnement KDE. konsole possède une multitude de fonctionnalités, comme lers couleursm les onglets, l'impression et les favoris.
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 275/308
3.3 Exporter l'affichage
Exporter l'affichage est utile lorsqu'il est nécessaire de faire tourner un programme graphique dont l'interface doit s'afficher sur une autre machine. Cette fonctionnalité étant très peu sécuriséé, l'export d'affichage se fait de nos jours à travers la commande -X de ssh (SSH forwarding).
Exemple :
Si vous faites tourner xeye3 sur hostA et que vous voulez que l'interface s'affiche sur hostB :
Changer la variable d'environnement DISPLAY :
user@hostA:~$ export DISPLAY=hostB:0.0
Autoriser les autres ordinateurs à afficher sur hostB (dangereux) :
user@hostB:~$ xhost +
Lancer le programme sur hostA : l'interface graphique devrait s'afficher sur hostB.
user@hostA:~$ xeyes
Le système X Windowversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 276/308
Travaux pratiques
• Installez Mandriva ou Ubuntu.
• Installez KDE et gnome et passez de l'un à l'autre.
• Installez OpenOffice ou d'autres applications.
• Désinstallez The Gimp.
• Ajoutez des comptes utilisateurs et vérifiez que vous pouvez bloquer et débloquer leurs comptes.
• Personnalisez le bureau KDE et empêcher que les utilisateurs puissent faire des modifications. (répertoire .kde)
Travaux pratiquesversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 277/308
Test LPI
L'objectif de cette section est de vous préparer au test LPI 101.
Test LPIversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 278/308
1 Test LPI
A) Quelle commande utiliseriezvous pour mesurer la vitesse d'une interface série? Choisissez la meilleure réponse.
1.setbaud
2.setspeed
3.setserial
4.setcom
5.set_comport
B) Après avoir décompressé le code source du paquetage d'un logiciel GNU, vous voulez le compiler et l'installer sur votre système. Quelle commande devrezvous utiliser parmi les suivantes? Choisissez la meilleure réponse.
1.make configure; make all; make install
2../configure;make;make install
3.make config;make;make install
4.configure;make;make install
5../configure;make; install
C) Quel programme est utilisé pour connaître les librairies partagées utilisées par un programme? Choisissez la meilleure réponse.
1.ldconfig
2.libinfo
3.info
4.ldd
5.ld.so
Test LPIversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 279/308
D) Vous souhaitez désinstaller le paquetage RPM foobar de votre système. Quelle commande est la plus appropriée? Choisissez la meilleure réponse.
1.remove foobar
2.remove foobar.rpm
3.rpm remove foobar
4.rpm e foobar
5.deinstall foobar
E) Quelle commande allezvous utiliser pour obtenir la liste des fichiers contenus dans le paquetage foobar.rpm dans le répertoire /home/bob?
1.rpm ql /home/bob/foobar.rpm
2.rpm ql p /home/bob/foobar.rpm
3.rpm l /home/bob/foobar.rpm
4.rpm l p /home/bob/foobar.rpm
F) Quelle commande utiliseriezvous pour obtenir la liste de tous les paquetages Debian installés sur votre système? Choisissez la meilleure réponse.
1.dpkg l
2.dpkg L
3.dpkg all
4.cat /var/lib/dpkg/available
Test LPIversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 280/308
G) Comment décririezvous la fonction de la commande suivante? foo < bar > foobar. Choisissez la meilleure réponse.
1. La commande bar prend ses entrées dans le fichier foo et écrit ses sorties dans le fichier foobar
2. La commande foo prend ses entrées dans le fichier bar et redirige ses sorties dans la commande foobar.
3. La commande bar écrit ses sorties dans les fichiers foo et foobar.
4. La commande foo prend ses entrées dans le fichier bar et écrit ses sorties dans le fichier foobar.
5. Ce n'est pas une commande valide.
H) Entrez le chemin complet du fichier de configuration de LILO. Tapez la réponse.
I) Comment pouvezvous regarder le contenu d'un fichier de logs lorsque le fichier s'actualise pendant que vous le regardez? Choisissez la meilleure réponse.
1. tail f logfile
2. head f logfile
3. less f logfile
4. more f logfile
5. watch logfile
J) Quelle commande envoie des signaux aux processus (donnez juste la commande, avec les options) ? Tapez la réponse.
Vous trouverez d'autres tests sur le site: www.linuxpraxis.de
Test LPIversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 281/308
2 LPI test practice
Vous pouvez créer un compte sur: http://www.linuxpraxis.de dans la section certification pour vous entraîner aux tests des examens LPI 101 et 102.
Test LPIversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 282/308
3 Réponses au test LPI
A) setserial
B) ./configure;make;make install
C) ldd
D) rpm e foobar
E) rpm ql /home/bob/foobar.rpm
F) dpkg l
G) La commande foo reçoit ses entrées du fichier bar et redirige ses sorties vers la commande foobar
H) /etc/lilo.conf
I) tail f logfile
J) kill
Test LPIversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 283/308
Credits
Auteur: Raphael Arrigoni
Auteurs supplémentaires et traduction : Antoine Boegli, Frédéric Auclair, André Roth, Anthony Favre, Christophe Wittwer, Sébastien Maire, Nicolas Bocquet, Karine Arrigoni et Jérôme Steunenberg.
Creditsversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 284/308
Glossary10BaseT
Ethernet over UTP cables, using hubs to produce a star topology; supports a maximum (theoretical) transmission of 10 Mbit/s.
100BaseT Ethernet over UTP cables, using hubs to produce a star topology; supports a maximum (theoretical) transmission of 100 Mbit/s.
addressA location in memory or a unique identifier assigned to an interface on a networkattached device such as a network interface card.
algorithmA formal description of a procedure that, when suitable input is entered, will generate output as a result that satisfies specific requirements.
aliasWithin a shell, a substitute word for a command string or an additional IP address on an interface.
ALTthe Alternative key on a keyboard.
analogRefers to a physical measure that can take any value within a continuous range; e.g., the voltage used to encode loudness when transmitting a signal over a conventional copper telephone line. cf. Digital.
ANSIAmerican National Standards Institute A standards body responsible for many protocols.
APIApplication Programming Interface A specification which allows simple access to functionality of a library or other system resources when writing a program; operating system functionality is made available through an API.
applicationA program that runs on top of an operating system.
application layerThe name of the top layer of both the sevenlayer ISO/OSI model, and the fourlayer TCP/IP protocol stack. It includes protocols such as telnet, FTP, HTTP, SMTP, etc.
archiveA backup of data to be preserved as a file that contains one or more components and an index (e.g. in tar, cpio, rpm or deb format).
argumentA piece of information passed to a command or function.
ARPAddress Resolution Protocol, See RFC826. A lowlevel protocol which, given an IP address on the local network, returns the Ethernet MAC address of the corresponding interface.
ASCIIAmerican national Standard Code for Information Interchange. A specification of characters
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 285/308
widely used in the UNIX world and beyond.
assemblerA program that compiles programs written in assembly language into object code.
assembly languageA lowlevel computer language that can be translated directly to the object code of the computer processor.
ATAA popular 16bit interface standard that extends the ISA bus of the IBM PCAT to attach peripherals; it has evolved through over 5 generations; the original ATA is better known as IDE.
ATAPIAT Attachment Packet Interface. An enhancement of the ATA protocol to be able to connect CD drives etc.
backgroundA state of process execution which does not produce output to the terminal.
backupA copy of essential data stored on or offsite as insurance against failures of system hardware, software or user.
binary fileA file that is not intended to be read by humans but by applications or the operating system.
BIOSBasic Input/Output Operating System. A simple, lowlevel operating system which supplies a uniform API to higherlevel operating systems.
bitThe smallest entity of information: can have one of two states (01, onoff, openclosed, etc.).
block deviceA device that exchanges data with the operating system in sizable blocks (e.g., 512 bytes) at a time.
boot loaderSoftware, usually installed on the MBR of Intel machines, which exists to load the operating system kernel and begin its functioning.
bootTo cause the operating system to begin to function.
bridgeA device that propagates packets between two computer networks; it operates at the second, data link layer within the ISO/OSI model, and broadcasts packets based on the address, but does not do routing. cf. repeater, router.
broadcastA frame or datagram addressed to all interfaces on a network.
BSDBerkeley Systems Distribution. A variant of UNIX originally developed at the University of California.
buffertemporary storage; cf. Cache
BUGTRAQ
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 286/308
A mailing list for discussions regarding network security (daemons, programs, operating systems, routers).
buildTo run a sequence of compile and link steps to produce a new version of an executable program.
busA cable for transmitting signals between various components within one computer system.
byteA data type of 8 bits.
CA compiled computer language closely associated with UNIX.
C++An objectoriented computer language derived from C.
cacheAny readily accessible storage area used to keep data handy which is (somehow) indicated to be needed again shortly; the purpose being to speed up the access of that data and improve system performance.
cachingonly DNSA domain name server that does not have any domains files.
cardAny device that can be plugged into a computer expansion slot.
CDROMCompact Disc Read Only Memory. A removable medium of considerable popularity which comes in several variations, the most popular being ISO9660.
CERTComputer Emergency Response Team. A team of people that study Internet security, and provide incident response services; see http://www. cert.org/.
CGICommon Gateway Interface. A standard for allowing server applications to be executed as part of a HTTP request.
CHAPChallenge Handshake Authentication Protocol.
charC data type (usually one byte) used to store letters..
characterA letter or sign usually represented by 1 byte in ASCII code.
character deviceA device which exchanges data with the operating system in one character (or byte or even word) at a time.
child processAny process created by another, socalled parent process; usually used in reference to a particular parent process.
CIDRClassless InterDomain Routing. See RFC1519; cf. variable length subnet mask.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 287/308
CIFSCommon Internet File System. Microsoft's successor to SMB, a suite of protocols for sharing file and print services.
cleanIn reference to a drive being mounted, clean means that the drive was unmounted properly and thus (theoretically) does not need to be checked; otherwise a drive is dirty.
clientA computer or process which connects to and receives a service from a server computer or process.
coaxcoaxial cable. Cable with inner and outer conductors used for TV cables and for Ethernet LANs, where the computers usually have Tjoints to attach to a single chain of cables which needs to be terminated by resistors.
colormapcolor map, colormap, color table. A table used to encode a palette of colors for images.
command line interfaceAn interactive user interface which allows commands to be given to a computer program or shell through a textbased terminal (or terminal emulator in a window within a graphical user interface).
compilerA program which examines program source code and translates it into an equivalent object code file; cf. Interpreter.
compressionRemoval of redundant information from a file or data stream, to reduce its size, the storage space it needs, or the time needed for transmission. Lossy compression actually discards information that is considered not essential, and is only appropriate for data like images or sound.
computerA digital, electronic, generalpurpose, programmable, information processing automate.
consoleThe primary, directly attached, user interface of a computer. Some system administration functions may only be performed at a console.
control panelA collection of buttons, switches, lights or display used to configure and control a router, printer, computer or other device.
core dumpThe content of memory written to a file on disk (usually called "core") when a program crashes.
corrupteddamaged (said of a file or disk contents)
CPUCentral Processing Unit. The main component that makes a computer work; these days usually a "microprocessor" on a single silicon chip (cf. Processor).
crackTo gain access to a computer system without proper authorization (e.g. by guessing a legitimate user's password), and possibly interfere with its normal operation or integrity.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 288/308
CrackerSomeone who tries to crack; cf. Hacker.
crashA sudden stop of normal operation. Supposedly, the original hard drives would sometimes experience a catastrophic failure in which the read/write heads would crash into the media, possibly sending the media flying; hence a crash is a unintentional termination of software or hardware due to some failure or error especially a termination in a final, catastrophic, or unpleasant way.
CSLIPCompressed Serial Line IP. SLIP with added VJ compression of IP headers. See RFC1144.
CTRLthe Control key on a keyboard
current working directorycwd
cylinderA number of tracks located at the same radius on the several surfaces of a hard disk. A hard disk with four platters has eight surfaces, so that at each position of the readwrite heads, eight tracks can be read without head movement and these eight tracks form a cylinder.
daemonA program that runs in the background to offer system services.
data"that which is given", for instance as input to a computer; cf. Information.
data link layerLayer two of the ISO/OSI sevenlayer model. Responsible for establishing an errorfree communication path between network nodes over the physical link layer, it frames messages for transmission, checks the integrity of received messages, manages access to and use of the media, and ensures proper sequencing of transmitted data. These functions are generally provided by a network card driver. The IEEE in its 802.x series of standards splits this layer in two: the LLC layer and the underlying MAC layer.
databaseA usually large collection of ordered and readily accessible data.
datagrampacket, especially as used in UDP (Note: not IPspecific other protocols use the term datagram in their documentation).
DebianDEBorah & IAN (Murdock). A GNU/Linux distribution built by a volunteer organization.
defaultThe value of a parameter that a program uses if it is not explicitly given a value.
DELthe Delete key on a keyboard.
deleteremove or erase a file|character|directory.
dependencyA state in which other libraries|programs|packages are required to make a program work.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 289/308
DESData Encryption Standard. A USA governmentsanctioned standard for the encryption of data now considered insecure to highend brute force attacks.
desktopThe screen from which all programs are started and run on X.
deviceA "peripheral" piece of hardware that is an optional part or can be attached to a computer (even one that is actually housed within the computer's casing): interface cards, drives, printers etc.
DHCPDynamic Host Configuration Protocol. Provides for automatic downloading of IP address and other configuration data from a server to a client. Allows for reuse of IP addresses so that the number of hosts can exceed the number of available IP addresses. See RFC2131, cf. BOOTP.
dialin, dialup, dialoutRefers to a connection made over the Public Switched Telephone Network (PSTN), as opposed to a permanent, or leasedline, connection.
dieTo cease execution, especially in a final or complete manner.
digitalRefers to an entity that can assume only a limited number of discrete states and not an arbitrary value; e.g. binary. cf. Analog.
directoryA special type of file which contains information about other files, such as file name, location, permissions, size etc.
dirtynot clean
diskRotating magnetic media which supports direct or random access; cf. floppy disk, hard disk.
display screenA human readable device to display text, graphics or other data.
distributionA (usually) complete collection of software needed to operate a computer including the Linux kernel and various utilities and applications.
DMADirect Memory Access. A hardware protocol which allows a special controller circuit (DMA controller) to transfer a block of data from a peripheral device's buffer memory directly to main memory without CPU involvement; cf. PIO.
DNSDomain Name System. A hierarchicallystructured distributed directory service which translates humanintelligible names like www.lpi.org into the corresponding IP addresses. See RFC's 1034 and 1035 and also 1032 and 1033.
domain name serverDNS, nameserver
domainOne or more computer networks that serve an organizational group.The name assigned to a network domain.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 290/308
driveAny device that can store and retrieve data in a relatively permanent fashion on media (which may be removable or built into the device).
EIDEEnhanced IDE. Western Digitals proprietary extension of the IDE interface standard with ATA2 and ATAPI features, used to connect hard drives and CDROMS to a PC.
emailelectronic mail
emulateTo simulate the actions of a device or program so that the simulation can actually perform the same functions as the original.
emulatorA program that emulates the functions of some device or other program.
environmentA collection of variables associated with a process so that it knows about the user preferences and configuration of the system; they are inherited by a child process.
environment variablesThe variables that define an environment.
ergonomiceasy to use by humans
ESCthe Escape key on a keyboard.
EthernetA type of LAN computer network interface using coax (10Base2 or 10Base5) or UTP cables (10BaseT or 100BaseT). The specifications are described in IEEE standard 802.2 . cf. MAC.
executeTo set to work (a program); cf. Run.
execute permissionPermission set on a file on a Unix filesystem so that it may be run as a program by the "operating system.
executableA file that is a binary or a script that can be run as a program (may assume execute permission).
FATFile Allocation Table. A simple filesystem using a table to index files on a block device (floppy or hard disk). It comes in the varieties of FAT12 (MSDOS), FAT16 (MSDOS, MSWindows 3.x) and "FAT32" (MSWindows 9x).
FHSFilesystem Hierarchy Standard. A proposed standard for the location of files on a Unix system. See http://www.pathname.com/ fhs/.
fileA named sequence or stream of bytes at a known location in storage.
filesystemThe data structures placed on a logical disk or partition (by mkfs) which allow the operating system to record information about files stored there.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 291/308
filterTo remove unwanted data.
firewallA gateway that restricts data communication between the "inside" network and the Internet "outside" the firewall.
floatingpointused with numbers that may represent a fraction; cf. Integer
floppy diskA magnetic storage medium with a flexible disk inside; cf. hard disk.
floppy driveA device that can read and write floppy disks.
fontThe shape of each of the letters in a character set.
foregroundThe context in which a process is having access to a terminal for output, i.e. is not running in the background.
forkWhen an executing process creates an exact executing duplicate (except for the different PID) of itself; see child process, spawn.
formatSpecification regarding how data are stored.
forwardingThe act of receiving an email and then resending it to another destination.
frameA packet as assembled and transmitted over the physical layer of a network (e.g. Ethernet, Token Ring, etc.).
freeNot costing anything.
FSFFree Software Foundation: a taxexempt charity that raises funds for work on the GNU project; see http://www.fsf.org.
FSSTNDA standard for the location of files on a Linux system; replaced by the FHS.
FTPFile Transfer Protocol. A protocol for transferring files over the Internet and the software to accomplish the transfer. See RFC959.
gatewayA device or relay mechanism that connects two or more computer networks and which directs packets between the networks in an internet. In common usage today, a gateway is a generalpurpose computer with a generalpurpose operating system [e.g. Linux] which *may* be performing other functions, and in that role it operates at the third, network layer in the ISO/OSI model; while a router is a specialpurpose computer with a special purpose operating system [e.g. IOS], generally from a specialist supplier [e.g. Cisco]). cf. Bridge.
GB
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 292/308
GigaByte, Gb : 1000 (or rarely 1024) MB (1,000,000,000 or 1,048,576,000 or 1,073,741,824 bytes)
GIDGroup ID
globalA variable, configuration section, procedure etc. having a scope which is unlimited (i.e., applies everywhere unless contradicted locally)
GNUGNU's Not Unix. A Free Software Foundation project to build Unix(R)(TM)compatible utilities and programs exclusively based on free program source code.
GPLGeneral Public License. A license for distribution of free software which permits copying, modification and redistribution. It was created by the Free Software Foundation for its projects like GNU, and has been applied to Linux as well. See http://www.gnu.org/copyleft/gpl.html
graphicsimages, pictures; in contrast to text.
graphical user interface, GUIAn interactive interface using a graphics display. N.B.: refer to a "graphical user interface" only if there actually is a graphical interface (like X), and do not use it for interactive programs on text terminals (based on ncurses or slang). Use "interactive interface" as a catchall. cf. command line interface.
groupRefers to a list of one or more users having the same access rights; see /etc/groups.
hackTo accomplish a result in an unorthodox way.
hackerSomeone who hacks: a title assigned to people with remarkable computing skills; cf. Cracker.
hangcf. Crash
hard diskA computer device that uses solid disks as magnetic medium to store data. cf. floppy disk.
hard linkIn Unix filesystems, an entry in a directory that points to a file in another directory on the same disk or partition, and shares the inode of that file; cf. symbolic link.
HDLCHighlevel Data Link Control. ISO/IEC 3309 standard; relevant in PPP.
highlevelRefers to a computer language with a higher level of abstraction from the computer architecture than a lowlevel language.
hostAny computer attached to an IPbased internet, especially computers that can act as a server to a client program or computer.
HOWTOA series of documents, each on a particular topic, which form a significant portion of the
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 293/308
documentation for Linux. HOWTO's originated with, and are generally published by, the Linux Documentation Project.
HTMLHyperText Markup Language. A standard for specifying the structure of a document indicated by tags in the document text; used on the World Wide Web with HTTP.
HTTPHyperText Transfer Protocol. The succession of application layer protocols used for communication between a WWW browser and a WWW server. See RFC2616.
hubGenerally, a device connected to several other devices; specifically in computer networks, a repeater in the center of a network with star topology, usually with 10BaseT or 100BaseT Ethernet.
I/OInput/Output
ICMPInternet Control Message Protocol. A required protocol (RFC792) for the notification of errors between gateways and hosts on IPbased internets. It operates at the level of the IP protocol in the internet layer.
IDIdentifier
IDEIntegrated Drive Electronics. A popular interface to attach hard drives to PC's, where the electronics of the controller are integrated with the drive instead of on a separate PC card; also see ATA.
integrated Development EnvironmentIDE. A programming environment integrated into an application.
idleinactive; waiting for a task or a wake up call.
IEEEInstitute of Electrical and Electronics Engineers. USA based, international organization of professional engineers; also an important standards body.
IMAPInternet Message Access Protocol. See RFC2060 on IMAP4.
implementTo create an actual object (program, device) that conforms to abstract specifications.
include fileA file which contains constants and parameters, possibly shared between two or more programs, and included into the source code when these programs are compiled.
informationSomething worth knowing, in contrast to just plain data.
inodeIn Unix filesystems, a block of administrative data for a file on the disk partition.
inputAny data that are entered into a running program, or into a file.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 294/308
installTransferring a new program to a computer's permanent storage (e.g., hard disk) and performing any necessary configuration or administration.
integerA data type used to represent a whole (integer, nonfraction) number within a limited range.
integritycorrectness
interactiveHaving the property to be able to interact, i.e. respond to stimulation from the outside. Used in the context of programs or interfaces.
interactive interfaceAn interface between a computer and a user which allows them to interact and exchange input and output (commands and data).
interfaceA connection (through a hardware device or through a software program) between different components of a computer system (usually performing some kind of translation between protocols internal to the components); used especially in the contexts of network communication, or communication between computer systems and their users.
InternetThe worldwide distributed network of computers linked by the Internet Protocol.
internet layerThe network layer in the TCP/IP protocol stack: this alternative name may be used to distinguish it from the underlying network access (physical) layer. cf. Internet Protocol.
internet service providerA company which provides connections to the Internet.
interpreterA program which examines a script or program source code and executes it, line by line.
intranetA network (usually a LAN) based on IP but, unlike the Internet, allows only restricted access.
invokeinduce execution of; call
ioportThe memory address peripheral devices use to communicate with the CPU; see /proc/ioports.
IPInternet Protocol. The network layer protocol used on IPbased internets. See RFC791.
IRQInterrupt ReQuest.
ISAIndustry Standard Architecture. An increasingly obsolete PC bus standard.
ISDNIntegrated Services Digital Network. A baseband protocol used by telephone companies to offer one, two or more Bchannel (Bearer channel) lines of 64 Kbit/s each on a single copper pair of up to 5.5 km length. Each Bchannel can be used to provide a highquality voice line, or fax or data services.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 295/308
ISOInternational Standards Organization. One of several bodies which exist to promote standards, including computer standards.
jobA task which has been sent to the background or has been submitted for later execution.
KBkilobyte, kilobyte, kb, kB, 1024 bytes.
kbit/skilobit per second, kbps, Kbps, Kbit/s. Data transfer rate in units of 1000 bits per second.
Kbyte/skilobyte per second, kbps, Kbps, KBps, KB/s, kbyte/s. Data transfer rate in units of 1024 bytes per second.
kernelThe core of an operating system, which provides multitasking (process creation, interprocess protection, interprocess communication), memory management, and basic I/O management.
keyA token which is used to encrypt plain text or decrypt cipher text in an encryption system.
keyboardAn input device having many keys marked with letters and other symbols.
LANLocal Area Network. A small network, usually with one or a few segments, which supports broadcasting and direct connections between hosts; e.g. Ethernet, Token Ring, Appletalk and ARCNet; cf. WAN.
LDPLinux Documentation Project
libraryA collection of (often related) subroutines to be linked to a program.
LILOLInux Loader. A boot loader: a program that loads the kernel so Linux can boot; can also boot other operating systems.
linkTo bind a program to the subroutines it references (calls). These are typically located in object modules or libraries.
LinuxLinux Is Not UniX? A Unixlike operating system first developed, still maintained by, and named after Linus Torvalds. It is freely available under the General Public License. But if you didn't know all that already, what are you doing here?
LLCLogical Link Control. An IEEE network standard (#802.2) that fits within the ISO/OSI Layer 2: data link layer, on top of the MAC sublayer. It deals with error detection, flow control, and frame formats.
loadTo transfer from disk into memory.
local
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 296/308
within easy reach, on the local area network, not remote.
logfilerecord of activities
logicIn the jargon of electronics engineers: the electronic components and circuitry of a device. This use of the term should be avoided because of the confusion with the conventional meaning of: abstract formal reasoning, which is involved in computer programming.
lowlevelRefers to a computer language in which statements are similar to instructions for the processor (or: in which statements are more like object code than in a highlevel language).
LPILinux Professional Institute. Nonprofit organization founded to create a widely supported certification program for Linux; see http://www. lpi.org/
MACMedia Access Control. A layer of IEEE network standards (#802.x) that fits within the ISO/OSI Layer 2: data link layer, below the LLC sublayer. It deals with access methods, error detection, and transmission unit formats. Wellknown IEEE MAC specifications are Ethernet in its various incarnations (#802.2) and Token Ring (#802.5?).
Mail User AgentAn enduser program used to access, process, read, archive, compose and send email messages. See RFC1711. Such email programs often include some "MTA" functionality, in particular the ability to use SMTP to send email to an outgoing mail server, and POP3 or IMAP4 protocol to download mail from an inbound mail server. cf. Message Transfer Agent.
MandrakeSoftA commercial Linux distribution.
manualA document, often of booklength, discussing the design or operation of a software package or device.
man pageStandard Unix manual page (usually available on the computer system in nroff format, called with the command `man`).
masqueradeTo pretend to be another host for the purposes of sharing one IP address among several local hosts hidden to the outside world for reasons of resource shortages or security. cf. NAT
MBmegabyte, megabyte, meg, Mb 1000 (or sometimes 1024) KB (1,000,000 or 1,024,000 or 1,048,576 bytes).
Mbit/sMegabit per second, Mbps. Data transfer rate in units of 1,000,000 bits per second.
MBRMaster Boot Record. An area of the outermost cylinder of a PC hard disk which contains the partition table. This contains four entries identifying the types, starting cylinder and sizes of up to four partitions on the hard disk. One of the entries is flagged as 'active'; this marks the partition from which the machine will boot. (Floppy disks don't have an MBR, since they don't have a partition table. Instead, they just have a boot sector (same as a logical disk), which contains a Media Descriptor Table (MDT) and bootstrap loader. The MDT describes the format of a floppy
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 297/308
disk or logical disk).
mediaThe physical device by which data are transmitted or (more commonly) stored.
memoryThe place where a computer stores data and|or programs for direct access by the CPU: RAM or ROM (and also cache memory), not disks.
Message Transfer AgentA program which routes email based on the RFC822 header and invokes the correct delivery agent, especially SMTP (RFC821) in order to route the mail towards its ultimate destination. For example: exim, qmail, sendmail, smail. Also see RFC1711 and Mail User Agent.
MiniHOWTOA slimmer, more focused document otherwise like a HOWTO.
modemA device that converts between digital signals from the computer and analog signals for communication over a telephone line.
mouseAn input device which allows pointing to, selecting and activating objects, usually displayed in a graphical user interface.
MSWindows NTA 32bit operating system from Microsoft(C)(R)(TM).
MTUMaximum Transfer Unit. Maximum size of an IP packet that will be accepted for transmission without fragmenting it into smaller datagrams.
NetBEUIThe current implementation of the NetBIOS protocol used in MSDOS, MSWindows and OS/2.
NetBIOS over TCP/IPA layer of code which implements the NetBIOS API, but utilizing TCP and UDP datagrams, which are of course encapsulated in IP datagrams. Since IP is routable, this overcomes the most significant limitation of NetBIOS. See RFC's 1001, 1002, 1088.
NetBIOSA lightweight transport protocol developed by Sytek, IBM and Microsoft for use on personal computers.
netmasknetwork mask: the network part of an IP address; cf. variable length subnet mask.
networkAn interconnected set of hosts and other network devices which share a common physical layer such as Ethernet, X.25, etc.; cf. LAN, WAN.
network access layerThe lowest layer of the TCP/IP protocol stack, also known as the "physical" or "hardware" layer.
network layerThe layer of a network protocol stack that is concerned with addressing and delivery of datagrams across a network or internet. It is layer three in the IS O/OSI sevenlayer model.
NFSNetwork File System. A protocol (developed by Sun Microsystems) enabling a UN*X machine to
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 298/308
mount a remote disk area as part of its local filesystem; widely considered of questionable security.
NISNetwork Information System. Protocols to provide network services (such as authentication) for NFS.
object codeInstructions that can be executed by the computer processor.
offlinenot connected to a computer system or network; cf. online
onlineconnected to a computer system or network; cf. offline
operating systemOS. Central set of programs that manage the various components and devices of the computer, and its interaction with application programs and users; e.g. MSDOS, MSWindows NT, MacOS, Unix, Linux.
OSIOpen Systems Interconnection. The concept of a "stack" of protocols (hence "TCP/IP stack" as in "This damn Microsoft TCP/IP stack is so broken...") is due to the OSI sevenlayer model, even though TCP/IP has only about four distinct layers (certain layers are combined). See physical, data link, network, transport, session, presentation, and application layers (OSI model); network access, internet, transport, and application layers (TCP/IP stack).
outputAny data that are generated by a process.
ownerThe account that has its UID number associated with a file.
packageA set of related files and programs; especially a single archive file (tar, rpm) that contains them.
packetA quantum of data transmitted over a network; specifically: a unit of TCP traffic carrying the information necessary to deliver itself, especially using the UDP protocol (datagram).
PAPPassword Authentication Protocol.
parallelSeveral bits at the same time, over time (over multiple wires).
parameterA variable with a specific value that has a meaning or function, which belongs to a program function or command; cf. Argument.
parent processA process that started one or more other, socalled child processes.
partitionAn arbitrary region of a storage device (almost always a hard drive) created by partitioning software before data were stored. Specifically on IBM PCcompatibles: one of up to four distinct areas on a hard drive which can be dedicated to different operating systems.
password
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 299/308
A token which authenticates a user at login time.
PCPersonal Computer.
PCIPeripheral Components Interface. A PC bus to connect cards to the processor, replacing the original ISA bus.
peripheralA device that is an optional attachment to the core components of a computer (CPU and memory).
physical layerThe lowest layer of the sevenlayer ISO/OSI network protocol stack.
PIDprocess ID. A numerical identifier used to track processes by the kernel.
PIOProgrammed I/O. A technique whereby the CPU executes a tightly coded loop in which it copies data from a peripheral device's buffer memory and writes it back out to main memory; used with earlier versions of ATA, but replaced by DMA.
pipeA data structure which connects a file handle in one process to a file handle in another; by convention stdout of one process to stdin of the next. Established on the shell command line by the '|' symbol.
pixelpicture element: a dot, a grid point on a computer display, the smallest entity that can be drawn on a computer display.
PLIPParallel Line IP. IP protocol over a parallel cable (between two machines physically connected and not too distant).
PnPPlug and Play
POPPost Office Protocol. Protocol to retrieve mail from a mail server. See RFC1939 (POP3). Various software servers typically have names derived from 'pop' like ipop3d, ipop2d, and popper.
portThe name given to an individual, numbered "slot" which is available to Internetworking software. For example, HTTP servers generally listen to port 80. See /etc/services ; also see ioport.
PostscriptA page description language developed and marketed by Adobe Inc. Widely implemented in laser printers, especially where highquality output is required (e.g. photo typesetters) and, under Linux, widely emulated in software for nonPostcript printers.
PPIDParent Process ID
PPPPointtoPoint Protocol. A physical layer protocol (RFC1661) which can be used to encapsulate IP and other network protocols, making it an excellent way of extending LAN protocols to dialin users.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 300/308
presentation layerThe sixth layer of the ISO/OSI sevenlayer model, which specifies character representation (e.g. ASCII) and graphics formats, such as NAPLPS (North American Presentation Layer Protocols). In TCP/IP, the presentation layer is subsumed into the application layer, but perhaps the closest equivalent standards are ASN.1, ANSI and HTML/XML.
processA running program; an instance of program execution.
processorThe main component that makes a computer work; these days usually a "microprocessor" on a single silicon chip (cf. CPU)
programA sequence of instructions for the computer that implements an algorithm, especially when stored in a file in the form of either directlyexecutable object code, or source code for an interpreter or compiler. When loaded into memory and executed, the objectcode program typically becomes a process.
Prompt : An indication produced by a shell or application program that it is ready for further user commands or input.
ProtocolA definition of data structures and formats to be exchanged by two programs over a network.
proxy server : A computer process, usually as part of a firewall, that relays a protocol between client and server computer systems, by appearing to the client to be the server and appearing to the server to be the client (adapted from RFC2828).
queueA data structure which implements a firstin, firstout list; e.g. print queue, which contains a list of jobs to be printed in order.
RAMRandom Access Memory. Volatile, writable memory that a computer uses as its main memory. Comes in flavors like EDO, ECC, SDRAM, etc. which are not equivalent but from the perspective of a sysadmin are very similar under normal use. cf. ROM.
RARPReverse Address Resolution Protocol, rarp. A lowlevel protocol which, given a hardware (Ethernet MAC) address on the local network, returns the corresponding IP address. cf. ARP.
READMEAn important document that usually comes with a software package to call attention to important issues; usually has its name in capitals, so that it appears at the top of a directory listing.
Red HatA commercial Linux distribution.
redundantsuperfluous; said of information in the contexts of compression, or the preservation of data integrity.
regular expressionA formal expression of a string pattern which can be searched for and processed by a patternmatching program such as vi, grep, awk or perl.
repeaterA device that propagates signals between cables; in case of computer networks it operates at
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 301/308
the first, physical layer within the ISO/OSI model, and does not do packet filtering or makes routing decisions. cf. hub, bridge, router.
RFCRequest For Comments. Official specification of Internet protocols and standards.
ROMRead Only Memory. Computer memory, usually involving some enduring medium like a silicon chip or a burnt laser disc which can be read but not altered; this is inconvenient when the data can change and, just to be confusing, some special ROMs can be modified under certain circumstances. cf. RAM.
rootThe administrative account (UID 0) on a *nix system that has all privileges; cf. Superuser or the topmost or first or originating node or object (e.g.: root directory, "/").
routeThe path across one or more networks from one host to another or to examine the destination network IP address in a datagram, and by consulting a table, direct the datagram to the next router along the path to the destination, or to the destination itself.
routerA gateway which directs IP datagrams between networks in an internet; it operates at the third, network layer in the ISO/OSI model, and assumes that the address implies a particular path (the route) to reach the destination. In common usage today, a gateway is a generalpurpose computer with a generalpurpose operating system [e.g. Linux] which *may* be performing other functions; while a router is a specialpurpose computer with a special purpose operating system [e.g. IOS], generally from a specialist supplier [e.g. Cisco]). cf. Bridge.
RPCRemote Procedure Call
RPMRed Hat Package Management. A system which eases installation, verification, upgrading, and uninstalling Linux packages. See the HOWTO for more information.
runTo let it work (a program); cf. Execute.
runlevelMode of operation of a Unix system, offering different services on each level; see /etc/inittab .
scriptA computer program that is written in an interpreted programming language, and therefore stays in humanreadable text format; cf. executable, binary.
SCSISmall Computer Systems Interface. A multidrop bus cable architecture particularly suitable for both internal and external attachment of mass storage devices such as hard drives, tape drives and CDROMS.
segmentA (limited) length of cable segments can be joined by repeaters (rare), bridges (common), routers or switches (which are hardware logic bridges and routers).
serialOne bit after another, over time (over a single wire).
server
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 302/308
A process, or a host computer, which provides a particular service to client processes; e.g. web server, print server.
serviceA process which accepts requests and returns responses in an almost endless loop; a daemon.
session layerThe fifth ISO/OSI layer is the session control layer. It establishes and controls systemdependent aspects of communications sessions between specific nodes in the network. It bridges the gap between the services provided by the transport layer and the logical functions running on the operating system in a participating node. In the TCP/IP network stack, there is no session control layer, and its functions are partially implemented in the transport layer and partially in the application layer.
SGIDSet Group ID, sgid
shellA program which mediates between the user and the operating system, typically accepting commands and invoking the corresponding programs. In the UNIX world, the term shell is conventionally applied to commandline driven interfaces with scripting capabilities, such as bash, csh and zsh; however, graphical shells exist, such as Windowmaker, KDE and GNOME.
signalA logical interrupt to a process, which the process must generally deal with synchronously. A form of interprocess communications.
single modesingle user mode, runlevel 1
SLIPA way of encapsulating IP datagrams for transmission over asynchronous modem connections. See RFC1055, "A NonStandard for Transmission of IP Datagrams over Serial Lines"; cf. PPP
SMBServer Message Block A Microsoft protocol developed to transport originally MSDOS, later OS/2 and MSWindows, API calls and their arguments across a NetBIOS LAN; primarily used under Linux as a protocol for file and print sharing with Windows machines.
SMTPSimple Mail Transfer Protocol. A conversational protocol used by mail servers for delivery of email over the Internet. See RFC821.
SNRThe relative amount of useful information in a signal, as compared to the noise it carries.
socketA TCP application layer connection.
softwarecomputer programs
source codeThe plain text (usually typed in by a human) specifying the detailed operation of a program, written in a programming language. It needs to be processed by a compiler to produce a program that can be run (executed) by the computer.
sourcesThe files containing the source code for a program or program system, from which the
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 303/308
executable program or library can be built or ported to another computer platform.
spawnTo create a child process by means of a fork() and an exec().
stderrThe standard Unix error output device (by default to the terminal display).
stdinThe standard Unix input device (by default the terminal keyboard).
stdoutThe standard Unix output device (by default the terminal display).
sticky bitA permission bit on an executable file which causes the kernel to keep the memory image of the process after it has terminated, in order to avoid the overhead of reloading it when it is reinvoked.
streamA sequence of data bytes with sequencing and flow control. The TCP/IP stream protocol is TCP.
SUIDSet User ID, suid. A permission bit for files in Unixcompatible filesystems which causes the resultant process (i.e., assuming the file is executable) to enjoy access rights to other resources based on the UID of the user who owns the file, rather than the user who created the process.
superusersuper user, su, wheel. The user of the root account.
SuSEA commercial Linux distribution.
swap spacevirtual memory; called swap space because processes swap location between fast RAM and slow virtual memory if their priority changes.
SymlinkSymbolic link: in Unix filesystems, an entry in a directory that points to another file name in the filesystem; cf. hard link.
synchronizeTo make the content and state of data stored in two separate locations identical (e.g. cache, FTP sites).
syntaxThe formal rules which determine how keywords or commands and their components need to be combined when writing the source code of a computer program or forming shell commands.
sysadminsystem administrator: a person who administers a computer system and keeps it working.
TCPTransmission Control Protocol. A sessionoriented streaming transport protocol which provides sequencing, error detection and correction, flow control, congestion control and multiplexing; cf. UDP. See RFC793.
TCP/IPTransmission Control Protocol / Internet Protocol. A suite of protocols basic to Internet transmissions.
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 304/308
terminalThe outlet of a computer, usually consisting of a display for output of text (or possibly graphics), and a keyboard (and possibly a mouse) for input, used as a device for interaction between the computer and a user. cf. Workstation.
terminateto disconnect, end, finish, quit, stop, etc.
terminatorA resistive load to indicate the end a chain of devices, usually a SCSI chain or a coax network chain.
textA series of characters that can be displayed on a terminal display or printed on paper for human reading.
TIPSTest Item Processing System. Set of Python scripts to offer a webinterface to manage the LPI test items. See http://www. lpi.org/cgi bin / ti ps.py.
TFTPTrivial FTP. A protocol like FTP but much simpler and even less secure; used mainly for cracking computers and booting diskless network clients. See RFC1350.
Topology : As used with computer networks: the schematic shape formed by the connections between the hosts.
transport layerThe transport layer is the central layer (#4) in the ISO/OSI sevenlayer model. It provides endtoend control of a communication session once the path has been established, allowing processes to exchange data reliably and sequentially, independent of which systems are communicating and their locations in the network.
troubleshootThe process of finding the reason(s) of the problem(s) with networking|programming|hardware.
Tune : To make small changes to configuration in order to produce more efficient operation.
UDPUser Datagram Protocol. A connectionless, unreliable, transport protocol which provides multiplexing and error detection for applications which require a lowcost protocol for oneshot transactions; cf. datagram, packet, TCP. See RFC768.
UIDUser ID
UN*XA term for any variant of the UNIX(R)(TM) operating system, including Linux and a large number of free and commercial systems; also *NIX.
uninstallRemove hardware or software from a computer system.
unloadRemove services or software from a server so that more resources (CPU time, disk space, etc.) become available.
unreliableIn the TCP/IP sense of the term, a protocol which does not perform error correction (relying on "upper" layers to detect and correct errors, usually through retransmission).
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 305/308
upgradeTo update hardware or software to a better state.
URLUniversal Resource Locator. An identifier for an address on the Internet, preceded by the name of the protocol that must be used to reach that address (e.g.: ftp://ftp.kernel.org/ ).
USBUniversal Serial Bus. A recently developed bus standard for connecting peripheral devices in a chain.
userThe person that is using the resources of a computer or a person's account or process; identification listed in /etc/passwd.
user maskumask
UTCOfficial world time.
utilityA program to help you to do a task easier.
UTPUnshielded Twisted Pair. Type of network cables with several parallel wires used for Ethernet. The network usually has a star topology with hubs and does not need terminators.
variable length subnet mask
virtual consolevirtual terminal, VT, VC
virtual memoryExtra memory available on a system that is stored on a hard disk and is therefore essentially unlimited, although much slower than genuine RAM. Usually it is called swap space.
WANWide Area Network. A network which links geographically widespread facilities (and often LANs at those locations) using pointtopoint (leased line, SLIP, PPP) or packetswitched network (X.25, frame relay) links and which does not support the broadcast and direct connection capabilities of LANs.
wildcardAn placeholder used to represent any character or group of characters.
windowA region on a graphical desktop, the user interface for I/O with a child process of the desktop.
WinmodemA modem that only has a Digital Signal Processor and uses MSWindowsspecific software running on the CPU of the host computer to encode and decode data.
WINSWindows Internet Name Service. An automatic NetBIOS name database to resolve NetBIOS names to IP addresses.
workspaceComputer resources that are assigned to a computer user.
workstation
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 306/308
A computer, usually with a graphical display, for interactive use by an individual; cf. Server.
WWWWorld Wide Web, (the) web. Global distributed archive of HTML documents linked through HTTP.
XXWindows. The X Window System: a graphical user interface originating at MIT and having several variations.
XMLeXtensible Markup Language
Glossaryversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 307/308
IndexIndex lexical
0....................................................................0................................................................
nl.....30, 286p., 289, 292, 294, 296pp., 301p., 304p.
aliases...........................11, 24pp., 104, 284apache.........................102, 104, 180, 183p.apropos.....................................................21aptget............................162pp., 174, 176p.at command..............................................40bash.....8, 11p., 14p., 18, 22pp., 48, 83, 86, 88p., 237, 302bg command.............................................78BIND........................................................295BIOS...114p., 131, 135, 139, 187, 285, 297, 302, 305boot loader..............................138, 285, 295boot manager..........................................187bzip2.......................................148, 153, 155CERT..............................286, 296, 298, 301chgrp.........................233p., 241, 245p., 248chmod.........218, 226, 230, 233, 235p., 238, 240, 246chown..................................233p., 240, 245comments...........................................6, 301crashes....................................................287cut.........................................32, 43, 48, 103df...........................61p., 89, 103, 197p., 202DHCP......................................................289dig................284, 287, 289p., 294, 297, 305DNS................................................286, 289dselect....................162p., 165, 173, 175pp.du. .240, 284pp., 291p., 294p., 298pp., 304, 306exit.............................................................16expand......................................................33export..............................................8, 12, 25ext2. .136, 144, 186, 190pp., 198, 202, 204, 206, 211, 214, 218ext3...............................186, 190pp., 204pp.
fg.........................................................78, 84FHS......................................193, 205, 290p.find. . .13, 44, 59p., 62, 64pp., 71, 75p., 103, 249pp., 304fsck..........................................196, 199, 205FTP....................................284, 291, 303pp.GID..................................................292, 302gpasswd..................................................234grep...................70, 72, 93, 97, 100pp., 300group.....103, 202, 225, 240, 289, 292, 302, 305groupadd.................................................240grub..................138p., 143pp., 154p., 183p.GRUB.................................................141pp.gs utility.....73p., 76, 89, 103, 202, 293, 298gzip..........................................................148hard link..........................................292, 303hardware. 115, 285, 288p., 294, 297, 300p., 304p.history....................................................8, 15HOWTO...............................292p., 297, 301HUP.....................................................85, 87IDE...............284pp., 293pp., 298p., 302pp.ifconfig..................................................183p.job.............................................84, 295, 300join......................................27, 34, 287, 301kernel. . .10, 141, 144p., 285, 289, 295, 299, 303, 305LD_LIBRARY_PATH..............................159ldd...........................156, 158, 161, 278, 282LDP.........................................................295less.................129, 280, 286, 292, 302, 304libraries...........................................288, 295lilo.........................138pp., 143pp., 282, 295LILO..........................139p., 142p., 280, 295lilo.conf.........................138pp., 143pp., 282lp..................................281, 289, 296, 304p.LPI................5, 277p., 281p., 289, 296, 304mailing list...............................................286
Indexversion 14 ©Copyright Linalis 2008
LPI101 : Administration Systèmes sur Linux Niveau 1 308/308
make...........146, 150, 153, 278, 282, 287p., 300pp.Makefile........................................150, 152p.man...........8, 21, 25, 59, 66, 240, 250, 254, 284pp., 292, 294pp., 298pp.mkfs........................144, 186, 191, 205, 290msdos..........................190p., 199, 204, 212mv...........................54, 60, 62, 68, 248, 251named.............................................290, 295NFS..........................................9, 193, 297p.NIC..............287p., 290p., 293pp., 302, 304nice......................................81, 86, 88, 90p.od.......................202p., 240, 284pp., 291pp.PAP Password Authentication Protocol.......298, 304pipes.............................................11, 67, 70ps.....78, 80, 83, 88pp., 102, 104, 286, 289, 292, 295pp., 299p., 302pp.quotacheck.....................................218, 223quotas...........................187, 216pp., 220pp.reiserfs..............136, 186, 190p., 198p., 211renice.............................................86, 90pp.repquota..........................................216, 221restart........................................................89rm............76, 129, 248, 284p., 287pp., 298, 300pp.rmdir..........................................................49route..........................285pp., 291, 297, 301RPM.......174p., 178pp., 279, 284, 298, 301scripts..........................................11, 13, 304sed..................103p., 284pp., 299p., 302pp.sendmail..................................................297shadow......................................................18stderr...........................................73, 79, 303stdin............................33, 74, 101, 299, 303stdout............................33, 41, 67, 299, 303sticky bit..........................226, 235, 245, 303SUID...............................................228, 303swap....135p., 195, 206, 211, 235, 303, 305symbolic link...................................292, 303tac. .27p., 77, 223, 284p., 287, 289, 292pp., 297pp., 301p.
tail...................27, 29, 41, 43, 280, 282, 302tar..........89, 284, 289p., 293, 296, 298, 305TCP............9, 284, 294, 297p., 300, 302pp.TCP/IP........9, 284, 294, 297p., 300, 302pp.tee.........................................67, 70, 77, 288telnet.......................................................284TERM................................................74, 161top..........89, 284, 288p., 292p., 295, 300p., 304p.touch.............52p., 64pp., 77, 144, 214, 218tsch............................................................11UDP..................................288, 297p., 303p.UID..................16, 81, 246, 298, 301, 303p.umask............49, 226, 229, 236, 238p., 305umount....................................144, 208, 210useradd..........................................24p., 240userdel...................................................24p.vi.............................................100, 109, 240WINS.......................................................305.bash_history.........................................8, 15.bash_profile.............................................14.bashrc.................................11, 22, 24p., 48/bin/ls........39, 46, 48, 161, 183p., 237, 240, 248, 254/boot....135p., 138, 140p., 143pp., 198, 211/dev/null.................................72, 74pp., 103/etc/fstab............................199, 208pp., 223/etc/group......13, 20, 43, 97, 103, 237, 240, 292/etc/gshadow.....................................20, 237/etc/host.conf...........................................254/etc/hosts...........................................13, 228/etc/ld.so.cache...............................157, 159/etc/ld.so.conf..........................................157/etc/lilo.conf...................138pp., 143pp., 282/etc/passwd....13, 18, 41pp., 97, 110p., 305/etc/profile.................................................14/etc/services............................................299/etc/shadow...............................................18/proc....118p., 127, 129, 131, 136, 211, 294/sbin.......18, 75, 77, 154p., 180, 183p., 194, 223, 230
Indexversion 14 ©Copyright Linalis 2008