Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Initiation Au Linux 2023

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 117

Initiation au Linux

C.T. Bernard KABUATILA

G3 Informatique

S1 2023
Organisation du module

Volume Horaire Présence


VH: 30h La participation aux
séances du cours est
P. Théorique : 15h
obligatoire.
P. Pratique: 15h

Evaluation Support de cours


- Test mi-parcours : 50% ❑ Présentation PowerPoint
- Evaluation Finale : 50%

30 mars 2023
2 AOR1121
Plan
CHAPITRE I: LES GENERALITES
CHAPITRE II: LE NOYAU ET L’ARBORESCENCE DES FICHIERS LINUX
CHAPITRE III: INSTALLATION D’UNE DISTRIBUTION LINUX
CHAPITRE IV: LES COMMANDES SOUS LINUX

3 AOR1121 30 mars 2023


Bibliographie
1. J-P. ARMSPACH, LINUX Initiation et utilisation 2 édition, Dunod, Paris 2006.
2. R. HERTZOG, Cahiers de l'Admin. Debian Gnu Linux Eyrolles (2ème Ed.) 61, bd Saint-Germain 75240
Paris Cedex 05 ;
3. A. JEAN-PIERRE, Réseaux & Télécoms,6 Ed. Dunod, Paris, 2012 ;
4. R. HERTZOG et R. MAS, De la découverte à la maîtrise de Debian Wheez, 6éd, Eyrolle, Paris, 2014 ;
5. S. NAMECHE, Les bases de l'administration du système Linux, Support de Cours Bac 3, Université de
Bordeau, 2016 ;
6. D-A LEBLANC, LINUX pour les nuls, 11e édition, FIRST, 2018 ;
7. http://www.lesitedemika.org/Prise-en-main-de-linux.php , update 2021

4 AOR1121 30 mars 2023


Objectifs du Module

Au terme de ce cours, tout étudiant consciencieux, régulier, attentif et discipliné


sera capable :
• Comprendre le fonctionnement du système linux ;
• Connaître les commandes de base pour utiliser le système linux ;
• Savoir manipuler les différents fichiers ;
• Maîtriser linux en tant qu’utilisateur ;
• Maitriser les commandes linux avancées.

5 AOR1121 30 mars 2023


« Chapitre I. Généralités
Introduction
Pourquoi devrais-je apprendre Linux ?

Votre téléphone portable, votre tablette, votre ordinateur portable et votre ordinateur de
bureau ont tous besoin d'un système d'exploitation pour exécuter les logiciels (souvent
appelés applications) que vous utilisez.
La principale raison pour laquelle l'apprentissage de Linux est utile dans la vie d’un
informaticien est que Linux est utilisé sur les ordinateurs de bureau et les ordinateurs
portables, les serveurs Web, les appareils mobiles (Android), la technologie du cloud public
(par ex. Google, Amazon, etc.), et l’interconnexion en réseau (c.-à-d. les réseaux Cisco). Bien
que vous n'ayez jamais utilisé Linux sur un ordinateur de bureau ou un ordinateur portable, il
est probable que vous utilisiez d'autres technologies fonctionnant sous Linux, comme un
téléphone portable fonctionnant sous Android, une tablette ou des sites Web populaires tels
que Facebook, Twitter et Amazon. D’ailleurs, on estime que les serveurs fonctionnant sous
Linux génèrent plus de la moitié des pages Web sur Internet.

7 AOR1121 30 mars 2023


Un peu d’histoire
Au cours de l’histoire de l’informatique, différents systèmes
d’exploitation ont été développés.

Jusqu’ici, vous avez probablement été en contact avec l’un des


nombreux systèmes d’exploitation Windows (3.1, 95, 98, SE,
ME, NT, 2000, XP, 2003, 2012, 2016, 2019, Vista, Seven,W8,
W10 et actuellement Win 11); On peut citer d’autres systèmes
d’exploitation, comme ceux des ordinateurs Apple.

8 AOR1121 30 mars 2023


Un peu d’histoire

Bien avant tous ces systèmes d’exploitation, il y avait Unix. D’un point de
vue historique, ce dernier est considéré comme un système d’exploitation
très ancien. Pourtant, il s’agit d’un système moderne, équipé dès le départ
de fonctionnalités qui ne sont apparues sous une forme comparable chez
Microsoft que bien plus tard (avec Windows NT).

Unix fournissait déjà un environnement multitâche, une séparation des


processus (et donc une plus grande stabilité), des droits d’accès clairs pour
les fichiers (et donc davantage de sécurité dans le cadre d’un système
multi-utilisateur), des fonctions réseau sophistiquées, etc.

9 AOR1121 30 mars 2023


Un peu d’histoire

Bien avant tous ces systèmes d’exploitation, il y avait Unix. D’un point de
vue historique, ce dernier est considéré comme un système d’exploitation
très ancien. Pourtant, il s’agit d’un système moderne, équipé dès le départ
de fonctionnalités qui ne sont apparues sous une forme comparable chez
Microsoft que bien plus tard (avec Windows NT).

Unix fournissait déjà un environnement multitâche, une séparation des


processus (et donc une plus grande stabilité), des droits d’accès clairs pour
les fichiers (et donc davantage de sécurité dans le cadre d’un système
multi-utilisateur), des fonctions réseau sophistiquées, etc.

10 AOR1121 30 mars 2023


Unix
unix est un système d'exploitation, créé en 1969 par Ken Thompson et
Dennis Ritchie. Sa conception a été particulièrement soignée, et apportait
plusieurs innovations, notamment le choix d'utiliser plusieurs outils simples
et spécialisés, plutôt que des logiciels complexes à tout faire.

Ce système a été adapté par de nombreuses entreprises, qui ont ainsi


développé des dérivés d'unix ou Unices, par exemple : xenix de Microsoft,
AIX d'IBM ou Solaris de Sun Microsystems.

D'autres systèmes d'exploitation ont ensuite été conçus en s'inspirant des


principes d'unix, voire même en recherchant une compatibilité complète
avec unix. Le nom unix étant une marque de certification, on parle alors
plutôt d'Unix-like. Parmi ces systèmes, les plus connus sont GNU/Linux, les
systèmes BSD, Minix ou encore Mac OS X.
11 AOR1121 30 mars 2023
Genèse de Linux

Linux naît en 1991 dans la chambre d'un


étudiant finlandais, Linus Torvalds. Il
développe un noyau en s'inspirant des
principes du système d'exploitation unix.
Son but initial est de s'amuser et
d'apprendre les instructions Intel 386.

Quand son noyau commence à marcher, il le


met en libre téléchargement sur Internet en
demandant aux gens de l'essayer et de lui
dire ce qui ne marche pas chez eux.

12 AOR1121 30 mars 2023


Genèse de Linux
De nombreuses personnes se montrent intéressées et l'aident à développer son
noyau. Dès la version 0.12, il choisit de mettre Linux sous licence GPL. Quelques
années plus tard, d'autres bénévoles commencent à créer des distributions Linux.

Aujourd'hui, le succès de Linux s'explique par la qualité technique du noyau, par la


présence de nombreuses distributions Linux qui facilitent l'installation du système
et des programmes, mais s'explique surtout par son appartenance au monde du
Libre qui lui apporte une grande rapidité et qualité de développement.

Le nombre d'utilisateurs de Linux est aujourd'hui estimé à plusieurs millions !


Si vous voulez en savoir plus sur l'histoire de Linux et de son père fondateur,
Linus Torvalds, je vous conseille le livre qu'il a écrit intitulé Just for fun - History of
an accidental revolution.

13 AOR1121 30 mars 2023


Terminologies
La compilation
Un programme informatique, que ce soit un noyau ou un logiciel, est constitué de
nombreuses lignes de code, écrites dans un langage de programmation (le langage C dans
le cas du noyau Linux). Ce code n'est généralement pas utilisable en tant que tel. Il faut
passer par la phase de compilation qui transforme le code source en programme
exécutable, souvent appelé binaire. Il suffit d'avoir le binaire pour utiliser le programme ; on
n'a pas besoin des sources du programme.

Le compilateur

Un compilateur est un programme qui est chargé de traduire un programme écrit dans un
langage dans un autre langage. Le langage du programme de départ est appelé le langage
source, le langage du programme résultat le langage cible (source language et target
language en anglais). Le plus souvent, le langage source est un langage dit de haut niveau,
avec des structures de contrôle et de données complexes alors que le langage cible est du
langage machine, directement exécutable par un processeur.

14 AOR1121 30 mars 2023


Terminologies
Interprète

Un interprète est un programme qui est chargé d'exécuter un programme écrit dans un
langage sur un processeur qui exécute un autre langage. Il joue presque le même rôle qu'un
compilateur, mais présente des caractères différents.
Alors qu'un compilateur effectue un travail équivalent à celui d'un traducteur humain qui
traduit un ouvrage d'une langue dans une autre, celui d'un interprète évoque plus d’une
traduction simultanée, qui produit la traduction à mesure que le discours est tenu.

15 AOR1121 30 mars 2023


TD N°1

Donnez La différence entre un langage compilé et


interprété; donnez aussi un exemple de chacun de
langage?

