Vous êtes sur la page 1sur 40

Administration & Sécurité des Systèmes

d’Exploitation

Par : L’équipe
administration
système et
sécurité
1
Administration & Sécurité des Systèmes
d’Exploitation
Chapitre 2

Installation et gestion des


paquetages

Par : L’équipe
administration
système et sécurité2
Administration & Sécurité des Systèmes
d’Exploitation

Archivage et Compression

3
Compiler et installer des programmes
à partir des sources

Les archives:

On appelle archive un ensemble de fichiers qui ont


une relation et stockés dans un fichier unique (pour
faciliter la copie, par exemple).

La commande permettant de rassembler fichiers et


sous-répertoires dans une archive est tar.

C'est pourquoi il est courant de dire qu'un fichier


tar est une archive.
4
Compiler et installer des programmes
à partir des sources

La commande tar (=Type ARchive) est une ancienne


commande Unix qui permet d'archiver des
fichiers

Utiliser pour faire des sauvegardes d'un


ensemble de fichiers en un seul fichier.

Par défaut la taille du fichier .tar créer, est


identique a la taille de l’ensemble des fichier
source
5
Compiler et installer des programmes
à partir des sources

La commande d’archivage tar:

tar fonction options fichiers

Fonctions courantes:
-c: Crée une nouvelle archive.
-t: liste les fichiers rassemblés dans un fichier tar.
-x: Extrait le contenu d'un fichier tar.

Options courantes:
-f file: Spécifie le nom du fichier tar.

6
Compiler et installer des programmes
à partir des sources

La commande d’archivage tar:

tar -cvf monbackup.tar ~

tar -cvf usr.tar /usr

tar -tvf monbackup.tar

tar -xvf monbackup.tar

7
Compiler et installer des programmes
à partir des sources

Principe de compression:
L'idée de base est de supprimer les redondances.
Donc éliminé les informations inutiles.

Exemple Sur un fichier texte, la ligne :


" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX " (30 lettre X) occupe
30 Octets.

Si on remplace la ligne par " 30*X ", nous


n'occupons plus sur le disque que 4 Octets.
Les algorithmes de compression sont plus
complexes dans la réalité mais le principe est le
même. 8
Compiler et installer des programmes
à partir des sources

Principe de compression:

Avantages
Contre
Inconvénients
??
9
Compiler et installer des programmes
à partir des sources

La compression des fichiers :


La compression permet d'économiser l'espace de
stockage et les besoins inhérents au transfert de
fichiers.

Il existe de nombreux utilitaires de compression


de fichiers:
compress, uncompress: Le plus ancien algorithme de
compression
gzip, gunzip: Le plus utilisé.
bzip2, bunzip2: Le meilleur algorithme de compression.

Une fois qu'une archive a été créée, elle peut


être compressée. 10
Compiler et installer des programmes
à partir des sources

Exemple

$ gzip -v backup.tar
backup.tar: 53.8% -- replaced with backup.tar.gz

$ bzip2 -v backup.tar
backup.tar: 2.260:1, 3.540 bits/byte, 55.75% saved, 22773760 in, 10 077
846 out.

11
Compiler et installer des programmes
à partir des sources

La compression des fichiers :


$ ls -l backup.tar
-rw-r--r-- 1 rarrigon users 22 773 760 nov 10 11:07 backup.tar

$ gzip -v backup.tar
backup.tar: 53.8% -- replaced with backup.tar.gz

$ ls -l backup.tar.gz
-rw-r--r-- 1 rarrigon users 10 507 393 nov 10 11:07 backup.tar.gz

$ gunzip backup.tar.gz

$ bzip2 -v backup.tar
backup.tar: 2.260:1, 3.540 bits/byte, 55.75% saved, 22773760 in, 10 077
846 out.

12
Compiler et installer des programmes
à partir des sources

Archivage et compression des fichiers :


tar -cvzf backup.tgz ~
Backup du répertoire utilisateur avec gzip
tar -cvjf backup.tbz ~
Backup du répertoire utilisateur avec with bzip2
tar -xvzf backup.tgz
Décompression et extraction de backup.tgz avec gunzip
tar -xvjf backup.tbz
Décompression et extraction de backup.tbz avec bunzip2

