Introduction à Linux

Crédit [1]

Origine

Pour la petite histoire, il faut savoir qu’au commencement de l’informatique professionnelle (dans les années 70), il existait :

  • Des mini ordinateurs (VAX, IBM, etc.) avec des systèmes d’exploitation tels que VMS, UNIX, etc. C’était des monstres ! Il fallait les installer dans des pièces séparées tant ils étaient volumineux.

  • Des micro ordinateurs (IBM, compatible, Apple) avec les systèmes d’exploitation MS-DOS, MINIX, IOS. Ils étaient employés dans les bureaux.

  • Des terminaux graphiques ou textes reliés aux mini ordinateurs.

L’informatique s’est ensuite démocratisée dans les foyers avec des ordinateurs tels que ATARI, Macintosch, IBM ou compatible, AMSTRAD, etc.

Dans les entreprises, les ordinateurs ont également considérablement réduit de volume.

N’ont réellement subsisté que les micro ordinateurs compatibles et Apple.

Au début des années 90, un étudiant finlandais, Linus Torvalds, reçoit un ordinateur avec le fameux micro processeur 80386 INTEL (jeu d’instructions 32 bits) muni du système d’exploitation MINIX (un mini UNIX). Il utilisait un émulateur de terminal pour se connecter à son université.

Étant déçu du fonctionnement de cet émulateur, il décida d’en créer un qui devint beaucoup plus performant, au point qu’il devint un vrai petit système d’exploitation. Il s’inspira profondément du système UNIX développé dans les années 70 par 2 américains travaillant pour AT&T Bell Laboratories. Le noyau Linux était né !

Sa grande force fut de développer ce système de manière ouverte, en distribuant les sources, sous licence libre, afin que la communauté mondiale des développeurs puisse apporter sa contribution. Il reste cependant le superviseur, celui qui valide les nouvelles versions.

Grâce aux contributions, le noyau Linux en est venu à supporter les derniers matériels, s’est étoffé d’outils logiciels pour tous les usages. Cela a contribué à sa rapide propagation dans les universités, les entreprises et même les familles.

Linux concurrence maintenant le géant Microsoft.

Description

A l’heure actuelle, Linux se trouve sous la forme de distribution (OpenSuSE, Ubuntu, Kali, etc.).

Au labo, nous utilisons la distribution OpenSUSE.

Une distribution contient :

  • Le noyau Linux (le minimum pour contrôler l’ordinateur) validé par Linus Torvalds.

  • Des interfaces graphiques (KDE, GNOME, etc.).

  • Toute une panoplie de logiciels pour tous les usages (LibreOffice, etc…​).

  • Des outils spécifiques à la distribution pour installer et configurer.

Lorsque la version du noyau Linux est paire, le noyau est dit stable. Il vaut mieux choisir une distribution avec un noyau pair.

Performances

Linux est multi tâches, multi utilisateurs.

  • Multi tâches signifie que plusieurs programmes peuvent être lancés simultanément. Si l’ordinateur ne possède qu’un seul processeur, Linux alloue une portion de temps de fonctionnement à chaque tâche ou processus (programme en cours d’exécution), ce qui donne l’impression aux utilisateurs que tous les processus fonctionnent en même temps. Le dispositif dans le noyau Linux permettant la gestion des processus est appelé l'ordonnanceur (scheduler en anglais).

  • Multi utilisateurs signifie que plusieurs utilisateurs peuvent travailler en même temps sur un système Linux. Bien sur, un ordinateur ne dispose en général que d’un clavier/écran. Par le biais d’autres ordinateurs connectés par le réseau informatique, il est possible de se connecter à distance au système Linux et de travailler comme si nous étions sur l’écran/clavier principal. Dans ce cas, on doit disposer d’un logiciel appelé émulateur de terminal. Il en existe en mode ligne de commande (putty ou ssh) ou graphique (Xming). Les émulateurs de terminaux graphiques consomment beaucoup de ressource réseaux et demande que l’ordinateur soit puissant. C’est la raison pour laquelle dans la plupart des cas, des émulateurs de terminaux en mode ligne de commande sont utilisés. L'administrateur root dispose de tous les droits sur le système. Son mot de passe — configuré lors de l’installation — est normalement “admin”.

Linux dispose d’un noyau à structure modulaire. Il est possible d’étendre ou de diminuer les fonctionnalités du noyau Linux en ajoutant ou retranchant des modules logiciels (commandes insmod, lsmod, rmmod). Il faut être expert pour cela.

L’interface de commande

Sous Linux, nous utilisons souvent l’interface textuelle de commande. Elle se révèle souvent plus rapide et efficace. Cette interface est appelée shell. Il existe plusieurs variantes de shell.

Au labo, nous utilisons le shell bash.

Il existe bien sûr aussi une interface de commande graphique et même plusieurs (KDE, GNOME).

Au labo, nous utilisons l’interface graphique KDE.

Le système de fichiers

Le système de fichiers permet de gérer l’organisation et l’accès aux fichiers sur une partition du disque. Il est indispensable.

Il y a plusieurs types de systèmes de fichiers (ext4, btrfs …​).

Le système de fichier est organisé sous forme d'arborescence.

La répertoire racine nommé invariablement ‘/’ est le répertoire de plus haut niveau.

La gestion des droits est la même quelque soit le système de fichier installé.

Un fichier est caractérisé par :

  • son type,

  • ses droits d’accès,

  • son propriétaire,

  • son groupe.