Durée: 5’

16 AOR1121 30 mars 2023


Les logiciels propriétaires et les logiciels Libres

Dans les premiers temps de l'informatique, les logiciels étaient distribués avec le
matériel et n'étaient pas considérés comme une marchandise. Cela résultait de la
forte dépendance qu'il existait entre le logiciel, généralement écrit en langage
machine comme l'assembleur, et le matériel. L'apparition de langages
informatiques portables, tel que le C mirent fin à ce couplage. Désormais, vendre
du logiciel était une activité spécialisée et lucrative.

Les logiciels propriétaires

Les logiciels propriétaires sont donc les logiciels dont une licence, souvent
payante, ne donne qu'un droit limité d'utilisation. On n'a la plupart du temps accès
qu'aux binaires de ces logiciels. Certains logiciels propriétaires sont gratuits, on
les appelle alors des freewares (logiciel gratuit ou gratuiciel).

17 AOR1121 30 mars 2023


Les logiciels propriétaires et les logiciels Libres

Un shareware (partagiciel)
Un shareware, un partagiciel, ou un logiciel à contribution, est un logiciel
propriétaire, qui peut être utilisé gratuitement généralement durant une
certaine période ou avec des fonctionnalités limitées. Après cette période
d'essai, l'utilisateur doit rétribuer l'auteur s'il veut continuer à utiliser le
logiciel ou avoir accès à la version complète.

Les logiciels Libres (free Software)


Les logiciels libres sont les logiciels que l'on peut librement utiliser,
échanger, étudier et redistribuer. Cela implique que l'on ait accès à leur
code source (d'où le terme équivalent Open Source).

18 AOR1121 30 mars 2023


Les logiciels propriétaires et les logiciels Libres
Licence : Etymologie : Du latin licentĭa (« permission »).
Exemples :
Ce religieux était sorti sans en avoir demandé la licence à son supérieur.
Un étudiant(e) ne peut pas sortir, entrer et parler dans l'auditoire sans une licence.
Le mot licence possède plusieurs significations et cela selon un domaine bien précis :
En sport, une licence est l'autorisation accordée par une fédération sportive de participer
aux activités qu'elle organise : compétitions, adhésion aux clubs, etc.
En informatique, Une licence est un document décrivant les conditions d'utilisation et de
diffusion d'un logiciel. Un logiciel ne s'achète pas ! Ce qui s'achète, c'est un droit d'usage,
pour et dans certaines conditions, tel que :
a) Les utilisations elles-mêmes,
b) Les utilisateurs et leur nombre,
c) Les machines et leur nombre,
d) De manière générale, tout et n'importe quoi..
19 AOR1121 30 mars 2023
Le projet GNU
Les logiciels libres

Scandalisé par les restrictions imposées par les logiciels propriétaires, Richard
Stallman chercheur au laboratoire d'intelligence artificielle du Massachusetts
Institute of Technology, lance en 1983 le projet GNU, qui a pour but de développer un
système d'exploitation libre complet et inspiré d'unix, afin de contrer le
développement croissant des logiciels propriétaires. L'histoire raconte que c'est une
histoire de pilote d'imprimante qui lui a fait prendre conscience du danger de la
logique propriétaire.

20 AOR1121 30 mars 2023


Le projet GNU

Il fonde alors une association, la Free Software Foundation, et écrit le GNU


Manifesto, dans lequel il décrit les quatre libertés fondamentales que doit
respecter un logiciel pour être qualifié de logiciel libre (free software en
anglais) :
La liberté d'exécution : tout le monde a le droit de lancer le programme, quel qu'en
soit le but ;
La liberté de modification : tout le monde a le droit d'étudier le programme et de le
modifier, ce qui implique un accès au code source ;
La liberté de redistribution : tout le monde a le droit de rediffuser le programme,
gratuitement ou non ;
La liberté d'amélioration : tout le monde a le droit de redistribuer une version
modifiée du programme.
21 AOR1121 30 mars 2023
Le projet GNU

Pour donner un cadre juridique aux logiciels du projet GNU, il écrit une licence, la GNU
General Public License alias GPL (il existe une traduction française non officielle).
Cette licence reprend les quatre libertés fondamentales citées précédemment et
impose pour la liberté d'amélioration que les versions modifiées d'un logiciel sous
licence GPL ne peuvent être redistribuées que sous cette même licence. Richard
Stallman invite alors tous les logiciels libres à adopter la licence GPL.

Très tôt, Linus Torvalds adopte la licence GPL pour son noyau Linux. Aujourd'hui,
de très nombreux logiciels libres sont distribués sous Licence GPL (VLC media player
par exemple). Mais la licence GPL n'est pas la seule licence utilisée pour les logiciels
libres. Par exemple, il existe aussi la licence BSD, qui diffère de la licence GPL par le
fait qu'une version modifiée d'un logiciel sous Licence BSD peut être redistribuée sous
une autre licence, même propriétaire.

22 AOR1121 30 mars 2023


Le projet GNU

N.B: Les rumeurs, fausses idées ou confusion relayées par la presse et le


web sont rarement en faveur du logiciel Libre. Alors pour être plus claire
: Open Source n'est pas synonyme de GPL et les logiciels sous Open
Source ne sont pas libres (4conditions).

Un logiciel gratuit n'est pas obligatoirement libre.


Un logiciel Libre n'implique pas qu'il soit gratuit.
Un logiciel commercial n'est pas forcement propriétaire.
Debian est une distribution 100% GNU et donc entièrement Libre

23 AOR1121 30 mars 2023


Linux
Linux désigne au sens strict un noyau de système d'exploitation. Le noyau est la
couche de base d'un système d'exploitation. C'est le noyau qui gère la mémoire,
l'accès aux périphériques (disque dur, carte son, carte réseau, etc.), la circulation des
données sur le bus, les droits d'accès, les multiples processus qui correspondent aux
multiples tâches que l'ordinateur doit exécuter en même temps, etc.

Par contre, le noyau ne gère pas le mail, l'affichage des pages Web, ou encore le
traitement du texte. Ce sont des programmes ou applications qui s'en chargent. Ces
programmes viennent se greffer sur le noyau, et ils doivent être adaptés à celui-ci.

Ce noyau de système d'exploitation a l'originalité d'être multi-utilisateurs et multi-


tâches et de fonctionner sur de nombreuses plates-formes (Intel, PowerPC, Sparc,
etc.). Il est conforme à la norme Posix et est distribué sous Licence GPL. Il a la
réputation d'être fiable, stable et sécurisé. Son appartenance au monde du libre
garantit une correction rapide des erreurs qui pourraient être découvertes.
24 AOR1121 30 mars 2023
Linux

Linux est multiutilisateurs. C'est-à-dire que tout est prévu pour que plusieurs
personnes utilisent le système, éventuellement simultanément (si le <<réseau>> le
permet).
Linux est multitâches. Cela signifie que plusieurs programmes peuvent s'exécuter
simultanément ; par exemple, vous pourriez rédiger une lettre sur un traitement de
textes, tout en attendant qu'un programme d'images de synthèse termine son calcul,
et ce en même temps qu'un CD diffuse une musique plus ou moins mélodieuse.

Il n'y a pas de limite théorique au nombre d'applications qui peuvent ainsi fonctionner
simultanément : les facteurs limitants sont en premier lieu la quantité de mémoire
dont dispose l'ordinateur, et en second lieu, la puissance du processeur.

25 AOR1121 30 mars 2023


Une distribution GNU/Linux

Linux ne se suffit pas à lui-même. Avec un simple noyau, on ne peut rien faire ! Le
noyau Linux vient donc à l'intérieur de distributions. On fait souvent un abus de
langage en désignant par le terme Linux ce qui est en fait une distribution GNU/Linux.
Une distribution GNU/Linux, c'est un ensemble cohérent de plusieurs choses :
Un noyau Linux ;
Un ensemble de logiciels de base issus du projet GNU ;
D’autres programmes, en libres (un navigateur Web, un lecteur de Mail, un serveur FTP,
etc…), issus d'autres projets, éventuellement, quelques logiciels propriétaires ;
Une méthode pour installer et désinstaller facilement ces programmes ;
Un programme d'installation du système d'exploitation, etc.
Il existe de nombreuses distributions GNU/Linux : comme par exemple Red Hat,
Mandriva, SUSE, Ubuntu et Debian.
La plupart des distributions sont gratuites, car constituées exclusivement de logiciels
libres .
26 AOR1121 30 mars 2023
Une distribution GNU/Linux

Linux ne se suffit pas à lui-même. Avec un simple noyau, on ne peut rien faire ! Le
noyau Linux vient donc à l'intérieur de distributions. On fait souvent un abus de
langage en désignant par le terme Linux ce qui est en fait une distribution GNU/Linux.
Une distribution GNU/Linux, c'est un ensemble cohérent de plusieurs choses :
Un noyau Linux ;
Un ensemble de logiciels de base issus du projet GNU ;
D’autres programmes, en libres (un navigateur Web, un lecteur de Mail, un serveur FTP,
etc…), issus d'autres projets, éventuellement, quelques logiciels propriétaires ;
Une méthode pour installer et désinstaller facilement ces programmes ;
Un programme d'installation du système d'exploitation, etc.
Il existe de nombreuses distributions GNU/Linux : comme par exemple Red Hat,
Mandriva, SUSE, Ubuntu et Debian.
La plupart des distributions sont gratuites, car constituées exclusivement de logiciels
libres .
27 AOR1121 30 mars 2023
28 AOR1121 30 mars 2023
Une distribution GNU/Linux

