Upload
sghiouar-abdelfettah
View
3.618
Download
1
Embed Size (px)
DESCRIPTION
Virtualiastion des systèmes d'exploitations : Installation et administration Journée Logiciel Libre à la Faculté des Sciences Dhar El Mahraz.Par KHAMILICH Jamal
Citation preview
Journée des logiciels libres
Mercredi 23 décembre 2009
Virtualiastion des systèmes d'exploitations :
Installation et administration
Système d'exploitation
♠ C'est un logiciel assurant le bon fonctionnement d'un ordinateur.
♠ Il offre à l'utilisateur une vue plus abstraite et plus simple que la vue matériel.
© S. Krakoviak
réseau
ordinateur
Systèmed'exploitation
Systèmed'exploitation
Systèmed'exploitation
ordinateur ordinateur
Système de communication
inter-logiciel
applications
logi
ciel
mat
érie
l
Transfert des bits
Instructions machine
Processus, mémoire, fichiers
Transport des messages
J2EE, Net, ...
WebTélé achatTéléphone
mailnewsftp...
services
Place d'un système d'exploitation dans un Système Informatique
Les composants d'un ordinateur
Haut parleurs
Carte son
Disque durLecteur DVD
Carte réseauCarte Wifi
PDA ModemImprimante
Appareil photo Clavier Souris
Alimentation
Mémoire
ÉcranCarte graphique
Processeur
LINUX
Le pourquoi
♠ Prix
♠ Accès facile aux programmes sources
♠ Système ouvert
♠ Plusieurs logiciels libres
♠ Avoir la conscience tranquille parce qu'on est dans la légalité
Succès
♠ Tout le système est écrit dans un langage haut niveau C/C++
♠ Interface simple d'utilisation
♠ Multi-utilisateurs et multi-tâches
♠ L'architecture de la machine est invisible pour l'utilisateur
Points forts
♠ Système ouvert
♠ Enrichissement constant
♠ Des souplesses dans les Entrées/Sorties
♠ Communication facile entre systèmes
♠ Communication facile entre utilisateurs
♠ Utilisation d'un langage haut niveau pour communiquer avec le noyau
♠ Parallélisme
Points faibles
♠ Fragilité du SGF (Système de Gestion des Fichiers)
♠ La gestion de la création des processus est parfois lourde
♠ Les libraires statiques sont consommatrices de place mémoire
♠ Au départ inadapté pour le temps réel mais des solutions sont proposés :
RtLinux, ...
Architecture du système
♠ L'architecture globale du système est en couche
♠ Chaque couche est construite pour être utilisée sans connaître les couches inférieures
NoyauNoyau
Matériel
Applications
ls
SHELL
make
cp
mkdirg++
web mail
openOffice
Utilisateur Utilisateur
UtilisateurUtilisateurVCL
Architecture du noyau
C'est une architecture logicielle, son but est de simplifier la compréhension du système.
Matériel
Contrôle Matériel
Contrôleurs
Caractères | Bloc
Cache
Système de
Gestion des Fichiers
Interface appels-système
Gestion mémoire
Ordonnanceur
Communicationinterprocessus
Système de
gestion des processus
bibliothèques
Niveau matériel
Niveau noyau
Niveau noyauNiveau utilisateur
Applications/utilisateurs
Système de Gestion des Fichiers
Le SGF est un outil de manipulation des fichiers et de sa structure d'arborescence sur le
disque, il gère :♠ Le partage : utilisation des fichiers par plusieurs utilisateurs
♠ Les droits : protection
♠ L'alignement et l'efficacité : transtypage entre la mémoire, cache et le disque
Concept de fichier
Un fichier est une suite finie de bytes (octets), matérialisée par des blocs disques et un inode
qui contient les propriétés du fichier comme :♠ localisation sur le disque,
♠ propriétaire et groupe propriétaire,
♠ droits d'accès,
♠ taille,
♠ date de création,
♠ ...Quelques commandes de manipulations des fichiers :
touch, mkdir, ls, cp, mv, rm, rmdir, chmod, ln, find, grep, cat, ..
Processus
Lorsqu’on exécute une commande, le shell lance un processus et attend sa fin avant de lancer
une autre.
♠ Chaque processus a un père, celui qui l’a lancé.
♠ Le premier processus init est créé avec un PID de 1 ancêtre de tous les processus.
♠ Lors de son exécution, un processus est caractérisé par un état :
Prêt
bloqué
ÉluRéveil
En attente duprocesseur
Élection
En exécution
Fin
Blo
cag
e
En attente deressource
Déblocage
Quelques commandes de manipulations des processus :
ps, jobs, kill, signal, ...
Langage de commande et script
bash est un interpréteur de commande ; mais on peut l'utiliser comme langage de
programmation.
♠ Il est indispensable dans l'administration et l'utilisation de Linux.
♠ Autres versions de langage de commande(shell) : sh, csh, ksh, zsh,...
Le bash manipule deux types de commandes :
♠ ommCommandes externes dont le code exécutable est situé sur le disque.
♠ Candes internes dont le code fait partie du processus shell.
#!/bin/bashfor var in `ls` do if [ -x $var ]
then echo $var fi
done
cat > script
chmod 700 script ./script
Exemple : Afficher la liste des fichiers exécutables qui se trouvent dans le répertoire courant.
Installation et administration d'un SE
Les différentes étapes :
♠ Inventaire sur la machine : disque, écran, carte graphique, cartes réseaux,...
♠ Choix du nombre de SE à installer
♠ DVD, CD ou image .iso du SE avec leur numéro de série si nécessaire
♠ Partitionnement du disque dur si besoin
♠ Un ordre à respecter dans le cas ou il y a plusieurs SE à installer
♠ Windows 95 ou 98
♠ Windows NT, 2000, XP, Vista, Seven
♠ Mac OS
♠ Linux : Suse, Ubuntu, Fedora, Debian, Mandriva, Gentoo, ...
♠ Installation des logiciels et paquetages
♠ Gestion des utilisateurs
♠ Configuration
Partitionnement d'un disque
Opération qui consiste à partager le disque en plusieurs parties nommées partitions.
Sur chacune d'elle on peut installer un SE avec son propre système de gestion de
fichiers (SGF).
Avantages :
♠ Avoir plusieurs SE sur le même disque
♠ Échange des données d'application entre différentes SE
♠ Quand un système est en panne, l'autre n'est pas affecté
Pourquoi ?
Comme les SE n'ont pas toujours le même SGF, on est obligé d'avoir un format.
♠ Windows 98 FAT32 (File Allocation Table)
♠ NT, XP, Vista, Seven NTFS (New Technology File System)
♠ Linux EXT2fs, EXT3fs ou EXT4fs (... EXTended file system)
♠ Mac OS HFSX (Hierarchical File System)
Contraintes :
♠ Pour tenir compte du nombre de partition et de leur taille, le disque contient une table de
partition MBR(Master Boot Record), située au début du disque.
♠ Chaque partition contient un secteur de démarrage Boot Sector (BS) dont le rôle est
d'accéder au SE.
♠ Le nombre maximum de partition primaire est limité à 4
♠ Une partition primaire peut contenir 64 partitions logiques
Exemple de partitionnement d'un disque
Partition 1primaireNTFS
BSC:
BSD:
BS BS
Partition 2primaireFAT32
Partition 4primaire
Partition 3étendue
LogiqueNTFS
LogiqueLinux
Logiqueswap
MBR
Programme de chargementSignature
Description de la partition 1Description de la partition 2Description de la partition 3Description de la partition 4
Code d'identification
Structure de MBR Taille enoctets
4424
161616162
N° de la tête : début
Type : FAT32, NTFS, EXT2,...
1121244
N° du secteur et du cylindre : début
N° de la tête : FinN° du secteur et du cylindre : FinDistanceTaille de la partition
Taille enoctets
État de la partition : active 80 non active 00
1
Description d'une partition
Outil de partitionnement d'un disque
Gratuits :
♠ fdisk, sous Windows ou Linux, reconnait tous les SE : FAT32, Ext2, Ext3, Swap Linux.
♠ QTParted ou Gparted un clone de PartitionMagic.
♠ ...Outils payants :
♠ PartitionMagic (Powerquest – Symantec), efficace avec une IHM.
♠ Hard Disk Manager permet de partitionner et de cloner les partitions avec une IHM
♠ Partition Expert permet le partitionnement en préservant les données existantes.
♠ ...
Virtualisation
La virtualisation permet d'avoir plusieurs SE en même temps sur la même machine :
♠ VMWARE pour Windows : http://www.vmware.com
♠ Parallels Desktop pour Mac OS: http://www.parallels.com
♠ Microsf Virtual PC pour Windows : http://www.microsoft.com/
♠ VirtualBox pour Windows, Mac OS et Linux: http://www.virtualbox.org/
♠ Xen pour Linux : http://xenfr.org/tiki-index.php
♠ ...
Machine virtuelle
Se comporte comme un ordinateur physique et contient ses propres CPU, mémoire,
disque dur, carte réseau, ...
Un SE est incapable de faire la différence entre une machine virtuelle et une machine
physique.
Avantages des machines virtuelles
♠ Les machines virtuelles sont compatibles avec tous les ordinateurs x86.
♠ Les machines sont indépendantes les unes des autres.
♠ Les machines virtuelles ont leur propre environnement informatique.
♠ Les machines virtuelles s’exécutent indépendamment du matériel.
Il existe deux types de machine dans le monde de la virtualisation :
♠ La machine hôte est la machine physique qui va lancer le logiciel de virtualisation.
♠ La machine virtuelle est celle qui est lancée par le logiciel de virtualisation.
Architecture x86/x64
Système d'exploitation
Application1 Application2 Application3
Architecture x86/x64
Système d'exploitation
Applicat
ions
Logiciel de virtualisation
Appl. Appl. Appl.
Linux
Appl. Appl. Appl.
Mac OS
Appl. Appl. Appl.
Windows XPMachine sans virtualisation
Machine avec virtualisation
machine virtuellemachine hôte
Exemple d'installation d'une machine virtuelle avec VirtualBox
1- Télécharger la version VirtualBox pour votre SE :
http://www.virtualbox.org/wiki/Downloads
2- Se connecter en administrateur et installer le logiciel
3- Lancer VirtualBox, la fenêtre suivante s'affiche :
Les grandes étapes d'installation d'une distribution Linux
♠ Test de la source d'installation : {DVD, CDROM, fichier.iso, réseau, ..}
♠ Test du matériel
♠ Choix de la langue
♠ Choix du clavier et souris
♠ Choix de type d'installation : {nouvelle installation, mise à jour, réparation, ...}
♠ Création des partitions
♠ Choix des paquetages à installer
♠ Configuration du chargeur {GRUB, LILO, ...}
♠ Configuration du réseau
♠ Création du compte administrateur (root)
♠ Choix de l'interface graphique : {KDE, Gnome, X Window, ...}
♠ Création des utilisateurs
♠ Mise à jour du système par Internet
♠ Installation des autres périphériques { imprimantes, scanner, manette de jeux,...}
♠ Si problème d'affichage il faut installer le driver de la carte graphique
Attention : l'ordre des étapes peut changer d'une distribution à une autre
Gestion des utilisateurs Caractéristiques d'un compte utilisateur :
♠ login : nom avec lequel un utilisateur peut se connecter sur le système (invite)
♠ mot de passe : un mot de passe crypté (x)
♠ IUD : identifiant de l'utilisateur (1001)
♠ GID : identifiant du groupe à qui appartient l'utilisateur (100)
♠ Commentaire : un commentaire sur l'utilisateur (Un invité)
♠ Répertoire : répertoire de connexion (/home/invite)
♠ Shell : shell de démarrage (/bin/bash)
cat /etc/passwdinvite:x:1001:100:Un invité:/home/invite:/bin/bash… Caractéristiques d'un compte groupe :
♠ nom : nom avec lequel un groupe est connu sur le système (user)
♠ mot de passe : un mot de passe crypté (x)
♠ GID : identifiant du groupe (100)
♠ liste : liste des membres du groupe (jkhamlic)
cat /etc/group...video:x:33:invite,jkhamlicusers:x:100:
Fichiers
♠ /etc/passwd : contient la base locale des comptes utilisateurs
♠ /etc/group : contient la base locale des comptes groupes
♠ /etc/shadow : contient les mots de passe locaux et leurs durée de vie
♠ /etc/nsswitch.conf : annuaires de recherche des comptes
Commandes
♠ useradd, usermod, userdel : ajout, modification et suppression d'un utilisateur
♠ groupadd, groupmod, groupdel : ajout, modification et suppression d'un groupe
♠ passwd, chpassd : donner et modifier le mot de passe d'un utilisateur
Utilitaires
♠ yast : distribution SUSE
♠ system-config-users : distribution Redhat
♠ ...
jkhamlic@AINF39:~> su - rootMot de passe :AINF39:root~ # more /etc/shadow...wwwrun:*:13843::::::invite:$2a$05$lXd4QA.fo2BG5/dn8vG0ZuDG9/Keb6uUVoqyzwDhCuJrNeOeQB8ny:13843:0:99999:7:::
useradd -u 1001 -g users -G video, mail -d /home/jkhamlic -s /bin/bash jkhamlic
Gestion des partitions
Commandes♠ mount : monter un système de fichier
♠ umount : démonter un système de fichier
♠ du : information sur l'utilisation du disque
♠ df : information sur la quantité d'espace occupé des systèmes de fichiers
♠ fdisk : manipulateur de tables de partitions pour Linux
jkhamlic@AINF39:~> su - rootMot de passe :AINF39:~ # mount /dev/sdb1 /media/
AINF39:~ # umount /dev/sdb1AINF39:~ # du -h ...24K ./.VirtualBox/VDI56K ./.VirtualBox7,1G
AINF39:~ # df -ThSys. de fich. Type Tail. Occ. Disp. %Occ. Monté sur/dev/sda4 ext3 16G 5,0G 11G 33% /udev tmpfs 506M 88K 506M 1% /dev/dev/sda2 ext3 30G 7,3G 21G 26% /home/dev/sda1 fuseblk 80G 17G 64G 21% /windows/C/dev/sda6 vfat 20G 3,0G 18G 15% /windows/D
Fichier
♠ /etc/fstab : contient la table des systèmes de fichiers montés à la connexionjkhamlic@AINF39:~> cat /etc/fstab/dev/sda4 / ext3 acl,user_xattr 1 1/dev/sda2 /home ext3 acl,user_xattr 1 2/dev/sda6 /windows/D vfat users,gid=users,umask=0002,utf8=true 0 0/dev/sda5 swap swap defaults 0 0proc /proc proc defaults 0 0sysfs /sys sysfs noauto 0 0usbfs /proc/bus/usb usbfs noauto 0 0devpts /dev/pts devpts mode=0620,gid=5 0 0none /proc/bus/usb usbfs devgid=109,devmode=664 0 0
Outils
♠ qparted : toutes les distributions
♠ KDiskFree : équivalent à df avec interface graphique
♠ ...
Gestion des applications
Une partie des applications s'installe au moment d'installation du SE, mais il est possible
d'ajouter d'autres.
Avant de lancer l'installation d'une nouvelle application (paquetage) il faut connaitre:
♠ Le nom de votre distribution
♠ La version de votre noyau
♠ Méthodes à utiliser :
Compiler les fichiers sources sur votre système
Installer les fichiers binaires
Utiliser le gestionnaire des applications de votre distribution
Installer à partir d'une ligne de commande
♠ Télécharger la bonne version ou avoir le CD/DVD d'installation
♠ Mot de passe du root
♠ ...
Installation à partir des fichiers sources :
1. Télécharger la bonne version de l'application à installer pour votre distribution
2. Décompresser l'application
home > tar xvzf nomLogiciel_2.2.8.tar.gz
3. Se placer dans le nouveau répertoire crée
home > cd nomLogiciel_2.2.8
4. Exécuter le script : (ceci sert à créer le fichier des dépendances Makefile)
home/nomLogiciel_2.2.8 > ./configure
5. Compilation des sources
home/nomLogiciel_2.2.8 > make
6. Installer l'application
home/nomLogiciel_2.2.8 > make install
7. Configuration l'application et utilisation
Remarque
Parfois, il faut être root, donc avant de commencer l'étape 3 ou 6.
Installation à partir des paquetages binaires :
1. Télécharger la bonne version de l'application à installer pour votre distribution
home > rpm -ivh nomLogiciel_2.2.8.rpm
2. Configuration l'application et utilisation
Remarques
♠ Parfois, il faut être root pour pouvoir installer une application
♠ Quelques options de la commande rpm :
rpm -i installe un paquetage
rpm -e déinstalle un paquetage
rpm -qa liste tous les paquetages installés
rpm -v vérifie un paquetage
rpm -qf indique à quel paquetage appartient un fichier
rpm -ql liste les fichiers d'un paquetage
Processus de démarrage
Processus d'une session
/etc/profile
if [ -f ~/.bash_profile ]
then ~/.bash_profile
else if [ -f ~/.bash_login ]
then ~/.bash_login
else ~/.profile
~/.bashrc
/etc/bashrc #activé par ~/.bashrc
Bios
Chargeur(MBR) Grub Lilo
(BS)NoyauLinux
(BS)NoyauWindows
initlecture du
/etc/inittabPID=1
Scripts de démarrage
/etc/rc.sysinit
Processus de déconnexion~/.bash_loginCommandes :
shutdown : arrêt et redémarrage du système et passage en mode maintenancereboot : redémarrage du systèmehalt : arrêt du système
Remarque
/etc/shutdown.allow contient la liste des utilisateurs ayant le droit d'exécuter shutdown
Quelques fichiers d'administration :
♠ /boot/grub/grub.conf : fichier de configuration du chargeur♠ /etc/bashrc : script exécuté à chaque ouverture d'une session ♠ /etc/fstab : liste des tables des fichiers montés au démarrage♠ /etc/group : information sur les groupes d'utilisateurs♠ /etc/inittab : liste des applications lancées au démarrage ♠ /etc/hosts : table de correspondance entre un nom et une adresse IP♠ /etc/manpath.config : fichier de configuration de l'aide en ligne♠ /etc/passwd : description des comptes utilisateurs♠ /etc/init.d/* : les scripts de démarrage♠ /etc/printcap : description des file d'attente d'impression♠ /etc/profile : script lancé à chaque session♠ /etc/shadow : les mots de passe et leurs paramètres♠ /etc/termcap : les séquences de contrôle des terminaux ♠ /etc/X11/xorg.conf : fichier de configuration du serveur X♠ /usr/lib/X11/xinitrc : fichier de configuration de la commande startx♠ ~/.bash_logout : script lancé à la déconnexion♠ ~/.bash_profile : script lancé à l'ouverture d'une session utilisateur♠ ~/.bashrc : script lancé à chaque lancement de bash♠ ~/.kde : répertoire de configuration utilisateur de l'environnement KDE♠ ~/.gnome : répertoire de configuration utilisateur de l'environnement GNOME♠ ...