La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Administration & Sécurité des Systèmes d’Exploitation"— Transcription de la présentation:

1 Administration & Sécurité des Systèmes d’Exploitation
Par : Samir CHERIF

2 Administration & Sécurité des Systèmes d’Exploitation
Chapitre 2 Installation et gestion des paquetages Par : Samir CHERIF

3 Administration & Sécurité des Systèmes d’Exploitation
Archivage et Compression

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

5 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

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

7 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

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

9 Compiler et installer des programmes à partir des sources
Principe de compression: Avantages Contre Inconvénients ??

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

11 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, bits/byte, 55.75% saved, in, out.

12 Compiler et installer des programmes à partir des sources
La compression des fichiers : $ ls -l backup.tar -rw-r--r-- 1 rarrigon users 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 nov 10 11:07 backup.tar.gz $ gunzip backup.tar.gz $ bzip2 -v backup.tar backup.tar: 2.260:1, bits/byte, 55.75% saved, in, out.

13 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

14 Administration & Sécurité des Systèmes d’Exploitation
Compiler et installer des programmes à partir des sources 1- Les Bibliothèques

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

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

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

18 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. Sous Linux, la bibliothèque prend alors l'extension .so

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

20 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 

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

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

23 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

24 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

25 Administration & Sécurité des Systèmes d’Exploitation
Compiler et installer des programmes à partir des sources 3- Compilation et installation

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

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

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

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

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

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

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

33 Compiler et installer des programmes à partir des sources
Recap

34 Compiler et installer des programmes à partir des sources
Exemple simple de make:

35 Compiler et installer des programmes à partir des sources
Autre Exemple : Etape extraction

36 Compiler et installer des programmes à partir des sources
Autre Exemple : Etape extraction A titre d’exemple Contenu de configure.in

37 Compiler et installer des programmes à partir des sources
A titre d’exemple Contenu de Makefile.in

38 Compiler et installer des programmes à partir des sources
./configure

39 Compiler et installer des programmes à partir des sources
make L’échec de ./configure empêche la compilation et donc l’installation

40 Administration & Sécurité des Systèmes d’Exploitation
Installation & Gestion des Packages et Programmes sous Linux

41 Compiler et installer des programmes a partir des paquetage
Notion de Paquetage les packages sont faits pour faciliter la vie des administrateurs dans l'administration des logiciels : Installation Mise a jour Désinstallation Gestion des conflits Gestion des dépendances Gestion de la sécurité

42 Compiler et installer des programmes a partir des paquetage
Installation d’un paquetage (Pratique) Récupérer le paquetage Vérifier si il est installé L’installé Le désinstallé

43 Compiler et installer des programmes a partir des paquetage
Composition des paquetage un paquetage = tar.gz + informations Après l’installation : tar.gz -> fichiers disques informations -> base de données

44 Compiler et installer des programmes a partir des paquetage
Les types de Paquetage Deux grande famille : Debian / Redhat RedHat (Fedora …) Paquetage de type RPM Outil d’installation : rpm Debian (Ubuntu …) Paquetage de type Deb Outil d’installation : dpkg

45 Compiler et installer des programmes a partir des paquetage
Outils RedHat Rpm et Yum

46 Compiler et installer des programmes a partir des paquetage
Outils RedHat Rpm

47 Compiler et installer des programmes a partir des paquetage
nommage la convention de nommage des packages rpm est la suivante :  nom-version-release.architecture.rpm Exp : xsnow i386.rpm

48 Compiler et installer des programmes a partir des paquetage
nommage Nom : Représente le nom du package (en général le nom du logiciel) Version : Définie par le ou les développeurs du logiciel Release : Définie par celui qui fabrique le package Architecture : Représente la catégorie de processeur sur laquelle peut être installée le package : ppc : powerpc (mac) sparc : stations sun i* : processeurs Intel

49 Compiler et installer des programmes a partir des paquetage
Portabilité Tous ces packages contiennent des programmes compilés, donc non portables. Ils dépendent également des librairies utilisées lors de la compilation, et sont donc souvent non portables entre distributions différentes.

50 Compiler et installer des programmes a partir des paquetage
Installation de package Commandes rpm –i : installe sans remplacer une version précédente Options -h:  afficher une barre de progression -v: installation bavarde (Utile lors d’une erreur) Exemple rpm –ivh xsnow i386.rpm

51 Compiler et installer des programmes a partir des paquetage
Mise a jour des packages Commandes rpm –U : installe ou remplace un package rpm –F : installe (et remplace) un package seulement si une version était déjà installée Attention gestion des versions : on ne peut mettre a jour qu'avec une version >= a l'ancienne