NB : Si l'on veut être rigoureux, le terme <<Linux>> en lui-même ne désigne que le cœur du système
(appelé le noyau, ou plus communément le kernel), cette zone un peu obscure qui permet d'utiliser le
matériel et de communiquer avec le reste du monde. Mais par lui-même, Linux serait bien incapable
d'enregistrer le moindre texte tapé au clavier !

Une distribution est un assemblage, autour d'un noyau Linux, d'un ensemble plus ou moins
vaste de programmes utilitaires permettant d'utiliser toute la puissance de Linux.

29 AOR1121 30 mars 2023


Démarrage d'un système GNU/ linux

Survol sur le bootage d‘un ordinateur


Pendant la phase de boot, l'ordinateur charge d'abord un petit morceau de code appelé
le chargeur qui, à son tour, charge et lance le système d'exploitation. Le chargeur se
trouve habituellement à un endroit précis du disque dur ou de la disquette.
La raison de ce processus en deux étapes est que le système d'exploitation est gros et
complexe, mais que le premier morceau de code que l'ordinateur charge doit être très
réduit (quelques centaines d'octets) pour éviter d'avoir un micro-programme trop
compliqué.
Les divers ordinateurs réalisent différemment la phase de boot. Pour les PCs,
l'ordinateur (son BIOS) lit le premier secteur (appelé le secteur de boot) d'une
disquette ou du disque dur. Le chargeur se trouve dans ce secteur. Il charge le système
d'exploitation se trouvant quelque part ailleurs sur le disque.
Lorsque Linux a été chargé, il initialise le matériel et les pilotes de périphériques, puis
lance init. init lance les autres processus permettant aux utilisateurs de se logger et
de travailler. Cette partie sera détaillée plus tard.

30 AOR1121 30 mars 2023


Survol sur le bootage d‘une distribution Linux

31 AOR1121 30 mars 2023


Le secteur de boot (MBR) d'un disque dur

Le secteur de boot d'un disque dur est le secteur qui contient les instructions
nécessaires au lancement de Windows via l'exécution du fichier NTLDR (NT
loader : le "chargeur" de Windows).
Au démarrage d'un ordinateur, lorsque le BIOS a fini sa séquence d'initialisation
(POST = Power-On Self Test) la dernière instruction qu'il exécute envoie la tête
de lecture lire le contenu du secteur de boot sur le disque que le BIOS a
enregistré comme disque de démarrage.

NTLDR (NT Loader) était le nom du chargeur d'amorçage des versions de


Windows jusqu'à XP. C'était une librairie permettant de charger le noyau de
Windows au démarrage du système. NTLDR permettait de choisir un système
d'exploitation à utiliser lorsque plusieurs systèmes étaient installés sur une
même machine. Winload.exe pour vista.
32 AOR1121 30 mars 2023
Le processus de boot vu de près

On peut lancer Linux soit à partir d'une disquette soit à partir du disque dur. Une fois le PC
lancé, le BIOS fait différents tests pour vérifier que tout va bien (Cette phase est appelée le
power on self test, ou POST en abrégé.), puis la routine setup cmos, après quoi, Il choisit un
lecteur de disque (normalement le premier lecteur de disquette, s'il y a une disquette dedans,
sinon le premier disque dur ; cependant, cet ordre est configurable) et lit son tout premier
secteur. Celui-ci s'appelle le secteur de boot, dans le cas d'un disque dur, il est aussi appelé
master boot record car un disque dur peut contenir plusieurs partitions, chacune ayant son
propre secteur de boot. Le secteur de boot contient un petit programme « chargeur d’amorce »
dont le rôle est de lire le véritable système d'exploitation sur le disque et de le lancer.
Exemple: LILO, GRUB, LOADLIN.
Architecture en couche
Un système GNU/LINUX peut être vu selon 3 couches complémentaires:
La couche physique: elle comprend les périphériques et le BIOS
la couche système : elle comprend le noyau et les différents processus.
L’interface : elle comprend le Shell et l’interface graphique basé sur Xwindow
33 AOR1121 30 mars 2023
« Chapitre II. Le noyau et
l’arborescence des fichiers
linux
Définition
Le noyau est le cœur de tout système d’exploitation, il gère les ressources de
l'ordinateur et permet aux différents composants - matériels et logiciels - de communiquer
entre eux. En tant que partie du système d'exploitation, le noyau fournit des mécanismes
d'abstraction du matériel, notamment de la mémoire, du (ou des) processeur(s), et des
échanges d'informations entre logiciels et périphériques matériels.

Le noyau est le programme qui assure la gestion de la mémoire, le partage du processeur


entre les différentes tâches à exécuter et les entrées/sorties de bas niveau. Il est lancé
au démarrage du système (le boot) et s’exécute jusqu’à son arrêt.

35 AOR1121 30 mars 2023


Définition
Il s’exécute en mode superviseur ou espace noyau, c’est à dire qu’il a accès à toutes
les fonctionnalités de la machine. Tous les autres programmes qui s’exécutent sur la
machine fonctionnent en mode utilisateur ou espace utilisateur : il leur est interdit
d’accéder directement au matériel et d’utiliser certaines instructions. Chaque programme
utilisateur n’a ainsi accès qu’à une certaine partie de la mémoire principale, et il lui est
impossible de lire ou écrire les zones mémoires attribuées aux autres programmes.

36 AOR1121 30 mars 2023


Définition : appel système

NB : les appels système sont des fonctions appelées depuis un programme de


l’espace utilisateur ; dont l’exécution (le traitement) est effectuée dans l’espace
noyau ; dont le retour est effectué dans le programme appelant dans l’espace
utilisateur.
Le concept espace utilisateur (mode utilisateur) et espace noyau (mode
superviseur) implique la notion que voici : L’existence d’un noyau présuppose une
partition virtuelle de la mémoire vive physique en deux régions disjointes, l’une
étant réservée au noyau (l’espace noyau) et l’autre aux applications (l’espace
utilisateur).
Lorsque l’un de ces programmes désire accéder à une ressource gérée par
le noyau, par exemple pour effectuer une opération d’entrée/sortie, il exécute un
appel système. Le noyau exécute alors la fonction correspondante, après avoir
vérifié que le programme appelant est autorisé à la réaliser.
37 AOR1121 30 mars 2023
Définition : interruption

En informatique, une interruption est un arrêt temporaire de l'exécution normale


