Dans cette première partie de notre support Formatux, nous vous proposons de découvrir, ou redécouvrir les notions essentielles de l’administration Linux.
Dans un premier temps, nous discuterons de Linux, des distributions, et de tout l’écosystème autour de notre système d’exploitation.
Nous verrons ensuite, les commandes utilisateurs indispensables à la prise en main de Linux. Les utilisateurs plus aguérris pourront également consulter le chapitre consacré aux commandes un peu plus "avancées".
Un chapitre qui nous semble toujours aussi important vient ensuite : la prise en main de l’éditeur VI, ou tout au moins sa démystification : savoir ouvrir un ficher, enregistrer, quitter ou quitter sans enregistrer. Pour les autres fonctionnalités, l’utilisateur sera plus à l’aise avec elles au fur et à mesure de son utilisation de cet éditeur pas comme les autres mais tellement puissant. Un mémo des commandes VI est disponible dans notre partie Annexes du support global.
Nous pourrons ensuite entrer dans le vif du sujet et dans le fonctionnement de Linux pour découvrir comment le système gère :
Nous ferons un aparté sur les sauvegardes, sujet toujours si important qu’il est indispensable d’en parler : nous ne ferons jamais assez de sauvegardes. Nous découvrirons deux outils : tar mais également cpio, moins répandu, qui dans certains cas peut être très intéressant.
Nous reviendrons à la gestion du système avec le démarrage, qui a énormément évolué ces dernières années depuis l’arrivée de systemd. Le chapitre Démarrage du système (init) traitera des versions legacy toujours bien présentes dans les parcs informatiques (debian 7, RHEL 6) tandis que le chapitre Démarrage du système sous CentOS 7 (systemd) traitera des versions plus modernes (debian 8, RHEL 7) et permettra à l’administrateur système de se mettre à niveau sur ce sujet.
Nous concluerons cette partie en étudiant la gestion des tâches, la mise en oeuvre du réseau et l' installation des logiciels.
Linux est un système d’exploitation.
Un système d’exploitation est un ensemble de programmes permettant la gestion des ressources disponibles d’un ordinateur.
Parmi cette gestion des ressources, le système d’exploitation est amené à :
Figure 1. Fonctionnement d’un système d’exploitation
Le langage C fait toujours partie des langages de programmation les plus populaires aujourd’hui !
Langage de bas niveau, proche du matériel, il permet l’adaptation du système d’exploitation à toute architecture machine disposant d’un compilateur C.
UNIX est un système d’exploitation ouvert et évolutif ayant joué un rôle primordial dans l’histoire de l’informatique. Il a servi de base pour de nombreux autres systèmes : Linux, BSD, Mac OSX, etc.
UNIX est toujours d’actualité (HP-UX, AIX, Solaris, etc.)
Minix
Linux
Figure 2. Linus Torvald, créateur du noyau Linux
Figure 3. Les parts de marché de Linux
Linux est finalement encore peu connu du grand public, alors que ce dernier l’utilise régulièrement. En effet, Linux se cache dans les smartphones, les téléviseurs, les box internet, etc. Presque 70% des pages web servies dans le monde le sont par un serveur Linux ou UNIX !
Linux équipe un peu plus d'1,5% des ordinateurs personnels mais plus de 82% des smartphones.
Android étant un système d’exploitation dont le kernel est un Linux.
Linux fait partie de la famille des systèmes d’exploitation à temps partagé. Il partage le temps d’utilisation processus entre plusieurs programmes, passant de l’un à l’autre de façon transparente pour l’utilisateur. Cela implique :
Linux est capable de travailler avec des ordinateurs multiprocesseurs ou avec des processeurs multicœurs.
Linux est écrit en langage de haut niveau pouvant s’adapter à différents types de plate-formes lors de la compilation. Il fonctionne donc sur :
Linux se base sur des standards reconnus (posix, TCP/IP, NFS, Samba …) permettant de partager des données et des services avec d’autres systèmes d’applications.
La philosophie UNIX
Une distribution Linux est un ensemble cohérent de logiciels assemblés autour du noyau Linux et prêt à être installé. Il existe des distributions associatives ou communautaires (Debian, CentOS) ou commerciales (RedHat, Ubuntu).
Chaque distribution propose un ou plusieurs environnements de bureau, fournit un ensemble de logiciels pré-installés et une logithèque de logiciels supplémentaires. Des options de configuration (options du noyau ou des services par exemple) sont propres à chacune.
Ce principe permet d’avoir des distributions orientées débutants (Ubuntu, Linux Mint …) ou d’une approche plus complexe (Gentoo, Arch), destinées à faire du serveur (Debian, RedHat, …) ou dédiées à des postes de travail.