13
Administration & Sécurité des Systèmes
d’Exploitation

Compiler et installer des


programmes à partir des
sources

1- Les Bibliothèques
14
Compiler et installer des programmes
à partir des sources

Les bases de la compilation


Il existe des types de langage de programmation :

- Les « langages de script », permettent de


lancer directement des programmes écrits dans
ces langages de programmation.

- Les « langages compilés » comme le C ou le


C++, exigent au contraire que le programme écrit
dans ce langage soit converti, « compilé », en un
fichier binaire en langage machine, pour pouvoir
être exécuté.
15
Compiler et installer des programmes
à partir des sources

Les bases de la compilation


La compilation a lieu en principe une fois et
ensuite, c'est le fichier binaire qui sera exécuté, et
non sa «source» en C, ou C++.
La compilation traduit un texte lisible par l'homme,
la «source», en un fichier lisible par la machine, le
fichier «binaire».
La première chose dont on a besoin pour
compiler est un compilateur.
Sous Linux, le compilateur est gcc pour les
programmes écrits en C et g++ pour les
programmes écrits en C++. 16
Compiler et installer des programmes
à partir des sources

Les bases de la compilation


le programmeur n'écrit pas la totalité de ces
programmes.
Il utilise des bibliothèques qui lui fournissent un
ensemble de fonctions déjà disponibles
communément utilisées.
Le programmeur introduit seulement un lien dans
le fichier source, lien qui renvoie à une
bibliothèque ou à une fonction de cette
bibliothèque.
Le binaire compilé aura besoin de cette
bibliothèque pour être exécuté. 17
Gérer les bibliothèques partagées
Les Liens:
Ce lien peut être statique ou dynamique.
Un lien statique signifie que l'exécutable final
contiendra les fonctions de la bibliothèque dans ses
propres fichiers.
Sous Linux, la bibliothèque prend alors l'extension .a
Inconvénient: Le programme final est très volumineux et il consomme beaucoup de
ressource mémoire lors de chargement.Si plusieurs programmes utilisent la même
bibliothèque, donc sa taille va etre multiplier plusieurs fois

Un lien dynamique signifie que la bibliothèque


devra être chargée en mémoire RAM quand le
programme aura besoin d'exécuter les fonctions
qu'elle contient. 18
Gérer les bibliothèques partagées
Les répertoires par défaut
des bibliothèques standards :
/lib: utilisé principalement par les programmes de
/bin.

/usr/lib: utilisé principalement par les programmes


de /usr/bin.

Le fichier /etc/ld.so.conf est utilisé par le système


pour indiquer les éventuelles autres localisations
des bibliothèques.
19
Gérer les bibliothèques partagées
Les répertoires par défaut
des bibliothèques standards :

Le fichier /etc/ld.so.conf sert donc à configurer les


chemins de recherche des bibliothèques partagées.

Par défaut, le chargeur rechercher les bibliothèques


partagées dans les répertoires /lib et /usr/lib.

Pour ajouter un chemin de recherche, on peut


ajouter une ligne dans le fichier ld.so.conf
20
Gérer les bibliothèques partagées
Les répertoires par défaut
des bibliothèques standards :

Le fichier ld.so.conf n'est pas utilisé directement


par le chargeur, à la place celui-ci utilise un cache
binaire avec les informations des bibliothèques.
Ce cache est stocké dans le
fichier /etc/ld.so.cache.
Pour que les bibliothèques des chemins
de ld.so.conf soient intégrés au cache, il faut
utiliser la commande ldconfig.
Une erreur courante est de modifier ld.so.conf et 21
Gérer les bibliothèques partagées
Dépendance de bibliothèques :

Pour afficher la liste des dépendances d'un programme (ou


d'une bibliothèque) en termes de bibliothèques partagées,
utilisez ldd.

22
Gérer les bibliothèques partagées
Chargeur de liens :
Le chargeur de liens ld.so cherche la bibliothèque
dont un programme a besoin et la charge en
mémoire RAM.