d'un programme informatique par le microprocesseur afin d'exécuter un autre
programme (appelé routine d'interruption). Cependant, on l'utilise aussi pour
désigner des exceptions, c'est-à-dire des arrêts provoqués par une condition
exceptionnelle dans le programme (instruction erronée, accès à une zone mémoire
inexistante, calcul arithmétique incorrect…)
Les interruptions peuvent être:
1. Interruptions matérielles : Permettant la prise en compte d’une requête de service
système (mémoire, contrôleur de périphérique, clavier, lecteur, ...). À tout moment le
matériel peut activer une interruption.
2. Interruptions logicielle : Activée par l’exécution d’un appel système
(system call ou monitor call)
38 AOR1121 30 mars 2023
Définition : Ordonnanceur

L’ordonnanceur désigne le composant du noyau du système d’exploitation qui choisit


les processus qui vont être exécutés par les processeurs d'un ordinateur. Un
processus peut avoir besoin de la ressource processeur pour, par exemple, effectuer
des calculs, déclencher une interruption, etc. La plupart des composants matériels, et
en particulier le processeur d'un ordinateur, n'est pas capable d'effectuer plusieurs
traitements simultanément. Pour la très grande majorité des ordinateurs, avoir un seul
processeur implique de ne pouvoir effectuer qu'un traitement à la fois. Or, à un instant
donné, il est possible qu'il y ait plus de processus à exécuter qu'il n'y a de
processeurs.
Un des rôles du système d'exploitation, et plus précisément de l'ordonnanceur
du noyau, est de permettre à tous ces processus de s'exécuter et d'utiliser le
processeur de manière optimale du point de vue de l'utilisateur. Pour arriver à donner
l'illusion que plusieurs tâches sont traitées simultanément, l'ordonnanceur du noyau
du système s'appuie sur un algorithme d'ordonnancement.
39 AOR1121 30 mars 2023
Définition : Ordonnanceur
Un système est dit préemptif lorsqu'il
possède un ordonnanceur (aussi
appelé planificateur), qui répartit,
selon des critères de priorité, le temps
machine entre les différents
processus qui en font la demande.

TD: Système coopératif qu’est ce?


5’

40 AOR1121 30 mars 2023


Réponse TD

Système coopératif est celui dont une seule application monopolise


toutes les ressources de l’ordinateur et ne rendre la main aux autres
applications uniquement quand elle aura terminer son exécution.
Exemple: windows 3.11 et Mac OS 9.

41 AOR1121 30 mars 2023


Définition : GESTIONNAIRE DE MÉMOIRE

Le gestionnaire de mémoire est le sous-ensemble du système d’exploitation qui


permet de gérer la mémoire de l’ordinateur. Sa tâche la plus basique est d’allouer
de la mémoire à des processus lorsqu’ils en ont besoin. Cette mémoire allouée est
par défaut propre au processus qui en fait la demande.

La gestion de la mémoire doit de plus remplir les fonctions suivantes :


✓ permettre le partage de la mémoire (pour un système multi-tâches) ;
✓ permettre d'allouer des blocs de mémoire aux différentes tâches ;
✓ protéger les espaces mémoire utilisés (empêcher par exemple à un utilisateur de
modifier une tâche exécutée par un autre utilisateur) ;
✓ optimiser la quantité de mémoire disponible, notamment par des mécanismes
d'extension de la mémoire.

42 AOR1121 30 mars 2023


Définition : GESTIONNAIRE DE MÉMOIRE

43 AOR1121 30 mars 2023


Numérotation de différentes versions du noyau linux

Les numéros de version du noyau sont composés de trois chiffres : le premier est
le numéro majeur, le second le numéro mineur. Avant l'apparition des versions
2.6.x, les numéros mineurs pairs indiquaient une version stable et les numéros
mineurs impairs une version de développement. Ainsi, les versions 2.2, 2.4 sont
stables, les versions 2.3 et 2.5 sont des versions de développement.

Cependant, depuis la version 2.6 du noyau, ce modèle de numérotation


stable/développement a été abandonné et il n'y a donc plus de signification
particulière aux numéros mineurs pairs ou impairs. Le troisième chiffre indique
une révision, ce qui correspond à des corrections de bogues, de sécurité ou un
ajout de fonctionnalité, par exemple 2.2.26, 2.4.30 ou 2.6.11.
NB : Voici la commande pour vérifier la version du noyau de votre système
uname -r
44 AOR1121 30 mars 2023
Ou sont situés tous ces fichiers ?

Les sources du noyau sont situées dans /usr/src/linux-<version>/.


Il y a également un lien symbolique /usr/src/linux/ qui pointe vers ce répertoire.
Le noyau est situé dans le répertoire /boot/.
Les modules noyau sont situés dans /lib/modules/<version>/.
Quels fichiers composent le noyau ?
Le noyau est composé de 3 parties :
vmlinuz est l'image du noyau - le fichier qui contient le noyau.
System.map est le fichier qui contient les symboles noyau requis par les modules pour
assurer le lancement avec succès des fonctions du noyau.
initrd - initial ram disk - est un fichier qui charge les drivers compilés en modules nécessaire
au démarrage du noyau.
Ces trois fichiers sont dépendants et chacun est régénéré à chaque compilation.
45 AOR1121 30 mars 2023
Les niveaux d‘exécution d’un système gnu/linux

Lorsqu'un ordinateur est mis sous tension, un programme(firmware) se trouvant dans le Bios est
exécuté. Il vérifie l'état de la mémoire vive, initialise les ports d'entrée-sortie puis, sous contrôle du
paramétrage inscrit dans le setup, charge et lance le code se trouvant sur les premiers secteurs du
disque dur; Celui-ci détecte et initialise les périphériques, prépare ses structures de données, puis
lance un premier processus, init. Le processus init, dont le PID vaut 1 par convention, consulte le
fichier /etc/inittab, et lance les applications qui y sont mentionnées.

Un système Linux dispose de plusieurs niveaux d'exécution, qui correspondent à des


configurations différentes des applications démarrées .

Le niveau d'exécution par défaut est indiqué en début de fichier, par exemple : Démarrage par
défaut au niveau 5
id:5:initdefault:

Sur la plupart des distributions Linux, le niveau d'exécution 3 correspond à un démarrage avec
tous les utilitaires standards, mais en mode texte (console) alors que les niveaux 4 ou 5
correspondent au démarrage graphique avec X-Window.
46 AOR1121 30 mars 2023
Les niveaux d‘exécution d’un système gnu/linux

Ces 6 niveaux sont décrits au début du fichier /etc/inittab

.
47 AOR1121 30 mars 2023
La hiérarchie de fichiers sous linux
Pour assurer la compatibilité et la portabilité, les systèmes
Linux respectent l'unique norme FHS (File Hierarchy
Standard). La hiérarchie de base est la suivante :

Dans un système de fichiers, il y a toujours ce qu'on


appelle une racine, c'est-à-dire un "gros dossier de base
qui contient tous les autres dossiers et fichiers".

Sous Windows, il y a en fait plusieurs racines. "C:\" est la


racine de votre disque dur, "D:\" est la racine de votre
lecteur CD(par exemple).

Sous Linux, il n'y a qu'une et une seule racine : "/" Comme


vous le voyez, il n'y a pas de lettre de lecteur car justement
Linux ne donne pas des noms aux lecteurs comme le fait
Windows. Il dit juste "La base, c'est / " Il n'y a pas de
dossier de plus haut niveau que /, c'est-à-dire qu'il n'existe
pas de dossier qui contienne le dossier /. Quand on est à la
racine, on ne peut pas remonter en arrière car on est déjà
tout au début.
48 AOR1121 30 mars 2023
La hiérarchie de fichiers sous linux

Voici donc sommairement résumée une arborescence standard :


/ : c’est la racine de l’arborescence ;
/bin (abréviation de binary) : contient les fichiers binaires (exécutables) correspondant aux
utilitaires de base du système ;
/boot : tout petit répertoire contenant le noyau et les fichiers de ressources pour le chargeur
d’amorçage ;
/dev (abréviation de device) : contient les fichiers correspondant à tous les périphériques de
votre machine ;
/etc (abréviation de Editing Text Config) : c’est le répertoire le plus utilisé par l’administrateur,
puisqu’il contient tous les fichiers de configuration du système et de tous les logiciels qui y
sont installés. Ces fichiers sont tous des fichiers texte modifiables avec tout bon éditeur, d’où
le nom du répertoire ;
/home : c’est le répertoire qui contient le répertoire personnel de chaque utilisateur (sauf root
qui bénéficie d’un traitement à part) ;
49 AOR1121 30 mars 2023
La hiérarchie de fichiers sous linux

/lib (abréviation de library) : ce répertoire contient toutes les bibliothèques de ressources et de


fonctions nécessaires aux exécutables pour fonctionner (l’équivalent des DLL de Windows), ainsi que
les modules du noyau ;
/mnt (abréviation de mount) : le répertoire où sont attachées (« montées ») les partitions externes
telles que les disquettes et CD-Rom, mais aussi votre disque dur extractible, votre ZIP, etc. ;
/opt : paquets logiciels complémentaires ;
/proc (abréviation de processus) : le noyau place dans ce répertoire virtuel (il n’existe qu’en mémoire
et pas vraiment sur le disque) toutes les données concernant les processus en cours d’exécution ;
/root : c’est le répertoire personnel de l’administrateur ;
/sbin (abréviation de static binary) : contient comme /bin des utilitaires de base, mais compilés
statiquement, c’est-à-dire qu’ils sont autonomes et n’ont pas besoin de la présence de bibliothèques
(ce qui élimine une cause de panne pour ces programmes cruciaux) ;
/tmp (abréviation de temporary) : ce répertoire contient tous les fichiers temporaires que le système
est amené à créer ;
50 AOR1121 30 mars 2023
La hiérarchie de fichiers sous linux

/usr (abréviation de Unix System Ressources) : contient de nombreux


sous-répertoires dont :
/usr/bin : contient tous les binaires des programmes installés sur votre machine avec le
gestionnaire de paquets (RPM) ; il existe également un répertoire /usr/sbin qui présente les
mêmes caractéristiques que le /sbin de base ;
/usr/local : fichiers locaux à la machine ou son architecture (à ne pas partager sur un réseau
par exemple) ;
/usr/lib : bibliothèques moins cruciales, pas nécessaires en cas de dépannage de la machine ;
/usr/share : fichiers à partager sur le réseau (comme des documentations ou des données) ;
/usr/X11R6 : tout ce qui touche à l’interface graphique ;
/var : les fichiers évoluant souvent (comme les journaux système).

51 AOR1121 30 mars 2023


La notion de chemin absolu et relatif

La référence exacte d’un fichier, ou chemin, indique où


se trouve le fichier. Les noms des répertoires et des
fichiers sont séparés par un / (slash).

Exemple: /repertoire/sous-repertoire/fichier.

Ainsi, le chemine absolu de la référence du fichier


image0012.jpg est : /home/toto/photo/image0012.jpg.

Si on est dans le répertoire /home/toto,

le chemin relatif est plus simplement


photo/image0012.jpg.

Pour se souvenir, le slash en début indique toujours un


chemin
52 absolu.
AOR1121 30 mars 2023
Système de fichiers sous Linux

✓Définition
Un système de fichiers (FS ou File System en anglais) est une méthode d'organisation
des données de manière structurée sur une mémoire de masse afin de rendre possible le
traitement, l'accès, et l'utilisation des dites données.

