Virtualiastion des systèmes d'exploitations

38
Journée des logiciels libres Mercredi 23 décembre 2009 Virtualiastion des systèmes d'exploitations : Installation et administration jamal.khamlichi@u niv-lr.fr

description

Virtualiastion des systèmes d'exploitations : Installation et administration Journée Logiciel Libre à la Faculté des Sciences Dhar El Mahraz.Par KHAMILICH Jamal

Transcript of Virtualiastion des systèmes d'exploitations

Page 1: Virtualiastion des systèmes d'exploitations

Journée des logiciels libres

Mercredi 23 décembre 2009

Virtualiastion des systèmes d'exploitations :

Installation et administration

[email protected]

Page 2: Virtualiastion des systèmes d'exploitations

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

Page 3: Virtualiastion des systèmes d'exploitations

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

Page 4: Virtualiastion des systèmes d'exploitations

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

Page 5: Virtualiastion des systèmes d'exploitations

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

Page 6: Virtualiastion des systèmes d'exploitations

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

Page 7: Virtualiastion des systèmes d'exploitations

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

Page 8: Virtualiastion des systèmes d'exploitations

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

Page 9: Virtualiastion des systèmes d'exploitations

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

Page 10: Virtualiastion des systèmes d'exploitations

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

Page 11: Virtualiastion des systèmes d'exploitations

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.

Page 12: Virtualiastion des systèmes d'exploitations

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

Page 13: Virtualiastion des systèmes d'exploitations

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)

Page 14: Virtualiastion des systèmes d'exploitations

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

Page 15: Virtualiastion des systèmes d'exploitations

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.

♠ ...

Page 16: Virtualiastion des systèmes d'exploitations

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

♠ ...

Page 17: Virtualiastion des systèmes d'exploitations

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.

Page 18: Virtualiastion des systèmes d'exploitations

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

Page 19: Virtualiastion des systèmes d'exploitations

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 :

Page 20: Virtualiastion des systèmes d'exploitations
Page 21: Virtualiastion des systèmes d'exploitations
Page 22: Virtualiastion des systèmes d'exploitations
Page 23: Virtualiastion des systèmes d'exploitations
Page 24: Virtualiastion des systèmes d'exploitations
Page 25: Virtualiastion des systèmes d'exploitations
Page 26: Virtualiastion des systèmes d'exploitations
Page 27: Virtualiastion des systèmes d'exploitations
Page 28: Virtualiastion des systèmes d'exploitations
Page 29: Virtualiastion des systèmes d'exploitations

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

Page 30: Virtualiastion des systèmes d'exploitations

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:

Page 31: Virtualiastion des systèmes d'exploitations

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

Page 32: Virtualiastion des systèmes d'exploitations

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

Page 33: Virtualiastion des systèmes d'exploitations

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

♠ ...

Page 34: Virtualiastion des systèmes d'exploitations

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

♠ ...

Page 35: Virtualiastion des systèmes d'exploitations

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.

Page 36: Virtualiastion des systèmes d'exploitations

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

Page 37: Virtualiastion des systèmes d'exploitations

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

Page 38: Virtualiastion des systèmes d'exploitations

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