L'ordre de recherche de ld.so est :

1- LD_LIBRARY_PATH
2- Le fichier cache /etc/ld.so.cache
3- Les répertoires par défaut /lib et /usr/lib

23
Gérer les bibliothèques partagées
LD_LIBRARY_PATH
Vous pouvez tester l'effet d'une nouvelle
bibliothèque avant de l'utiliser pour tous vos
programmes.
Pour ce faire, vous pouvez installer les
bibliothèques partagées dans un dossier et puis
définissez la variable d'environnement
LD_LIBRARY_PATH.
Cette variable d'environnement spécifie les
répertoires supplémentaires pour la recherche
pour les bibliothèques.
$ export LD_LIBRARY_PATH=/usr/local/testlib 24
Administration & Sécurité des Systèmes
d’Exploitation

Compiler et installer des


programmes à partir des
sources

1- Compilation et installation
25
Compiler et installer des programmes
à partir des sources

Outils GNU:

L'installation d'un programme à partir des sources


se résume à la suite de commandes :

# ./configure
# make
# make install

La dernière commande demande généralement les droits


super-utilisateur (root) pour s'exécuter avec succès.

26
Compiler et installer des programmes
à partir des sources

Outils GNU:

Sous Linux, toutes les sources peuvent être


compilées avec la chaine d'outils standard de
GNU.

• gcc est un compilateur C

• g++ est un compilateur C++

27
Compiler et installer des programmes
à partir des sources

./configure

C'est la première commande que vous devez


taper.

En pratique elle va faire 2 choses :

-Tout d'abord vérifier que toutes les


dépendances sont présentes.

-Configurer et écrire un fichier Makefile qui


contiendra les ordres de compilation.

28
Compiler et installer des programmes
à partir des sources

./configure

Pour la partie configuration, il y a un certain


nombre de paramètres à passer à la commande.

Pour en avoir la liste :


$ ./configure --help

Le paramètre le plus utilisé est --prefix= qui


spécifie le répertoire dans lequel on veut installer
le logiciel.
Par défaut c'est /usr/local, ce qui est très bien
lorsqu'on est dans une distribution standard.
29
Compiler et installer des programmes
à partir des sources

make
C'est la 2e commande.

Celle ci ne vous demandera rien, elle effectue


juste la compilation.

Elle sera plus ou moins longue selon la taille du


projet.

Elle peut s'arrêter en cas de problème de


compilation.

30
Compiler et installer des programmes
à partir des sources

Make install

Cette command est séparée de make, bien que les


règles font qu'en général make install effectue le make si
besoin.

En effet, cette commande doit être tapée en tant


que root si des droits spéciaux sont requis pour
l'installation du logiciel.
c'est le cas si vous installez celui-ci ailleurs que dans votre
home.

31
Compiler et installer des programmes
à partir des sources

Outils GNU:
Beaucoup d'archives contiennent des fichiers
d'information (README, INSTALL) qui expliquent
comment le programme doit être compilé et
installé.

Les fichiers Makefile.in et configure.in sont les


fichiers de base servant à produire le Makefile
final.

Le fichier configure est généralement un script


qui va explorer le système et produire un Makefile
final.
32
Compiler et installer des programmes
à partir des sources

Recap

33
Compiler et installer des programmes
à partir des sources

Exemple simple de make:

34
Compiler et installer des programmes
à partir des sources

Autre Exemple : Etape extraction

35
Compiler et installer des programmes
à partir des sources

Autre Exemple : Etape extraction


A titre d’exemple
Contenu de configure.in

36
Compiler et installer des programmes
à partir des sources

A titre d’exemple
Contenu de Makefile.in

37
Compiler et installer des programmes
à partir des sources

./configure

38
Compiler et installer des programmes
à partir des sources

make
Compiler et installer des programmes
à partir des sources

Lien interessant :

http://raphaello.univ-fcomte.fr/Linux/11-
InstallationApplications/InstallationApplications.htm

Vous aimerez peut-être aussi