Le système de fichiers permet aussi de dire qui a le droit de voir tel ou tel fichier. D'autre
part, les systèmes de fichiers récents sont dits "journalisés", c'est-à-dire qu'en cas de crash
(votre pc est éteint brusquement), le système est capable de retrouver ses fichiers sans
trop de problèmes. Règle importante : il ne peut y avoir qu'un seul système de fichiers par
partition.

53 AOR1121 30 mars 2023


Quelques Systèmes de fichiers sous Linux

Minix est le système de fichiers utilisé par le système d'exploitation Minix, le premier à
avoir fonctionné sous Linux. Il a de nombreuses limitations (un maximum de 64 Mo par
partition, des noms de fichiers courts, un seul horodatage, etc.). Néanmoins, il reste très
appréciable pour les disquettes et les disques en mémoire vive.

Ext (Extended File system) est une extension élaborée du système de fichiers minix. Il a été
complètement remplacé par sa seconde version (ext2) et supprimé du noyau (depuis la
version 2.1.21).

Ext2 est un système de fichiers de hautes performances, utilisé par Linux pour les disques
fixes tout autant que pour les supports amovibles. Le second système de fichiers étendu a
été conçu comme une extension du système (ext). Ext2 offre les meilleures performances
(en termes de vitesse et de consommation CPU) de tous les systèmes de fichiers gérés par
Linux.
54 AOR1121 30 mars 2023
Quelques Systèmes de fichiers sous Linux

ext3 est une version d'ext2 gérant la journalisation. On peut basculer facilement
d'ext2 à ext3, et inversement.
ext4 est un ensemble de mises à jour d'ext3 qui apporte des améliorations
notables en terme de performance et de stabilité, ainsi qu'une augmentation
importante des limites des volumes, fichiers et tailles de répertoire.

55 AOR1121 30 mars 2023


Fichier et répertoire (ou dossier)

Un fichier est un ensemble d'informations de même nature, structurées, et bien


organisées que l'on stocke sur une mémoire sous un même nom. Voici les
caractéristiques d'un fichier:
✓ un nom
✓ une taille
✓ date de création
✓ propriétaire + son groupe d‘appartenance
✓ droits (lecture, écriture, exécution)
N.B: Linux gère sans problème les noms de fichiers et dossiers contenant des
espaces, des accents et des majuscules.

En effet, Linux distingue quatre types de fichiers. Pourquoi autant ? Parce que
pour Linux tout est fichier. Par exemple, tous les périphériques sont des fichiers.
56 AOR1121 30 mars 2023
Type de fichier sous Linux

✓ Fichiers normaux (exemple:.doc,.xls,.mpeg,.txt,etc.);

✓ Répertoires(Dossier), ce sont des fichiers conteneurs qui contiennent des


références à d'autres fichiers. véritable charpente de l'arborescence, ils
permettent d'organiser les fichiers par catégories.

✓ Fichiers spéciaux, situés dans /dev, ce sont les points d'accès préparés par le
système aux périphériques. Le montage va réaliser une correspondance de ces
fichiers spéciaux vers leur répertoire "point de montage". par exemple, le fichier
/dev/hda permet l'accès et le chargement du 1er disque IDE.
✓ Fichiers liens symboliques, Ce sont des fichiers qui ne contiennent qu'une
référence (un pointeur) à un autre fichier. Cela permet d'utiliser un même
fichier sous plusieurs noms sans avoir à le dupliquer sur le disque
57 AOR1121 30 mars 2023
Type de fichier sous Linux

Un lien peut être :


Physique : sous Unix, un lien physique (parfois aussi nommé lien dur) permet de donner à
un même fichier plusieurs noms situés dans plu- sieurs endroits. Les modifications
effectuées dans le fichier sous l’un des noms apparaîtront aussi sous les autres noms.
Aucun des noms ne représente plus le fichier que les autres. La suppression d’un nom ne
supprime pas le fichier, qui continue d’exister sous ses autres noms. Un fichier n’est
définitivement supprimé que quand son dernier nom est effacé. Il n’est pas possible de
créer un lien physique vers un répertoire, ni vers un fichier situé sur une autre partition.

Symbolique : à la différence d’un lien physique, celui-ci ne contient que le chemin d’accès
vers le fichier ou répertoire source. Si la source est déplacée ou supprimée, le lien pointe
dans le vide. Ces liens permettent de distinguer le fichier original, ce que ne permettent
pas les liens physiques.
58 AOR1121 30 mars 2023
« Chapitre III. Installation
d’une distribution Linux
Type d’installation

Pour que Linux soit installé de manière pérenne sur un ordinateur, vous avez besoin
de disposer d’une zone libre sur un disque dur. Les trois solutions suivantes sont
envisageables :
✓ Remplacer un système d’exploitation sur le disque dur.
✓ Installer Linux sur un second disque dur.
✓ Partitionner un disque dur existant pour héberger Linux.

Les deux solutions suivantes sont aussi possibles :


▪ Installer Linux sur une machine virtuelle.
▪ Ajouter une partition comme un simple fichier dans une partition Windows, puis
installer Linux comme une application Windows.

60 AOR1121 30 mars 2023


Type d’installation : Remplacer un système d’exploitation sur le disque dur

Si vous possédez plusieurs ordinateurs dont l’un est disponible, vous avez
de la chance, il pourra être totalement dédié à Linux. Le remplacement d’un
ancien système d’exploitation par Linux est le moyen le plus simple pour
installer Linux sur un ordinateur.
La plupart des distributions Linux incluent
même un processus automatique qui vous guide à travers la configuration
d’un ordinateur totalement dédié au système d’exploitation. Toutefois, il
agit d’un tout ou rien puisque vous remplacez votre ancien système
d’exploitation par Linux !

Si vous remplacez un système d’exploitation existant, n’oubliez pas que


lorsque vous aurez terminé, les fichiers de données d’origine seront
perdus !

61 AOR1121 30 mars 2023


Type d’installation : Installer Linux sur un second disque dur

L’installation de Linux sur un second disque dur ou sur une partition du


disque dur principal nécessite la mise en place d’un scénario de démarrage
appelé dual boot (ou double amorce) : Linux et Microsoft Windows sont
installés sur deux disques ou deux partitions d’un même ordinateur.

Lorsque vous démarrez l’ordinateur, un menu vous demande de choisir quel


système d’exploitation vous souhaitez utiliser. Dans cette configuration
Windows, ses applications et ses fichiers sont conservés sur l’ordinateur,
mais vous utilisez Linux.

62 AOR1121 30 mars 2023


Type d’installation : Autre scenario d’installation

Si un système en dual boot ne vous convient absolument pas, trois autres


options sont encore envisageables. Bien que nous ayons parlé de trois
approches au total, ces trois nouvelles options nous ramènent à six
possibilités ! En voici l’explication.

Vous pouvez utiliser un logiciel serveur virtuel, comme VMWare ou


VirtualBox de Sun ; un tel logiciel permet de mettre en place une "machine
virtuelle" Linux qui s’exécute dans une fenêtre à l’intérieur du système
Windows.
Le disque Windows est conservé tel quel sans aucune
modification et Linux sera exécuté dans le domaine virtuel créé par le
logiciel VMWare ou VirtualBox. Vous pouvez aussi faire l’inverse ; n’installer que Linux
sur l’ordinateur, puis utiliser VMWare pour faire tourner Windows dans un
environnement virtuel à l’intérieur de Linux.
63 AOR1121 30 mars 2023
Installation d’une distribution: Prérequis

❑Iso d’une distribution Linux (exemple: Iso d’Ubuntu 20.04)


❑Clés Usb bootable (Exemple booté avec Refus)
❑HDD: Min 20Go
❑Ram: Min 512Mo
❑Choix du type d’installation

N.B: dans le cadre de ce module nous allons utiliser la


distribution Ubuntu 20.04

64 AOR1121 30 mars 2023


Présentation de l’environnement graphique
Sous Linux plusieurs environnement de bureaux graphiques sont utilisés parmi lesquels
nous pouvons citer :
•Environnements traditionnels :
• GNOME3
• KDE4
•Environnements dérivés :
• Unity (GNOME3, défaut Ubuntu)
• Cinnamon (GNOME3, défaut Linux Mint)
• Mate (GNOME)
•Environnements légers :
• LXDE
• Xfce
•Environnement entièrement paramétrable :
• Enlightenment
•Environnement Qt :
• Razor-qt
• Elokab
65 AOR1121 30 mars 2023
Prise en main d’Ubuntu 20.04

Le bureau

66 AOR1121 30 mars 2023


Prise en main d’Ubuntu 20.04

Le tableau de bord des fonctions essentielles

67 AOR1121 30 mars 2023


Prise en main d’Ubuntu 20.04

Configuration d’Ubuntu

68 AOR1121 30 mars 2023


« Chapitre IV. Les
commandes sous Linux
Les commandes de démarrage et d’arrêt du système