52 Compiler et installer des programmes a partir des paquetage
Suppression de package Commande rpm –e pour effacer Attention il y a des sécurités : on ne peut supprimer un package si d'autres en dépendent (normal!)

53 Compiler et installer des programmes a partir des paquetage
Sécurité des RPM Commandes rpm –V : pour voir si quelqu'un ou quelque chose n'a pas modifié des fichiers du package (taille, droits, checksum ...)

54 Compiler et installer des programmes a partir des paquetage
Interrogation rpm -q package Afficher les dépendance du paquet rpm -qi package Affiche une page d'information sur le package rpm -ql package Affiche la liste des fichiers du package rpm -qf fichier Affiche le package propriétaire du fichier rpm -qa renvoie la liste de tous les packages installés.

55 Compiler et installer des programmes a partir des paquetage
Probléme Problème de gestion des dépendances en cas de MAJ des versions ou même d’installation? Solution : Les installeurs en ligne

56 Compiler et installer des programmes a partir des paquetage
Outils RedHat Yum

57 Compiler et installer des programmes a partir des paquetage
YUM Outils (sous forme de commandes) qui permet de gérer les packages RPM en ligne. C'est une sur-couche à RPM gérant les dépendances en téléchargeant ce qui est nécessaire. Cherche les paquets sur différentes sources (sites internet …) que l'on appelle des dépôts. Dépôt: regroupe un ensemble de packages. Chaque dépôt doit être ajouté à la configuration de Yum pour être utilisé.

58 Compiler et installer des programmes a partir des paquetage
Configuration de YUM Yum utilise des dépots, qui regroupent un ensemble de logiciel. Chaque dépot doit être ajouté à la configuration de Yum pour être utilisé. Il faut créer un fichier avec le contenu adéquat pour chaque dépôt dans le dossier /etc/yum.repos.d avec un nom de la forme nomdepot.repo. Un RPM peut s'occuper d'ajouter le dépot.

59 Compiler et installer des programmes a partir des paquetage
Configuration de YUM Une fois YUM configuré, il faut mettre à jour tout votre système via la commande (toujours en root) : # yum update Si c'est la première fois que vous mettez votre système à jour sur une installation toute fraîche, lancez la commande # yum update yum Cette commande permet à YUM de se mettre à jour indépendamment des autres paquets.

60 Compiler et installer des programmes a partir des paquetage
Configuration de YUM Pour installer un paquet : # yum install <nom du paquet> Pour supprimer un paquet : # yum remove <nom du paquet> #yum search <nom du paquet> Trouve le paquet sur le depôt rpm

61 Compiler et installer des programmes a partir des paquetage
YUM YUM simplifie bien la vie des utilisateurs, c'est certain. Avec YUM vous disposez toujours des derniers paquets car celui-ci interroge les dépôts à chaque opération. Il existe quelques interfaces graphiques simplifiant encore l'utilisation de YUM : yumex kyum smartpm

62 Compiler et installer des programmes a partir des paquetage
Outils Debian Dpkg Ou Apt

63 Compiler et installer des programmes a partir des paquetage
Outils Debian Dpkg

64 Compiler et installer des programmes a partir des paquetage
dpkg La distribution Debian utilise son propre système de paquetage dont les fichiers sont reconnaissables par l’extention .deb Les systèmes basés sur Debian utilise généralement des utilitaires de gestion de paquets: dpkg (debian package) apt (Advanced Packaging Tool ), dselect … Pour simplifier, apt est considéré comme une surcouche sur dpkg

65 Compiler et installer des programmes a partir des paquetage
dpkg Il a été créé par Ian Jackson en 1993. dpkg est similaire à RPM dans la mesure où il est utilisé pour installer, supprimer et fournir des informations à propos des paquets .deb. Pour l'installation de paquets, dpkg dispose d'une interface graphique (Gdebi).

66 Compiler et installer des programmes a partir des paquetage
Installation # dpkg -i paquet.deb L'option -i, ou –install, installe le ou les paquets indiqués, au format .deb. # dpkg -i -R *.deb L'option -R, ou –recursive , installe tous les paquets se trouvant dans le répertoire de travail et ses sous-répertoires.

67 Compiler et installer des programmes a partir des paquetage
Suppression # dpkg -r nom_du_paquet L'option -r ou –remove supprime le (ou les) paquet(s) indiqué(s) mais pas les fichiers de configuration associés au(x) paquet(s). # dpkg -P nom_du_paquet L'option -P ou –purge permet de supprimer les fichiers de configuration associés en même temps que le paquet indiqué.

