Atelier Linux
« Redhat Admin I - RH124 »
Introduction
2019
Omar AKHAM
[Link]@[Link]
Plan
I. Introduction
II. Notions de base
III. Notions intermédiaires
IV. Notions avancées
2019 Linux RH124 2
I. Introduction
➔
Historique GNU/Linux
➔
Shells / Interpréteurs de commandes
➔
Se connecter à GNU/Linux
2019 Linux RH124 3
II. Notions de base
➔
Commande
➔
Arborescence du système de fichiers GNU/Linux
➔
Manipulations des fichiers & répertoires
➔
Editeurs de texte
2019 Linux RH124 4
III. Notions intermédiaires
➔
Filtres
➔
Tubes & redirections
➔
Variables & variables d'environnement
➔
Alias
2019 Linux RH124 5
III. Notions avancées
➔
Scripts Shell
➔
Travailler en tant que super utilisateur
➔
Gestion des utilisateurs & groupes
➔
Gestions des tâches & processus
➔
Compression & archivage
2019 Linux RH124 6
I. Introduction
1) Historique GNU/Linux
2) Shells / Interpréteurs de commandes
3) Se connecter à GNU/Linux
2019 Linux RH124 7
Introduction
●
1969
●
Tout commence avec UNIX, créé
par AT&T et Bell Labs. C’est un
système multi-tâches, multi-
utilisateurs et écrit en C.
●
1980
●
Microsoft invente le XENIX, OS
basé sur UNIX et qui tourne sur PC.
●
1986-1987
●
MINIX est un petit OS qui tient sur
une disquette de 360Ko !
2019 Linux RH124 8
Introduction
Philosophie d'Unix
●
Faire que chaque programme fasse une seule chose et bien.
●
Préférer la portabilité à l'efficacité
●
Éviter les interfaces captives
●
Plusieurs niveaux d'abstraction dans le système
– Noyau: niveau matériel
– Interpréteurs de commande: niveau texte
– X Windows: niveau graphique
2019 Linux RH124 9
Introduction
Caractéristiques d'Unix
●
Depuis le début dans les années 1970!
– Multi-utilisateur et sécurisé: par défaut, les utilisateurs ordinaires
ne peuvent pas toucher aux fichiers d'autres utilisateurs. En
particulier, ils ne peuvent ni modifier les paramètres du système,
ni supprimer des programmes, etc. “root”: utilisateur
administrateur, ayant tous les droits.
– Multi-tâche. Prise en charge de multiples processeurs
– Extrêmement flexible
– Prise en charge du réseau
2019 Linux RH124 10
Système GNU/Linux
GNU = GNU is Not Unix
●
Projet de réaliser un système à la Unix
entièrement libre.
●
Lancé en 1984 par Richard Stallman, un
chercheur du MIT, à une époque où les sources
d'Unix n'étaient plus libres d'accès.
●
Composants initiaux: compilateur C (gcc), make
(GNU make), Emacs, bibliothèque C (glibc), outils
de base (ls, cp …)
●
Cependant, en 1991, le projet GNU n'avait
toujours pas de noyau et tournait sur des Unix
propriétaires
2019 Linux RH124 11
Logiciel libre
●
GNU, Linux et de nombreux autres programmes sont des logiciels
Libres.
●
Le Logiciel Libre fournit à son utilisateur les 4 libertés suivantes:
●
Liberté 0 : La liberté d'exécuter le programme, pour quelque but que ce soit.
●
Liberté 1 : La liberté d'étudier son fonctionnement, et de l'adapter à ses
besoins.
●
Liberté 2 : La liberté de redistribuer des copies pour aider autrui.
●
Liberté 3 : La liberté d'améliorer le programme, et de partager ses
améliorations avec autrui.
●
Voir [Link]
2019 Linux RH124 12
Système GNU/Linux
●
1991
●
Linus Torvalds invente un noyau UNIX gratuit,
réécrit, avec sources
→ LINUX
●
Très tôt partagé comme Logiciel Libre (Licence
GPL), ce qui attira des contributeurs et des
utilisateurs de plus en plus nombreux.
●
Depuis 1991, connaît une croissance supérieure à
tout autre système d'exploitation (pas seulement
Unix).
2019 Linux RH124 13
Système GNU/Linux
●
Qu’est-ce qu'un système GNU/Linux ?
●
Noyau Unix-like
– Mélange/adaptation de diverses technos (Minix, sockets BSD, IPC
System V, VFS Sun, ...)
– Développements spécifiques (ext2fs, procfs)
●
Ensemble d'outils GNU
●
Nombreuses « contrib » (utions)
– Contribution = application « offerte » à la communauté
– Paquetages : tgz, rpm, deb(ian)
●
Nombreuses « distrib » (utions)
– Noyau + outils GNU + contribs + outils config
●
Appelé “Linux“ par abus de langage
2019 Linux RH124 14
Système GNU/Linux
2019 Linux RH124 15
Distribution GNU/Linux
2019 Linux RH124 16
Distribution GNU/Linux
2019 Linux RH124 17
Red Hat Linux
Qu’est-ce que Red Hat Linux?
▸ Red Hat est une société multinationale
▸ Red Hat édite des distributions GNU/Linux.
▸ Elle est l'une des entreprises dédiées aux logiciels Open Source
les plus importantes et les plus reconnues.
▸ Elle constitue également le premier distributeur du système
d'exploitation GNU/Linux.
▸ Red Hat a été fondée en 1993 et son siège social se trouve à
Raleigh en Caroline du Nord. Elle possède en plus de ce dernier
un nombre important de bureaux dans le monde entier.
▸ L'entreprise est principalement connue pour son produit Red
Hat Enterprise Linux, un système d'exploitation destiné aux
entreprises
2019 Linux RH124 18
Red Hat Linux
Qu’est-ce que Red Hat Linux?
▸ Marc Ewing a créé en 1994 une version de Linux appelé Red Hat
Linux
▸ La distribution est publiée en octobre 1994
▸ Bob Young qui avait une société de distribution de logiciels pour
Linux et Unix décide de racheter l’affaire de Young, les deux
entreprise fusionne et devient Red Hat Software
▸ En 1999, Red Hat rachète Cygnus Solutions qui proposait une
assistance commerciale pour les logiciels libres.
▸ En février 2000, InfoWorld a remis à Red Hat le titre de « Système
d'exploitation de l'année »
▸ En mars 2002, Red Hat a présenté le premier système
d'exploitation de type entreprise : Red Hat Advanced Server qui a
été renommé Red Hat Enterpris Linux.
2019 Linux RH124 19
Red Hat Linux
Qu’est-ce que Red Hat Linux?
▸ La distribution de Red Hat (RHEL) n’est pas livrée gratuitement dans
son format binaire
▸ Red Hat a donc créé Fedora une distribution communautaire
▸ Une communauté gère le projet constitué à la fois d’employés de Red
Hat et de contributeurs externes
▸ Red Hat présente le projet Fedora comme un laboratoire pour
développer de nouvelles fonctionnalités qui sont plus tard incluses
dans la distribution commerciale de Red Hat.
▸ Red Hat vend des abonnements d'assistance, de formations et de
services d'intégration personnalisés pour les clients utilisant des
logiciels Open Source.
▸ Les sources de RHEL sont accessibles gratuitement, mais doivent être
compilées pour être utilisables (d'où l'existence de distributions
comme CentOS).
2019 Linux RH124 20
Red Hat Linux
Pourquoi choisir Red Hat?
▸ Red Hat Entreprise Linux est la plateforme
professionnelle open source de référence, fiable,
sécurisée et innovante, proposant des solutions
performantes pour les serveurs et stations de travail,
et la virtualisation.
▸ Red Hat est le système Linux le plus utilisé en
entreprise dans le monde.
▸ Les constructeurs et éditeurs majeurs recommandent
Red Hat pour leurs produits.
▸ Red Hat propose des produits autour de sa
distribution pour répondre à tous les besoins
informatiques.
2019 Linux RH124 21
Red Hat Linux
Pourquoi choisir Red Hat?
▸ Les produits serveurs ▸ Les produits Clouds
– Red hat entreprise – Red hat Cloud
linux Forms
– Red Hat Satellite – Red Hat Linux
Openstack
– Red Hat
Virtualization – Red Hat OpenShift
▸ Les serveurs de ▸ Les serveurs
stockage d’applications
– Red Hat Gluster – Red Hat Jboss
Storage Entreprise
– Red Hat Ceph – Red Hat Jboss Data
Storage Virtualization
2019 Linux RH124 22
Shell
Un programme qui fourni une interface entre un
utilisateur et un noyau OS : Interface Homme-Machine
●
Un OS lance un shell pour
chaque utilisateur; quand celui-ci
se connecte, ouvre un terminal
ou une fenêtre console
En s'interfaçant avec un noyau,
un shell offre à un utilisateur un moyen d'exécuter
des utilitaires et des programmes
2019 Linux RH124 23
Principales fonctions d'un Shell
➔
Interpreteur de ligne de commande (CLI)
1. Interprète la commande en analysant la ligne et en traitant les
métacaractères, les redirections et les contrôles
2. Recherche et exécute la commande
3. Analyse chaque ligne et initie l'exécution du programme demandé
EX: ps -ef | sort +1 | more
– Diviser la ligne de commande en pièces appellées “mots“ : ps, -ef, |, sort, +1, | et
more
– Déterminer la sémantique des mots :
●
ps, sort et more sont des commandes
●
-ef et +1 sont des arguments
●
| est une operation d'E/S
– Postisionner la sortie de ps en tant que entrée de sort, et la sortie de sort en tant
qu'entrée de more
– Localiser les commandes ps, sort et more et les exécuter dans l'ordre en leur
appliquant les arguments spécifiés en ligne de commande
2019 Linux RH124 24
Principales fonctions d'un Shell
➔
Language de programmation
Les commandes sont :
●
tapées directement dans la ligne de commande
●
le shell peut lire les commandes à partir d'un fichier
●
Un fichier contenant des commandes shell est appelé : programme
shell ou script shell
●
Un script shell peut contenir :
●
Des commandes
●
Des structures de programmation (conditions, boucles, test, …)
Note: une commande placée dans un script shell est appelée
instruction
2019 Linux RH124 25
Principales fonctions d'un Shell
➔
Environnement Utilisateur
Le shell fourni aussi, à un utilisateur, un environnement qu'il
pourrais personnaliser en utilisant les fichiers d'initialisation.
Ces fichiers contiennent des config de l'environnement
utilisateur tel que :
●
Le chemin de recherche (PATH) pour trouver les commandes
●
Les permissions par défaut pour les nouveaux fichiers créés
●
Les valeurs de variables que d'autres programmes utilisent
●
Des valeurs personnalisables
Note: si, pour un utilisateur, aucune valeur n'est mentionnée
dans le champs shell, de son entrée dans le fichier
/etc/passwd, alors le shell par defaut sera Bourne Shell (sh)
2019 Linux RH124 26
Interpréteur de commandes
●
Interpréteurs connus et populaires :
●
Sh : Bourne Shell (obselète)
Le shell de base qu’on trouve traditionnellement dans les systèmes Unix, par
Steve Bourne.
●
Csh : C Shell (obselète)
Shell avec une syntaxe à la C, qui a connu son heure de gloire
●
Tcsh : TC Shell (toujours très populaire)
Une implémentation compatible avec le C shell, avec des
fonctionnalités avancées (complète les noms de commandes, rappel de
commandes antérieures et bien d’autres...)
●
Bash : Bourne Again Shell (le plus populaire)
Une version améliorée de sh avec de nombreuses fonctions nouvelles.
2019 Linux RH124 27
Se connecter à GNU/Linux
●
GNU/Linux est :
●
Multi-utilisateurs
●
Multi-tâches
●
Pour se connecter
●
Compte utilisateur
●
Mot de passe
2019 Linux RH124 28
Se connecter à GNU/Linux
●
Linux comprends plusieurs consoles virtuelles sur lequelles
on peut se connecter :
●
6 consoles textes
●
1 console graphique
●
Redéfinir le nombre par defaut dans le fichier
“/etc/default/console-setup“
●
Raccourcis pour basculer entre les consoles :
●
Texte ↔ texte : texte : ALT + F<N° CONSOLE>
●
Texte ↔ texte : graphique : ALT + F7
●
Graphique ↔ texte : texte : CTRL + ALT + F<N° CONSOLE>
2019 Linux RH124 29
Se connecter à GNU/Linux
●
L'interpréteur de commande possède un « prompt » qui
peut prendre plusieurs formes selon les configurations du
compte de l'utilisateur connecté. De façon générale, le
prompt est de la forme :
utilisateur@nom-de-poste repertoire-courant$
●
Par défaut, ce prompt se termine par le caractère :
●
$ : pour un utilisateur normal,
●
# : pour le super utilisateur (root).
2019 Linux RH124 30