•Arrêter le OS
sudo halt
sudo shutdown -h now
•Rédemarrer
sudo reboot
sudo shutdown -r now
•Arrêt ou redémarrage différé
Il est possible de différer l'arrêt ou le redémarrage du système avec la
commande shutdown selon différentes modalités. C'est l'option -h ou -r qui
définit si l'on souhaite l'arrêt (-h pour halt) ou le redémarrage (-r pour
reboot).
70 AOR1121 30 mars 2023
Les commandes de démarrage et d’arrêt du système

•Arrêt différé en définissant l'heure dans le format absolu :


sudo shutdown -h hh:mm
ou hh:mm représente l'heure et dans lequel hh est l'heure (1 ou 2 chiffres)
et mm la minute de l'heure (sur deux chiffres).
•Arrêt différé en définissant le délai en minutes avant l'exécution de la
commande :
sudo shutdown -h +m
ou +m est le nombre de minutes à attendre. Le mot now est un synonyme
pour +0.

71 AOR1121 30 mars 2023


Les commandes Basic
Ouverture du tableau de bord: ALT+F2
Ouverture du terminal : CTRL+ALT+T
date -s HH:MM:SS : pour changer uniquement l'heure
date -s MM/JJ/AAAA : pour changer uniquement la date
clear: efface le terminal (équivalent ou Ctrl+L)
reset: réinitialise complètement le terminal (on ne peut plus remonter via Shift+PgUP ou avec la
barre de défilement)
cal: affiche le calendrier (ex cal 3 2015)
who(1) affiche qui est connecté.
w(1) affiche qui est connecté et ce qu’il fait.
last(1) affiche une liste des derniers utilisateurs connectés.
lastb(1) affiche une liste des utilisateurs s’étant mal connectés.
72 AOR1121 30 mars 2023
Les commandes liées aux répertoires

Pwd: permet de localiser a quel niveau je suis

Se déplacer dans les répertoires :


Cd .. : Remonte d'un niveau
Cd / : Retourne à la racine
Cd - : Retourne au répertoire précédent
Cd .: répertoire fils

Créer des répertoires :


mkdir : Crée un répertoire
mkdir -p rep1/rep2/rep3 :Crée un répertoire et ses sous répertoires associés
73 AOR1121 30 mars 2023
Les commandes liées aux répertoires
Copier un fichier ou un répertoire
cp : Demande s'il peut écraser le nom de fichier : répondre par Oui(y) ou Non (n)
cp -i : Avertit de l'existence d'un fichier du même nom et demande s'il peut ou
non le remplacer.
cp -l : Permet de faire un lien en "dur" entre le fichier source et sa copie
cp -s : Permet de faire un lien "symbolique" entre le fichier source et sa copie.
cp -p : Permet lors de la copie de préserver toutes les informations concernant le
fichier.

cp -r : Permet de copier de manière récursive l'ensemble d'un répertoire et de


ses sous répertoires.
cp -b : Permet comme l'option -i de s'assurer que la copie n'écrase pas un fichier
existant
74 AOR1121 30 mars 2023
Les commandes liées aux répertoires
Copier un fichier ou un répertoire
cp : Demande s'il peut écraser le nom de fichier : répondre par Oui(y) ou Non (n)
cp -i : Avertit de l'existence d'un fichier du même nom et demande s'il peut ou non le
remplacer.
cp -l : Permet de faire un lien en "dur" entre le fichier source et sa copie
cp -s : Permet de faire un lien "symbolique" entre le fichier source et sa copie.
cp -p : Permet lors de la copie de préserver toutes les informations concernant le fichier.
cp -r : Permet de copier de manière récursive l'ensemble d'un répertoire et de ses sous
répertoires.
cp -b : Permet comme l'option -i de s'assurer que la copie n'écrase pas un fichier existant
Supprimer des fichiers et répertoires :
rm -d : Permet de supprimer un répertoire qu'il soit plein ou non,
rm -r : Permet de supprimer un répertoire et ses sous répertoires,
rm -f : Permet de supprimer les fichiers protégés en écriture et répertoires sans confirmation
rmdir : Supprime un répertoire
rmdir
75 -p rep1/{rep2,rep}
AOR1121 30 mars 2023: Supprime le répertoire et ses sous répertoires associés
Les commandes liées aux fichiers

Déplacer ou renommer un fichier :


mv -b : Va effectuer une sauvegarde des fichiers avant de les déplacer
mv -i : Demande pour chaque fichier et chaque répertoire s'il peut ou non le
déplacer
mv -u : Demande a "mv" de ne pas supprimer le fichier si la date de modification
est la même ou plus récente que son remplaçant.
Création d'un fichier

La commande touch permet de créer un nouveau fichier vide


syntaxe : touch fichier : appliquée à un fichier déjà existant, elle modifie son
heure de dernier accès et met cette dernière à l'heure courante par défaut.

76 AOR1121 30 mars 2023


Les commandes liées aux fichiers

Affichage le contenu d'un fichier


La commande Cat elle permet d'afficher sur la sortie standard l'entier contenu d'un fichier.
Syntaxe : cat fichier
En voici les options :
-n (number) : numéro les lignes
-b (number nonBlank) : numérote que les lignes non vides

Exemple : cat /home/bernard/Bureau/essai.txt


À l'origine, cat permet de concaténer des fichiers et d'envoyer le résultat sur la sortie
standard
Syntaxe : cat fichier1 fichier2 fichier3

Exemple : cat Bureau/essai.txt Bureau/cout.doc Bureau/moi.txt


Au lieu d'afficher le résultat de la concaténation sur la sortie standard
Syntaxe : cat fichier1 fichier2 fichier3 > fichier4
Exemple
77 : cat Bureau/essai.txt
AOR1121 30 mars 2023 Bureau/cout.doc Bureau/moi.txt > /mika.doc
Les commandes liées aux fichiers

✓Affichage inverse
La commande tac est homologue à cat mais affiche le contenu d'un fichier en partant de la
dernière ligne vers la première.
✓Afficher l'entête (head)
La commande head permet de n'afficher que les premières lignes d'un fichier (10 par
défaut).
Voici les options :
-cN : affiche les N premiers octets
-nN : affiche les N premières lignes
-q : n'affiche pas le nom du fichier
-v : affiche le nom du fichier avant d'en afficher l'entête.
Syntaxe : head fichier
Exemple : head /home/bernard/Bureau/cout.txt
Exemple : head -n5 /essai.txt : affichage des 5 premières lignes.
Exemple : head -vc20 essai.txt : affichage des 20 premiers caractères après le nom du fichier
78 AOR1121 30 mars 2023
Les commandes liées aux fichiers

Afficher la fin (tail)

La commande tail permet de n'afficher que les dernières lignes d'un fichier (10 par
défaut). Elle est homologue à head et possède les mêmes attributs

Syntaxe : tail fichier


Exemple : tail lettre.txt

Numérotation des lignes


La commande nl permet l'affichage du contenu d'un fichier et en numérote les lignes.

En voici les options :


-bt : numérote les lignes non-vides (par défaut)
-ba : numérote toutes les lignes
-bpXXX : numérote seulement les lignes qui contiennent la chaine de caractères XXX
79 AOR1121 30 mars 2023
Les commandes liées aux fichiers

Affichage avec tri (sort)


La commande sort permet de trier les lignes d'un fichier. En voici les options :
-b : ignore les espaces en début de ligne
-d ordre alphabétique (A-Z, a-z, 0-9, espace) (par défaut)
-f : ignore la casse
-n ordre numérique
-r : inverse l'ordre de tri
Syntaxe : sort fichier
Exemple : sort -bdf essai.txt
80 AOR1121 30 mars 2023
Les commandes liées aux fichiers

WC : Statistiques
La commande wc permet de compter le nombre de caractères, de mots et de lignes
d'un fichier. Ses options sont :
-l : lignes : compte le nombre de lignes
-w : word : compte le nombre de mots
-c : chars : compte le nombre de caractères
-L : Lengh max ligne : affiche la longueur de la ligne la plus longue
Syntaxe : wc fichier
Exemple : wc mail.txt
Sans options, wc renvoie automatiquement le nombre de lignes (l), de mots (w) et de
caractères
Exemple : wc mail.txt 12 108 671 mail.txt : Dans cet exemple le fichier comporte 12
lignes,
81 108 mots et30671
AOR1121 caractères
mars 2023
Les commandes liées aux fichiers

La commande file permet de connaître le type d'un fichier


