Notes et transcriptions du cours “Administrez un système Linux” disponible sur la plateforme Openclassrooms.
Dans la grande majorité des cas, les serveurs Linux que vous allez administrer sont dépourvus d'interfaces graphiques, car elles ne sont pas nécessaires pour exploiter les services hébergés sur ces machines. Pour interagir avec le système et le matériel, l'administrateur Linux utilise alors un terminal.
Mais figurez-vous que, dans les années 60-70, un ordinateur occupait l'espace d'une pièce entière, dans la photo ci-dessous on peut voir un seul ordinateur le GE-645:
Et il est où le terminal du coup ?
Ces ordinateurs étaient tellement volumineux que les opérateurs étaient souvent situés dans une autre salle ! Ils communiquaient avec les machines et les systèmes via des équipements dédiés à cet effet : les terminaux.
Avec l'évolution des technologies, le terminal s'est rapproché de la machine, mais restait tout de même un équipement dissocié.
Le terminal informatique désignait alors un équipement, un périphérique entrée/sortie au sens propre du terme, c'est-à-dire en périphérie du matériel principal, permettant d'opérer le système. Il pouvait posséder un clavier, un écran avec un pointer, une imprimante même…
Imaginez un gros minitel, et vous aurez une bonne image du matériel en question. Bien entendu, les choses ne sont pas restées en l'état : les terminaux physiques ont laissé la place aux terminaux virtuels, ou émulateurs de terminaux.
Aujourd'hui, il est commun de virtualiser du matériel informatique sur un équipement. Ainsi, sur un serveur VMware il est possible d'héberger plusieurs machines virtuelles.
Si vous avez besoin de plus d’informations à ce sujet, vous pouvez consulter le cours Virtualisez votre architecture et vos environnements de travail.
L'idée, c’est de passer par le logiciel pour émuler (ou simuler) l'équipement terminal physique et toutes ses fonctionnalités.
Ce logiciel est souvent un petit programme qui se lance sur un système d'exploitation et qui permet de se connecter localement ou à distance sur le serveur à administrer. Il devient donc possible de lancer plusieurs terminaux simultanément depuis le même environnement !
Et quid de l'écran noir après le démarrage du serveur ?
Oui, cet écran assez austère que vous obtenez après le démarrage du système est aussi un terminal. On l’a nommé historiquement une console :
La console sous Linux est un périphérique gérant le clavier et l'écran de l'ordinateur et propose d'interagir avec l'utilisateur via un terminal en mode texte.
À vrai dire, la console de Linux propose 7 terminaux en mode texte, appelés aussi les terminaux physiques. Ils sont directement sur le clavier branché à l'ordinateur et disponibles à partir des combinaisons de touches : “CTRL+ALT+F1” ; “CTRL+ALT+F2” ; … jusqu’à “CTRL+ALT+F7”.
Chacune de ces combinaisons de touches propose l'émulation d'un terminal (en mode console) différent sur lequel il est possible de se connecter de manière indépendante avec un compte utilisateur différent.
Mais alors, avec quoi je travaille sous Linux ? C’est ce que l’on va voir tout de suite !
Dans la grande majorité des cas, vous serez connecté à distance sur votre serveur Linux via un émulateur de terminal. Il s’agit d’un programme lancé sur votre poste de travail Windows/Mac ou même Linux. Il gère la connexion au serveur distant en s'appuyant sur un protocole réseau (telnet, rlogin ou SSH). En fonction du système d'exploitation de votre poste de travail, vous aurez le choix entre différents émulateurs offrant diverses fonctionnalités.
PuTTY est à la fois un émulateur de terminal et un client pour différents protocoles réseau tels que telnet, SFTP, SSH, rlogin, et TCP. Il est disponible gratuitement en open source.
MacOS étant un dérivé de la branche historique BSD (Berkeley Software Distribution) des Unix communautaires universitaires, l'émulateur de terminal est dans un milieu natif : l'application est livrée par défaut avec le système.
xterm, c'est un peu le papy de la famille. Ce programme émule les terminaux VT102/VT220 de DEC (Digital Equipment Corporation), les successeurs du terminal VT100 illustré un peu plus haut. Beaucoup d'émulateurs présentés dans cette section sont des variantes de xterm.
Mais y’a pas plus sympa que xterm sous Linux ?
Absolument ! Sous Linux, il existe d’autres émulateurs qu'il me paraît intéressant de citer ici :
L'émulateur de terminal (ou encore plus simplement, “le terminal”) est l'outil de prédilection de l'administrateur de systèmes Unix/Linux. Il est interactif nativement avec le poste de travail qui le fait tourner et permet de :
Quel bonheur de pouvoir copier/coller directement tout un script Perl dans le bon fichier ou encore de sélectionner une partie du résultat d'une commande et de la transférer dans un document bureautique… Avec un émulateur de terminal, le pointeur, la souris, ou les raccourcis clavier classiques sont très confortables.
Comment sont gérés les terminaux virtuels dans un environnement Linux virtualisé ?
L'installation d'un serveur Linux sur un hyperviseur de niveau 1 ne change rien. L'installer sur un hyperviseur de niveau 2 peut en revanche créer quelques ambiguïtés.
En effet, l'hyperviseur de niveau 2 (comme Oracle Virtualbox) va proposer l'affichage de la console et des terminaux physiques… de manière virtuelle :
Attention à ne pas confondre les deux fenêtres !
Terminal, émulateur de terminal, console… Avec ces outils, vous pouvez vous connecter localement ou à distance sur le serveur Linux à administrer. Quelle que soit la version du logiciel que vous allez utiliser, il vous faudra interagir avec le système en mode texte, c'est-à-dire saisir des commandes. Ce processus est assuré au moyen d'un shell que nous allons découvrir dans le prochain chapitre.