Exemple de contenu d’un répertoire
ragnar@pluton:~ > ls -l
rw-r--r-- 1 root root  269 Sep 13 19:50 .gtkrc-2.0
drwxr-xr-x 1 root root   10 Sep 13 19:50 .local
drwxr-xr-x 1 root root   20 Sep 14 15:41 Documents
drwxr-xr-x 1 root root    0 Sep 13 19:50 Downloads
drwxr-xr-x 1 root root    0 Sep 13 19:50 Music
drwxr-xr-x 1 root root    0 Sep 13 19:50 Pictures
drwxr-xr-x 1 root root    0 Sep 13 19:50 Videos
-rw-r--r-- 1 root root    0 Sep 14 15:42 readme.txt
Les droits des fichiers sous Linux

Type

(1erbit)

Droits propriétaire

(les 3 bits suivants)

Droits du groupe

(les 3 bits suivants)

Droits des autres

(les 3 bits suivants):

Propriétaire

Groupe

  • ‘-’ : fichier régulier

  • ‘d’ : répertoire

  • ‘r’ : read

  • ‘w’ : write

  • ‘x’ : execute

  • ‘r’ : read

  • ‘w’ : write

  • ‘x’ : execute

  • ‘r’ : read

  • ‘w’ : write

  • ‘x’ : execute

Nom de l’utilisateur propriétaire du fichier

Nom du groupe d’utilisateurs ayant des droits particuliers

Il existe d’autres types de fichiers que nous verrons plus tard.

Lorsque la lettre est présente, le droit est effectif. Lorsque le caractère tiret est présent, cela signifie que le droit est refusé.

Le droit ‘x’ ne s’applique qu’aux fichiers exécutables et aux répertoires. Pour un répertoire, ce droit signifie qu’on peut le parcourir pour accéder à ses sous répertoires.

La 3ème série de droits pour les autres s’appliquent aux utilisateurs n’étant pas le propriétaire ni un membre du groupe indiqué.

Les principales commandes à connaître qui s’appliquent au système de fichiers sont les suivantes :

Les principales commandes du shell bash

cd

(change directory) Permet de se déplacer dans un autre dossier.

Exemples :

  • cd / : Retour au répertoire racine.

  • cd : Retour au dossier personnel.

  • cd ..: Déplacement dans le répertoire père.

  • cd .: Pas de déplacement.

  • cd /home/nom/doc : Déplacement à partir de la racine.

  • cd ../doc/travail : Déplacement relatif au répertoire courant.

ls ou ll

ls (list) liste le contenu d’un répertoire.

chown

chgrp

chmod

chown (change owner) change le nom du propriétaire.

chgrp (change group) change le nom du groupe.

chmod (change mode) affecte les droits pour les trois parties.

mkdir

rmdir

mkdir (make directory) permet la création d’un répertoire.

rmdir (remove directory) permet la destruction d’un répertoire vide.

cp

mv

rm

cp (copy) permet la copie d’un fichier

mv (move) permet de renommer un fichier ou de le déplacer dans un autre répertoire.

rm (remove) permet la suppression d’un fichier.

Il existe un caractère spécial (‘*’) permettant de remplacer une partie d’un nom.

Exemples :

  • vous voulez lister tous les fichiers d’un répertoire se terminant par .c.

    La commande à taper est la suivante : ls *.c

  • vous voulez fixer les droits à un fichier personnel nommé fichier.c

    cd
    cd Documents
    chmod 640 fichier.c (1)
    chown antoine fichier.c
    chgrp users fichiers.c
    1 Explications du droit 640 :
    • 6 : en binaire 110|2 ⇒ “rw-”. Le propriétaire dispose des droits de lecture (→ ‘r’), d’écriture (→ ‘w’) mais pas d’exécution (→ ‘-’)

    • 4 : en binaire 100|2 ⇒ “r--”. Le groupe dispose seulement du droit de lecture du fichier (sous réserve de pouvoir accéder au répertoire).

    • 0 : en binaire 000|2 ⇒ “---”. Aucun droit pour tous les autres utilisateurs de Linux.

Outil de configuration OpenSUSE

Il existe un utilitaire de configuration graphique nommé YaST2 qui met à jour automatiquement les fichiers de configuration sous-jacent. L’extension de ces fichiers est la plus souvent .conf et se trouve dans le répertoire /etc.

A partir d’un terminal en ligne de commande, l’utilitaire est accessible en tapant la commande sudo yast.

Consoles Linux additionnelles

Par défaut, Linux exécute l’interface graphique KDE.

Toutefois, il existe des terminaux en mode ligne de commande (texte) démarrés automatiquement lors de l’initialisation de Linux.

On y accède par la séquence de touches Ctrl + Alt +F<n> avec <n> valant 1,2,3…​

Ctrl + Alt +F7 permet de revenir à l’interface graphique.

Le nom de l’administrateur est invariable : root. Son mot de passe — configuré lors de l’installation — est admin.

Le plus souvent possible, il faut se connecter avec son nom d’utilisateur reçu en début d’année.

Il sera nécessaire de se connecter administrateur pour les tâches d’administration.

Il est possible d’exécuter une commande en tant qu’administrateur, bien que connecté sur un compte standard, via la commande sudo.

En agissant en tant qu’administrateur, il est possible de bloquer le système d’exploitation et de devoir tout réinstaller, en cas de fausses manipulations .

N’hésitez pas à utiliser les pages de manuel Linux accessibles en ligne de commande via la commande man

Exemple pour la commande cp : man cp.


1. M.Antoine est l’auteur original de ce document

🞄  🞄  🞄