Syntaxe : file fichier
Exemple : file ../* : dans cet exemple on souhaite connaître le type de tous
les fichiers du répertoire parent. La précision de la commande dépend du
fichier magique qu'elle appelle.

82 AOR1121 30 mars 2023


Les commandes liées aux fichiers

La commande ls permet de lister les fichiers d’un répertoire :


ls -l : Permet de lister les attributs des fichiers
ls -d: Affiche uniquement les répertoires
ls -a liste tous les fichiers du répertoire, y compris les fichiers cachés. Cette option est très
utile lorsque l'on se trouve dans son répertoire personnel car il contient les fichiers de
configuration de l'utilisateur dont les noms commencent généralement par un point et
seule l'option -a permet de détecter leur existence.
ls -m : Affiche les fichiers en les séparant par une virgule au lieu de les présenter en
colonnes.
ls -t : Affiche les fichiers par date, c'est-à-dire en les classant du récent au plus ancien.
ls -lu : Affiche les fichiers par date de dernier accès et indique cette date .
83 AOR1121 30 mars 2023
Les commandes liées aux fichiers

Création des liens


Syntaxe de ln : ln fichier-source fichier-lien
ln -s permet d'effectuer un lien symbolique.
ln -b réalise une sauvegarde d'un fichier existant et dont nous aurions utilisé le nom avant
de l'écraser.
ln -i demande à l'utilisateur s'il souhaite écraser le fichier qui a un lien sur le fichier source
au cas ou celui-ci existerait déjà.
ln -d effectue des liens durs sur des répertoires ... seuls les utilisateurs possédant les
droits adéquats pourront le faire.

84 AOR1121 30 mars 2023


Les commandes liées aux fichiers

Recherche d’un mot dans un fichier

La commande grep

Une autre commande de base de Linux qui est sans aucun doute utile pour une
utilisation quotidienne est grep. Elle vous permet de rechercher tout le texte d’un
fichier donné.

Par exemple, grep blue notepad.txt recherchera le mot blue dans le fichier notepad.
Les lignes qui contiennent le mot recherché s’afficheront entièrement.

85 AOR1121 30 mars 2023


Les commandes liées aux fichiers

Commande zip, unzip

Utilisez la commande zip pour compresser vos fichiers et


répertoires dans une archive zip, et utilisez la
commande unzip pour extraire les fichiers zippés d’une archive zip.

86 AOR1121 30 mars 2023


Commande sudo

Abréviation de « SuperUser Do« , cette commande vous permet


d’effectuer des tâches qui nécessitent des autorisations
administratives ou de root.

Cependant, il n’est pas conseillé d’utiliser cette commande pour un


usage quotidien car une erreur pourrait facilement se produire si vous
avez fait quelque chose de incorrect.

87 AOR1121 30 mars 2023


Commande top

La commande top vous permet d'afficher des informations en continu


sur l'activité du système. Elle permet surtout de suivre les ressources
que les processus utilisent (quantité de RAM, pourcentage de CPU, la
durée de ce processus depuis son démarrage). (en secondes).Pour
quitter top, appuyer simplement sur la touche "q".

88 AOR1121 30 mars 2023


Commande ps

La commande ps permet de connaître les processus actifs à un moment donné :


Syntaxe: ps
Ex: ps –aux : pour afficher des informations sur les processus
La commande pstree : Cette commande permet d'afficher les processus sous forme
d'arborescence et donc de voir leurs inter-dépendances.
La commande kill :
La commande "kill" permet d'expédier un signal à un processus en cours dans le but
l’arrêter ( kill permet de tuer un processus en cours d’éxecution).
Exemple: Kill numero_ PID

89 AOR1121 30 mars 2023


Gestion des paquets sous Linux

Sous linux un paquet logiciel se réfère à un logiciel contenu dans un fichier


d'archive qui, manipulé par un système de gestion de paquets logiciels, installe
ou supprime le logiciel en question dans un ordinateur.
Sous linux nous distinguons deux groupes de paquets :
- RPM (Red Hat Package Manager) avec comme extension .rpm pour la famille
Red Hat ;
- DPKG (Debian Package Tools) avec comme extension .deb, .udeb pour la
famille Debian.
NB : les distributions qui ne font pas parti de DPKG et RPM ont leurs extensions de
paquets (Ex : Pfsence)
Un gestionnaire de paquets est un (ou plusieurs) outil(s) automatisant le
processus d'installation, désinstallation, mise à jour de logiciels installés sur
90
un AOR1121
système informatique.
30 mars 2023
Gestion des paquets sous Linux

Il existe trois types d’installation de paquets sous linux :


- L’installation à partir d’un dépôt ;
- L’installation à partir de la source,
- L’installation d’un fichier compilé.

91 AOR1121 30 mars 2023


Gestion des paquets sous Linux

a)L’installation d’un paquet à partir d’un dépôt


Un dépôt est un serveur qui contient un ou plusieurs paquets
(logiciels ou librairies). Cela a l’avantage de permettre l’installation
d’un logiciel très simplement, puisque cette installation peut se faire
directement via internet, sans avoir besoin d’un quelconque
CDRom. De même, cela est très pratique pour les mises à jour, car il
suffit de regarder régulièrement sur le dépôt les mises à jour
effectuées.
Dans le cours nous allons faire un exemple d’installation avec la
famille DPKG.

92
Syntaxe
AOR1121
: apt install VLC ou apt –get install vlc
30 mars 2023
Gestion des paquets sous Linux

b) Installation d’un paquet à partir de la source

C’est le type d’installation qui se fait à partir du site de


concepteur ; pour réaliser ce type d’installation il faut
connaitre le site de concepteur de logiciel et télécharger le
paquet de la famille de votre distribution.
Pour démarrer l’installation il faut être dans même répertoire
que le soft puis taper la commande.
Syntaxe : dpkg -i vlc.deb

93 AOR1121 30 mars 2023


Gestion des paquets sous Linux

c) L’installation d’un paquet à partir d’un fichier compilé

C’est une installation obtenue à partir d’un fichier zippé, il


est possible de télécharger une archive d’un paquet,
l’extraire sur la machine puis l’installer.

94 AOR1121 30 mars 2023


Les comptes sous linux

1. Le compte root
Le compte administrateur ou super-utilisateur sous linux se nomme root. Le compte
root possède son propre répertoire personnel directement sous la racine : /root.
Si vous voulez réaliser une opération qui concerne la modification du système, par
exemple ajouter un compte utilisateur, changer la configuration réseau, ajouter une
imprimante, alors vous devrez être administrateur et la réaliser sous le compte root.
Son utilisation permanente est cependant déconseillée pour plusieurs raisons :
▪ En étant connecté en root, vous pouvez faire toutes sortes de modifications sur
votre système et ceci sans avertissement, au risque de faire des erreurs graves.
▪ Votre système devient plus vulnérable aux attaques extérieures.

95 AOR1121 30 mars 2023


Les comptes sous linux

1. Le compte utilisateur
Pour pouvoir utiliser Ubuntu, vous avez ouvert une session avec le compte et le mot de
passe que vous aviez choisi lors de l’installation. Pour l’instant, c’est le seul compte
dont vous disposez, c’est un simple compte utilisateur.
Après l’ouverture de votre session, vous disposez d’un environnement personnel au
niveau de votre bureau (fond d’écran. . .) et surtout d’un répertoire personnel où seront
enregistrés vos nouveaux fichiers et dossiers.
Sous linux, les répertoires personnels des utilisateurs sont dans /home, « / » étant le
répertoire racine.
Par exemple si votre nom de connexion est « bernard », votre répertoire personnel est
:/home/bernard.
Les dossiers et fichiers que vous y créerez ne seront accessibles que par vous et par root.
96 AOR1121 30 mars 2023
Les comptes sous linux

Commande liées aux comptes

Adduser: permet de créer un compte utilisateur


Userdel : permet de supprimer un compte

97 AOR1121 30 mars 2023


Gestion des groupes

Un groupe est un ensemble d’utilisateurs. Les groupes sont utilisés


pour réunir des utilisateurs qui, soit travaillent sur un même projet, soit
ont besoins de permissions spécifiques que d’autres utilisateurs ne
doivent pas avoir ou encore, pour établir une hiérarchie au sein des
utilisateurs.

N.B: Un groupe est identifié par un numéro : le GID (Group IDentificator).


Un groupe peut ne pas contenir d’utilisateur.

.
98 AOR1121 30 mars 2023
Gestion des groupes

La commande addgroup a pour effet d’ajouter un nouveau groupe. Elle a pour


but de modifier le fichier /etc/group. Le fichier /etc/group est le fichier regroupant
tous les groupes du système.
Une ligne de ce fichier décrit le nom du groupe et son GID. La syntaxe de cette
commande est la suivante :
addgroup <nom_du_groupe_à ajouter>
Supprimer un groupe
Pour enlever un groupe du système, vous devez utiliser la commande groupdel. Elle a
pour but d’enlever du fichier /etc/group la ligne correspondant au groupe passé en
argument.
La syntaxe de cette commande est la suivante :
groupdel <nom_du_groupe_supprimer>

.
99 AOR1121 30 mars 2023
Gestion des groupes

La commande adduser vue précédemment permet d’ajouter un


utilisateur existant dans un groupe existant.
Elle a pour effet de modifier le fichier /etc/group en ajoutant à fin de la
ligne correspondant au groupe l’utilisateur devant être inscrit. La syntaxe
de cette commande est la suivante :
adduser <nom_d_utilisateur_à ajouté au groupe> <nom_de_groupe>
Signalons que la commande groups permet de savoir dans quel(s)
groupe(s) vous êtes inscrits et que la commande id en donne une
description plus détaillée.

.
100 AOR1121 30 mars 2023
Gestion des droits d’accès aux fichiers

Généralement nous avons 3 types d’utilisateurs sur le fichier


ou répertoire :
▪ propriétaire (user)
▪ personnes du meme groupe (group)
▪ les autres (others)
Les fichiers possèdent un certain nombre d’attributs qui définissent
les autorisations d’accès. Nous avons ainsi 3 types des permissions
sur le fichier :

.
101 AOR1121 30 mars 2023
Gestion des droits d’accès aux fichiers

Généralement nous avons 3 types d’utilisateurs sur le fichier ou


répertoire :
▪ propriétaire (user)
▪ personnes du meme groupe (group)
▪ les autres (others)
Les fichiers possèdent un certain nombre d’attributs qui définissent les
autorisations d’accès. Nous avons ainsi 3 types des permissions sur le
fichier :
r: autorisation à lire : Afficher le
read contenu
w autorisation à écrire Modifier
:write
x autorisation à Exécuter
. l’exécution: execute
102 AOR1121 30 mars 2023
Gestion des droits d’accès aux fichiers

Exemple :
-rw-rx-r--: fichier ordinaire : lecture et écriture permise pour le propriétaire,
lecture et exécution pour le groupe et seulement lecture pour les autres. Il
est donc impossible aux membres du groupe et aux autres utilisateurs
d’écrire dans ce fichier.
La protection d’un fichier ne peut être modifier que par le propriétaire. La
commande utilisée est : chmod (Change Mode)Il existe deux modes
d’utilisation de cette commande :
Par un nombre octal
chmod [nombre octal] fichier
.
103 AOR1121 30 mars 2023
Gestion des droits d’accès aux fichiers

Symbolique ou lettrée
chmod [who]op[permission] fichier
who : est une combinaison de lettre
Représentation binaire
u = user = propriétaire
7 = 1x2^2 + 1x2^1 + 1x2^0
o = other = autres
5 = 1x2^2 + 0x2^1 + 1x2^0
a = all = tous
op : + ajoute un droit d’accès
- supprime un droit d’accès
. = affecte un droit de manière absolue
104 AOR1121 30 mars 2023
Permission : r, w, x
Gestion des droits d’accès aux répertoires

L’interprétation des droits des répertoires est différente de celle des fichiers. Les
informations concernant un répertoire sont données par la commande :
ls –dl répertoire.
L’interprétation des protections est :
r : autorise la lecture du contenu du répertoire, permet de voir la liste des fichiers
(et sous-répertoires) contenu dans le répertoire.
w : autorise la création, la suppression et le changement du nom d’un élément du
répertoire. Cette permission est indépendante de l’accès aux fichiers du
répertoire.
x : autorise l’accès au répertoire ( à l’aide de la commande cd).
.
105 AOR1121 30 mars 2023
Gestion des droits d’accès aux répertoires

Trois commandes manipulent les permissions associées à un fichier et à un répertoire :


chmod : intervient sur les droits.
chown : affecte un nouveau propriétaire à un fichier ou répertoire.
chgrp : affecte un nouveau groupe à un fichier ou répertoire.

.
106 AOR1121 30 mars 2023
Changer des permissions

La commande chmod est la commande à utiliser pour changer les permissions


d’accès d’un fichier. Un utilisateur quelconque a le droit de changer des
permissions d’accès sur un fichier s’il est le propriétaire de ce fichier. Dans le cas
contraire, le système l’en avertira par un message : operation not permitted.
Il existe deux types de syntaxe pour cette commande :
▪ La première que nous appellerons la méthode lettrée,
▪ La deuxième que nous appellerons la méthode octale.

.
107 AOR1121 30 mars 2023
Changer des permissions

La méthode lettrée
Comme nous l’avons déjà signalé, il existe trois groupes de trois lettres ou
symboles. Chacun de ces groupes désignent une personne ou un groupe de
personnes en particulier. La méthode lettrée attribue à chacun de ces groupes
une lettre particulière : u pour l’utilisateur possédant le fichier, g pour le groupe
et o pour les autres (pour other en anglais). Elle attribue également Pour chacune
des permissions, la lettre r pour la lecture, w pour l’écriture et x pour l’exécution.
Pour ajouter une permission, nous utiliserons le symbole +, pour en enlever, nous
utiliserons le symbole -.
Exemple : chmod u+rwx bernard
.
108 AOR1121 30 mars 2023
Changer des permissions

La méthode Octal
La deuxième méthode est une méthode un peu moins intuitive. Elle est basée sur
le tableau suivant : La commande a utilisé est toujours chmod. Elle prend comme
arguments la somme des permissions sélectionnées dans le tableau et le(s)
fichier(s) sur lequel vous voulez les appliquer.
Exemple : chmod 764 nom_fichier Nous mettons pour l’utilisateur les
permissions de lecture, d’écriture et
d’exécution ; pour le groupe les
permissions de lecture et d’écriture ; pour
les autres uniquement la permissions de
lecture. La sélection dans le tableau nous
donne : 400+200+100+40+20+4 = 764
.
109 AOR1121 30 mars 2023
Changer le propriétaire

Chaque utilisateur inscrit dans le système fait partie d’au moins un groupe. Un utilisateur peut être
seul dans un groupe, mais lorsque plusieurs utilisateurs travaille sur un même projet, il devient alors
nécessaire de les réunir dans un seul et même groupe. Un des objectifs étant de faciliter les
échanges de fichiers. Sous Unix, en gros, l’échange de fichiers revient à en changer son propriétaire.
La commande chown permet d’effectuer une telle action. Sa syntaxe est la suivante : chown
<nouvel_utilisateur> <fichier>*
Exemple :
$ ls -l
-rw-r--r-- 1 jean users 4990 Sep 28 20:17 cours.html
$ chown david cours.html
$ ls –l
-rw-r--r-- 1 david users 4990 Sep 28 20:17 cours.html
Une option de chown est à connaître :
chown -R (récursif) permet de modifier les permissions d'un répertoire et de ses sous-répertoires :
.
110 AOR1121 30 mars 2023
Droit d’accès à ma création d’un fichier

La protection d’un fichier, ainsi que le nom du propriétaire (le vôtre) et le nom du groupe
auquel vous appartenez, sont établis à sa création et ne peuvent être modifiés que par son
propriétaire.
La commande umask permet de définir un masque de protection des fichiers (et
répertoires) lors de leur création. Cette commande se trouve en général dans le fichier.
bashrc, mais elle peut être exécutée à tout moment. Le masque est exprimé en base 8.
Exemple : umask 022
La valeur 022 est soustraite de la permission permanente (111 111 111) :
111 111 111 <= permission permanente
000 010 010 <= on enlève les bits dont on ne veut pas
111 101 101 => 755
Ou encore la forme symbolique: umask u=rwx,g=rx,o=rx
111 AOR1121 30 mars 2023
.
Configuration des cartes réseaux sous Ubuntu

La configuration des cartes réseaux consiste notamment à définir :


1. les interfaces réseaux (cartes) de la machine,
2. une adresse IP (qui sera statique ou dynamique),
3. la passerelle par défaut,
4. un masque de sous-réseau,
5. une adresse de serveur DNS.
Il y principalement deux voies pour le paramétrage de ces
éléments.
1. en utilisant l'interface graphique.
2. en mode texte (par le terminal)
112 AOR1121 30 mars 2023
Configuration des cartes réseaux sous Ubuntu

Solution s'appuyant sur l'interface graphique La façon la plus


simple de configurer son réseau est sans contexte d’utiliser le
Network Manager. Network Manager est une applet Gnome se
trouvant dans la zone de notification de la barre des tâches.
Solution en utilisant le mode texte (console, terminal) : La première
commande à connaître est ifconfig. Cette commande vous donne la
configuration actuelle (si elle existe) de votre réseau.
D’abord désactiver l’interface:
$ sudo ifconfig lo inet down

113 AOR1121 30 mars 2023


Configuration des cartes réseaux sous Ubuntu

Ensuite, la configurer et la réactiver en une seule commande:


$ sudo ifconfig lo inet up 192.168.8.1 netmask 255.255.255.0 broadcast 192.168.8.255

Ajouter le gateway en créant une route:


$ sudo route add default gw 192.168.8.1

Réallumer l’interface

$ sudo ifconfig lo inet up

114 AOR1121 30 mars 2023


TP en groupe de 5

Faire une présentation sur l’installation d’une distribution linux et donner quelques
éléments de différence entre la distribution installée et Ubuntu.

CentOS ( Mulamba Kayembe )


Mandriva (Mukinayi kanyama)
Debian (Muamba Muamba)
Red Hat ( Bakatupenda Mulumba)
Suse (Ngalamulume Mulumba)
Fedora (Mputu Kanyinda)
Linux mint ( Mbiya Muamba )
ElementaryOS ( Mbuyi Tshisungu)
Windowsfx10 (Windowsfx10)
Kali Linux (OHOTO yango)
115 AOR1121 30 mars 2023
TP en groupe de 5 (Suite)

Faire une présentation sur l’installation d’une distribution linux et donner quelques
éléments de différence entre la distribution installée et Ubuntu.

Gentoo (Ngomba tshimanga)


Manjaro (Kayembe Mputu)
Solus (Muabi Mukumbi)
Knoppix (Beya Mbuyamba)
Slackware

116 AOR1121 30 mars 2023


« Merci à tous!

Vous aimerez peut-être aussi