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

1/40
100%

<!-- Slide number: 1 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

Par : L’équipe administration système et sécurité

1

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 2 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 3 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

Archivage et Compression

3

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 4 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

4

<!-- Slide number: 5 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

5

<!-- Slide number: 6 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

6

<!-- Slide number: 7 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

La commande d’archivage tar:

![C:\Users\Samir CHERIF\Desktop\07.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

tar -cvf monbackup.tar ~

tar -cvf usr.tar /usr

tar -tvf monbackup.tar

tar -xvf monbackup.tar

7

<!-- Slide number: 8 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

8

Publicité

<!-- Slide number: 9 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Principe de compression:

Avantages

Contre

Inconvénients

??

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

9

<!-- Slide number: 10 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

10

<!-- Slide number: 11 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

![](Picture3.jpg)

11

<!-- Slide number: 12 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

12

<!-- Slide number: 13 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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

![C:\Users\Samir CHERIF\Desktop\07.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

13

<!-- Slide number: 14 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

Compiler et installer des programmes à partir des sources

1- Les Bibliothèques

14

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 15 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

Publicité

  • 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é.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

15

<!-- Slide number: 16 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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++.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

16

<!-- Slide number: 17 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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é.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

17

<!-- Slide number: 18 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

Sous Linux, la bibliothèque prend alors l'extension .so

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

18

<!-- Slide number: 19 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

19

<!-- Slide number: 20 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

20

<!-- Slide number: 21 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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 d'oublier de lancer ldconfig.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

21

<!-- Slide number: 22 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

![C:\Users\Samir CHERIF\Desktop\ssss.jpg](Picture2.jpg)

22

<!-- Slide number: 23 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Chargeur de liens :

Publicité

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

23

<!-- Slide number: 24 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

24

<!-- Slide number: 25 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

Compiler et installer des programmes à partir des sources

1- Compilation et installation

25

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 26 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

26

<!-- Slide number: 27 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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++

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

27

<!-- Slide number: 28 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

./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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

28

<!-- Slide number: 29 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

./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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

29

<!-- Slide number: 30 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

30

<!-- Slide number: 31 -->

Publicité

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

31

<!-- Slide number: 32 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

32

<!-- Slide number: 33 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Recap

![C:\Users\Samir CHERIF\Desktop\Sans titre.png](Picture3.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

33

<!-- Slide number: 34 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Exemple simple de make:

![C:\Users\Samir CHERIF\Desktop\make.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

34

<!-- Slide number: 35 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Autre Exemple : Etape extraction

![C:\Users\Samir CHERIF\Desktop\tar.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

35

<!-- Slide number: 36 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

![C:\Users\Samir CHERIF\Desktop\rr.jpg](Picture2.jpg)

Autre Exemple : Etape extraction

A titre d’exemple

Contenu de configure.in

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

36

<!-- Slide number: 37 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

![C:\Users\Samir CHERIF\Desktop\ff.jpg](Picture3.jpg)

A titre d’exemple

Contenu de Makefile.in

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

37

<!-- Slide number: 38 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

./configure

![C:\Users\Samir CHERIF\Desktop\tt.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

38

<!-- Slide number: 39 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

make

![C:\Users\Samir CHERIF\Desktop\sss.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

L’échec de ./configure empêche la compilation et donc l’installation

<!-- Slide number: 40 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Lien interessant :

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

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

Programming, Math, Systems Administration, Security · course

Voir tous les documents en sécurité informatique

<!-- Slide number: 1 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

Par : L’équipe administration système et sécurité

1

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 2 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 3 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

Archivage et Compression

3

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 4 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

4

<!-- Slide number: 5 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

5

<!-- Slide number: 6 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

6

<!-- Slide number: 7 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

La commande d’archivage tar:

![C:\Users\Samir CHERIF\Desktop\07.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

tar -cvf monbackup.tar ~

tar -cvf usr.tar /usr

tar -tvf monbackup.tar

tar -xvf monbackup.tar

7

<!-- Slide number: 8 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

8

Publicité

<!-- Slide number: 9 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Principe de compression:

Avantages

Contre

Inconvénients

??

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

9

<!-- Slide number: 10 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

10

<!-- Slide number: 11 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

![](Picture3.jpg)

11

<!-- Slide number: 12 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

12

<!-- Slide number: 13 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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

![C:\Users\Samir CHERIF\Desktop\07.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

13

<!-- Slide number: 14 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

Compiler et installer des programmes à partir des sources

1- Les Bibliothèques

14

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 15 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

Publicité

  • 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é.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

15

<!-- Slide number: 16 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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++.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

16

<!-- Slide number: 17 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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é.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

17

<!-- Slide number: 18 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

Sous Linux, la bibliothèque prend alors l'extension .so

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

18

<!-- Slide number: 19 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

19

<!-- Slide number: 20 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

20

<!-- Slide number: 21 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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 d'oublier de lancer ldconfig.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

21

<!-- Slide number: 22 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

![C:\Users\Samir CHERIF\Desktop\ssss.jpg](Picture2.jpg)

22

<!-- Slide number: 23 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Chargeur de liens :

Publicité

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

23

<!-- Slide number: 24 -->

Gérer les bibliothèques partagées

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

24

<!-- Slide number: 25 -->

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image10.jpg)

![E:\Soft\esprit_logo.gif](Image11.jpg)

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

Compiler et installer des programmes à partir des sources

1- Compilation et installation

25

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image26.jpg)

Notes:

<!-- Slide number: 26 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

26

<!-- Slide number: 27 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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++

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

27

<!-- Slide number: 28 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

./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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

28

<!-- Slide number: 29 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

./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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

29

<!-- Slide number: 30 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

30

<!-- Slide number: 31 -->

Publicité

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

31

<!-- Slide number: 32 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

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.

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

32

<!-- Slide number: 33 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Recap

![C:\Users\Samir CHERIF\Desktop\Sans titre.png](Picture3.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

33

<!-- Slide number: 34 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Exemple simple de make:

![C:\Users\Samir CHERIF\Desktop\make.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

34

<!-- Slide number: 35 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Autre Exemple : Etape extraction

![C:\Users\Samir CHERIF\Desktop\tar.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

35

<!-- Slide number: 36 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

![C:\Users\Samir CHERIF\Desktop\rr.jpg](Picture2.jpg)

Autre Exemple : Etape extraction

A titre d’exemple

Contenu de configure.in

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

36

<!-- Slide number: 37 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

![C:\Users\Samir CHERIF\Desktop\ff.jpg](Picture3.jpg)

A titre d’exemple

Contenu de Makefile.in

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

37

<!-- Slide number: 38 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

./configure

![C:\Users\Samir CHERIF\Desktop\tt.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

38

<!-- Slide number: 39 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

make

![C:\Users\Samir CHERIF\Desktop\sss.jpg](Picture2.jpg)

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)

L’échec de ./configure empêche la compilation et donc l’installation

<!-- Slide number: 40 -->

Compiler et installer des programmes à partir des sources

![C:\Documents and Settings\Aziz\Bureau\angle.JPG](Image3.jpg)

Lien interessant :

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

![C:\Documents and Settings\Aziz\Bureau\Bas.JPG](Image10.jpg)