68 Compiler et installer des programmes a partir des paquetage
Lister / Info Quel package à installé le fichier fichier.conf ? : # dpkg -S fichier.conf Où sont les fichiers du package PAK ? : # dpkg -L PAK Lister tous les paquetages installés : # dpkg –l Lancer l'outil de configuration de PAK : # dpkg -reconfigure PAK

69 Compiler et installer des programmes a partir des paquetage
Outils Debian apt

70 Compiler et installer des programmes a partir des paquetage
APT Advanced Packaging Tool ou APT est un gestionnaire de paquets utilisé par Debian et ses dérivés. APT simplifie : l'installation la mise à jour  la désinstallation la gestion des dépendances

71 Compiler et installer des programmes a partir des paquetage
Les sources d’APT APT interroge les serveurs déclarés dans le fichier /etc/apt/sources.list Prend en charge directement le téléchargement et l'installation des dépendances. Plusieurs interfaces graphiques à APT sont disponibles: Aptitude, Synaptic ... Le fichier /etc/apt/sources.list permet de décrire de façon permanente les sources de paquets (cdrom, url ..) à télécharger

72 Compiler et installer des programmes a partir des paquetage
apt-get apt-get est le programme de gestion de paquets en mode invite de commande fourni avec le paquet apt de Debian. Par exemple, la sortie suivante pourrait être obtenue en installant le logiciel de messagerie instantanée Pidgin : # apt-get install pidgin Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets supplémentaires suivants seront installés : libpurple-bin libpurple0 pidgin-data Paquets suggérés : tcl8.4 tk8.4 evolution-data-server Les NOUVEAUX paquets suivants seront installés : libpurple-bin libpurple0 pidgin pidgin-data 0 mis à jour, 4 nouvellement installés, 0 à enlever et 1 non mis à jour. Il est nécessaire de prendre 9 988ko dans les archives. Après cette opération, 30,5Mo d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer [O/n] ?

73 Compiler et installer des programmes a partir des paquetage
apt-get (suite) Réception de : 1 sid/main pidgin-data [7 227kB] Réception de : 2 sid/main libpurple [1 908kB] Réception de : 3 sid/main libpurple-bin [96,1kB] Réception de : 4 sid/main pidgin [757kB] 9 988ko réceptionnés en 5s (1 680ko/s) Sélection du paquet pidgin-data précédemment désélectionné. (Lecture de la base de données fichiers et répertoires déjà installés.) Dépaquetage de pidgin-data (à partir de .../pidgin-data_ _all.deb) ... Sélection du paquet libpurple0 précédemment désélectionné. Dépaquetage de libpurple0 (à partir de .../libpurple0_ _amd64.deb) ... Sélection du paquet libpurple-bin précédemment désélectionné. Dépaquetage de libpurple-bin (à partir de .../libpurple-bin_ _all.deb) ... Sélection du paquet pidgin précédemment désélectionné. Dépaquetage de pidgin (à partir de .../pidgin_ _amd64.deb) ... Traitement des actions différées (« triggers ») pour « hicolor-icon-theme »... Traitement des actions différées (« triggers ») pour « man-db »... Traitement des actions différées (« triggers ») pour « menu »... Traitement des actions différées (« triggers ») pour « desktop-file-utils »... Paramétrage de pidgin-data ( ) ... Paramétrage de libpurple0 ( ) ... Paramétrage de libpurple-bin ( ) ... Paramétrage de pidgin ( ) ...

74 Compiler et installer des programmes a partir des paquetage
APT Commande apt-get update Construit la base en interrogeant chacune des sources, conformément aux choix des sources présentes dans sources.list Met à jour la liste des paquets à partir des sources du fichier Remarque: Il faut remettre à jour cette base régulièrement afin de la synchroniser avec l'évolution des paquets sur les sites-sources apt-get upgrade Met à jour tous les paquets installés (ayant des versions récentes) Apt-get dist-upgrade Met à jour toute la distribution apt-get install <paquet> Installe un paquet apt-get remove <paquet> Désinstalle le paquet spécifié

75 Compiler et installer des programmes Convertion de packetages
alien Commande de conversion entre différents formats de paquet, notamment entre le RPM le format deb de Debian Commande alien --to-rpm <paquet.deb> Convertit un paquet .DEB en .RPM alien --to-deb <paquet.rpm> Convertit un paquet .RPM en .DEB alien --to-tgz <paquet.rpm> Convertit un paquet .RPM en .TGZ


Télécharger ppt "Administration & Sécurité des Systèmes d’Exploitation"

Présentations similaires


Annonces Google