TP 1 — Prise en main du système¶
Maquette : poste (Debian), srv-deb (Debian), srv-rhel (Rocky Linux)
Vous prenez la main sur trois machines dont vous ne savez rien. Votre travail consiste à les identifier, vous y orienter, y trouver l'information et commencer à y travailler.
Aucune commande ne vous est donnée. Chaque exercice indique ce qu'il faut obtenir et comment vérifier que c'est fait. La documentation est sur les machines.
Cassez sans crainte
La maquette repart d'un état connu au début de chaque séance. Vous ne pouvez rien détruire d'irrécupérable.
Exercice 1 — Reconnaissance¶
Objectif : produire une fiche d'identité de chaque machine.
Pour poste, srv-deb et srv-rhel, relevez :
- Le nom de la machine
- La distribution et sa version exacte
- La version du noyau
- Depuis combien de temps la machine fonctionne
- Votre nom d'utilisateur, votre identifiant numérique et vos groupes
- L'interpréteur de commandes que vous utilisez
Vérification : vous avez six réponses par machine, toutes obtenues par une commande, aucune recopiée de cet énoncé.
Question : srv-deb et srv-rhel tournent-elles sur la même version du
noyau ? Que vous apprend l'écart, s'il y en a un ?
Indice
Un fichier normalisé dans le répertoire des configurations décrit la distribution ; son nom contient le mot « release ». Trois commandes très courtes couvrent les points 1, 5 et 6. Une commande donne le noyau, une autre la durée de fonctionnement.
Exercice 2 — Arborescence¶
Objectif : savoir où chercher sur une machine inconnue.
Sur srv-deb, identifiez le répertoire correspondant à chaque besoin, puis
vérifiez votre réponse en regardant son contenu réel.
| Vous cherchez… | Répertoire |
|---|---|
| Les fichiers de configuration | |
| Les journaux du système | |
| Les répertoires personnels | |
| Les fichiers temporaires effacés au redémarrage | |
| Les programmes exécutables | |
| Les logiciels installés hors gestionnaire de paquets | |
| Le noyau et le chargeur de démarrage |
Puis :
- Où se trouve la configuration du serveur SSH ?
- Quel est le fichier le plus volumineux de
/var/log? - Affichez le contenu de
/proc/cpuinfo. Combien de cœurs a la machine ? - Affichez la taille de
/proc/cpuinfoavec un listage détaillé. Que constatez-vous, et comment l'expliquez-vous ?
Vérification : le tableau est complet et chaque réponse a été confirmée par un listage.
Exercice 3 — Chemins relatifs¶
Contrainte : aucun chemin absolu dans tout l'exercice. Pas de chemin
commençant par /, pas de ~.
Sur srv-deb, depuis votre répertoire personnel :
- Créez en une seule commande l'arborescence
tp1/config/ettp1/data/. - Placez-vous dans
tp1/config/et créez-y un fichierserveur.confcontenant une ligne de votre choix. - Sans changer de répertoire, copiez ce fichier dans
tp1/data/. - Sans changer de répertoire, affichez le contenu de votre répertoire personnel.
- Rejoignez
tp1/data/en un seul déplacement, puis revenez au répertoire précédent avec un raccourci qui ne mentionne aucun nom de dossier.
Vérification : tp1/config/serveur.conf et tp1/data/serveur.conf existent
et ont le même contenu.
Exercice 4 — Liens¶
Sur srv-deb, depuis tp1/ :
- Créez un lien symbolique nommé
actif.confpointant versconfig/serveur.conf. Affichez son contenu pour vérifier qu'il fonctionne. - Affichez le détail du lien. Vers quoi pointe-t-il exactement, et ce chemin est-il absolu ou relatif ?
- Déplacez
actif.confdanstp1/data/, puis essayez de l'afficher à nouveau. Que se passe-t-il ? - Supprimez le lien cassé. Vérifiez que
config/serveur.confest toujours là. - Recréez le lien depuis
tp1/data/en pointant cette fois vers un chemin absolu. Déplacez-le ailleurs et vérifiez qu'il fonctionne toujours.
Vérification : vous savez produire un lien qui survit au déplacement et un qui ne survit pas, et vous savez dire lequel est lequel.
Question : dans quel cas préférer un lien relatif ? Dans quel cas un lien absolu ?
Exercice 5 — Documentation¶
Objectif : trouver l'information sans navigateur.
Sur srv-deb :
- Affichez la documentation complète de la commande de listage de fichiers.
- Trouvez ce que fait son option
-Set vérifiez-le sur un répertoire. - Vous voulez connaître l'espace disque restant mais vous ignorez le nom de la commande. Trouvez-la depuis le terminal.
- Trouvez l'option de la commande de recherche de motif qui affiche le numéro de ligne des résultats.
- Affichez successivement les deux entrées du manuel portant le nom
passwd, dans deux catégories différentes. En une phrase, qu'est-ce qui les distingue ?
Vérification : vous savez citer le numéro qui apparaît entre parenthèses après le nom d'une page de manuel, et dire à quoi il sert.
Indice — question 3
Une commande permet de chercher dans les manuels par mot-clé. Essayez un terme anglais lié à l'espace disque.
Indice — question 5
Le manuel est découpé en catégories numérotées : la 1 pour les commandes, la 5 pour les formats de fichiers. On peut préciser le numéro avant le nom.
Exercice 6 — Lire et filtrer¶
Le fichier /etc/passwd décrit les comptes du système. Chaque ligne contient
des champs séparés par des deux-points : nom, mot de passe, identifiant
utilisateur, identifiant de groupe, description, répertoire personnel,
interpréteur de commandes.
Sur srv-deb :
- Affichez ses dix premières lignes, puis ses trois dernières.
- Comptez le nombre de lignes.
- Affichez uniquement les lignes des comptes dont l'interpréteur est
/bin/bash. - Affichez uniquement les lignes des comptes dont l'interpréteur est
nologinoufalse. - Comptez combien de comptes sont dans chaque cas.
- Affichez la liste des noms de comptes seuls, sans les autres champs.
Vérification : la somme des deux comptages de la question 5 est cohérente avec le total de la question 2.
Indice — question 6
Une commande découpe chaque ligne selon un séparateur que vous précisez et n'en garde que le champ demandé.
Exercice 7 — Enchaîner et rediriger¶
Toujours sur /etc/passwd, sur srv-deb :
- En une seule ligne de commande, obtenez la liste triée par ordre
alphabétique des noms de comptes ayant
bashcomme interpréteur. - Enregistrez ce résultat dans
~/comptes-bash.txt. - Affichez le fichier créé et comptez ses lignes.
- Ajoutez la ligne
--- fin de liste ---à la fin du fichier sans écraser son contenu. - Faites la même chose sur
srv-rhelet comparez le nombre de comptes interactifs entre les deux serveurs.
Vérification : ~/comptes-bash.txt contient la liste triée suivie de la
ligne de fin.
Question 4
Deux chevrons, pas un. Avec un seul vous écrasez tout le travail des questions précédentes, sans confirmation et sans retour possible.
Sous Linux il n'y a ni corbeille, ni annulation. La touche la plus dangereuse du clavier, c'est Entrée.
Exercice 8 — Rechercher¶
Sur srv-deb :
- Trouvez tous les fichiers de
/etcdont le nom se termine par.conf. Combien y en a-t-il ? - Trouvez les fichiers de
/etcmodifiés depuis moins de sept jours. Que sont-ils, d'après vous ? - Trouvez tous les fichiers de
/var/logde plus de 1 Mo. - Cherchez dans tout le système les fichiers vous appartenant, en masquant les messages d'erreur de permission.
Vérification : la question 4 ne produit aucun message d'erreur à l'écran.
Indice — question 4
Les erreurs ne sortent pas par le même canal que le résultat. Vous avez vu à
l'exercice 7 comment rediriger un canal ; il en existe un second, numéroté.
La destination /dev/null fait disparaître ce qu'on y envoie.
Exercice 9 — Éditer¶
Deux éditeurs en console sont installés. L'un affiche ses raccourcis en bas de l'écran. L'autre démarre dans un mode où les touches ne s'écrivent pas mais agissent.
Sur srv-deb :
- Avec le premier, créez
~/notes-tp1.txtet écrivez-y trois choses apprises aujourd'hui. Enregistrez, quittez, vérifiez le contenu. - Rouvrez le fichier avec le second, ajoutez une quatrième ligne, enregistrez et quittez.
- Rouvrez-le une troisième fois avec le second, tapez n'importe quoi, puis quittez sans enregistrer. Vérifiez que la modification n'a pas été conservée.
- Notez dans le fichier la séquence de touches permettant de quitter le second éditeur sans enregistrer.
Vérification : le fichier contient quatre lignes plus votre note, et aucune trace de la question 3.
Indice — le second éditeur
Son nom fait deux ou trois lettres. Il démarre en mode commande : i fait
passer en saisie, ++esc++ revient en arrière, et les commandes d'écriture et
de sortie commencent par un deux-points.
Exercice 10 — Comparer les deux familles¶
Objectif : distinguer ce qui relève de Linux de ce qui relève d'une distribution.
Sur srv-deb et srv-rhel :
- Vérifiez la présence de
/etc/aptet de/etc/yum.repos.d. Que concluez-vous ? - Cherchez dans
/var/logle fichier de journal principal. Porte-t-il le même nom des deux côtés ? - Un répertoire lié à SELinux existe sur un seul des deux systèmes. Trouvez-le, et déduisez-en lequel utilise SELinux.
- Les répertoires
/etc,/var,/homeet/usrsont-ils présents des deux côtés ? - Le compte
roota-t-il le même identifiant numérique sur les deux machines ?
Livrable de la séance. Créez ~/correspondance.md sur poste et
remplissez-le. Vous le compléterez à chaque TP du semestre.
| Élément | Debian | Rocky Linux |
|---|---|---|
| Nom et version du système | ||
| Version du noyau | ||
| Répertoire des dépôts de paquets | ||
| Journal système principal | ||
| Contrôle d'accès obligatoire | ||
| Nombre de comptes interactifs |
Ajoutez une ligne pour toute autre différence remarquée pendant la séance.
Avant de partir¶
- [ ] Je sais identifier la distribution, la version et le noyau d'une machine
- [ ] Je peux citer de mémoire le rôle de six répertoires de la racine
- [ ] Je sais me déplacer et travailler en chemins relatifs
- [ ] Je sais créer un lien symbolique et prévoir s'il survivra à un déplacement
- [ ] Je sais lire la documentation d'une commande sans quitter le terminal
- [ ] Je sais filtrer les lignes d'un fichier selon un motif
- [ ] Je sais enchaîner des commandes et rediriger le résultat vers un fichier
- [ ] Je sais chercher des fichiers par nom, par date et par taille
- [ ] Je sais éditer un fichier avec deux éditeurs différents
Tout ce qui précède sera considéré comme acquis au TP 2.
Si vous avez fini en avance¶
Historique et complètement
Trouvez comment afficher les commandes que vous avez tapées, comment y rechercher, et comment en relancer une par son numéro. Testez le complètement à la tabulation sur une commande incomplète, puis sur un chemin.
Comparer deux fichiers
Récupérez le /etc/passwd des deux serveurs sur poste et trouvez une
commande qui affiche uniquement leurs différences.
Le PATH
Quand vous tapez une commande, comment le système sait-il où la trouver ? Affichez la variable d'environnement concernée, puis déterminez l'emplacement exact de la commande de listage. Que se passerait-il si deux répertoires du chemin contenaient une commande de même nom ?
Les liens physiques
Il existe un second type de lien, qui ne pointe pas vers un chemin. Trouvez-le, créez-en un, et déterminez ce qui le distingue du lien symbolique de l'exercice 4 — notamment quand on supprime le fichier d'origine.