formation administration...

46
Formation administration Linux Marc-Olivier Buob

Upload: others

Post on 20-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Formation administration Linux

Marc-Olivier Buob

Page 2: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Linux : aperçu

Qu'est ce que GNU/Linux ? Quelques distributions classiques

Pourquoi tant de distributions ?

A quoi ça ressemble ? Le boot loader

Le chargement

Le mode texte

L'environnement graphique

Structure de GNU/Linux

Rôle du gestionnaire de paquets

Page 3: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Qu'est ce que GNU/Linux ?

Noyau + Système d'exploitation (OS) Basé sur un noyau linux (1991 Linus Torvalds)

Projet GNU : système inspiré d'Unix (1986 Stallman)

Développé par des milliers d'informaticiens sur Internet

Inclue des milliers de logiciel dont ceux du projet GNU

emacs, gcc

Libre D'exécuter le logiciel pour n'importe quel usage

D'étudier le fonctionnement d'un programme et de l'adapter (open source)

De redistribuer des copies

D'améliorer le programme et d'en faire profiter la communauté linux

Communautés (linux-fr, lea-linux...)

Page 4: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Quelques distributions classiques

Fedora

Knoppix

Page 5: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Pourquoi tant de distributions ?! Plusieurs dizaines de distributions

Il y a quand même une base commune !

Choix techniques différents Gestionnaire de paquets

Manière dont sont gérés les services (serveurs...)

Manière dont est configuré le système (réseau...)

Choix philosophiques différents Paquets installés par défaut : libre vs non libre (licences)

Public différent : familiers de linux (debian) ou grand public (ubuntu)

Serveur (debian), PC bureautique (ubuntu), restauration (knoppix)

Page 6: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

1) Le boot loader : grub / lilo

Les différentsnoyaux linuxdisponibles

Les autressystèmes

(windows...)

Page 7: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

2) Le chargement

Page 8: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

3) Le mode texte (console)

Le prompt :login@hostname:path$

~: home directory

Le résultat

Commande shellpwd : le répertoire

courant

Page 9: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

4) L'environnement graphique

Page 10: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Structure de GNU/Linux (1/2) Un noyau qui prend en charge

Les périphériques (disque dur, clavier, carte réseau...)

Les systèmes de fichiers (ext4, fat32, ntfs...)

Les protocoles réseaux (TCP, UDP...)

… éventuellement étoffé par des modules chargés au boot

… sur lequel s'appuie le système Système de base

Shell (ligne de commandes) : sh, bash, tcsh, ksh, zsh...

Librairies

Logiciels « en mode texte » : gcc, gdb, vim, aptitude, pwd, client/serveur ssh

Serveur graphique (serveur X)

Environnement graphique : KDE, gnome

Applications graphiques : konsole, kdevelop

Page 11: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Structure de GNU/Linux (2/2) Chaque couche à un rôle bien défini et s'appuie sur les autres

GNU/Linux

Boot loader

GrubLilo

Windows

noyau1

noyau2

...

Systèmede

base

pwdhal

udev

Serveurgraphiqu

e

Xorg

Env.graphiqu

e

GnomeKDE

LibrairiesQT, libstdc++, boost

pilotes

App.Graphique

s

kdevelopkonsoleadept

logiciels

modulesProgr. mode texte

Shell, compilateurs,gest. de paquets...

Page 12: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Le gestionnaire de paquets Chaque logiciel / librairie / … est stocké dans un paquet

Contient les fichiers à installer

Précise de quels paquets il dépend

Décrit le contenu du paquet

Le gestionnaire de paquets Installe, met à jour, ou supprime des paquets (et ses dépendances)

Corrige les fichiers de configurations

Garantit que les dépendances sont présentes, à jour et en un exemplaire

Diffère d'une distribution à l'autre

debian/ubuntu... : aptitude, apt-get, dpkg … redhat/mandriva... : urpmi, yum, rpm...

Page 13: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Linux un peu plus dans le détail

Ce qui se passe-t'il au démarrage ? L'arborescence linux (FHS) Les devices Les systèmes de fichiers, les partitions Les TP (enfin !)

Page 14: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Que se passe-t'il au démarrage ? On choisit quel kernel on lance et avec quelles options

éventuellement le runlevel peut être précisé

Le kernel est chargé

Les différents médias sont montés (/etc/fstab) en particulier la partition sur lequel le système GNU/Linux est installé (/)

la swap

Le système démarre au runlevel par défaut (/etc/inittab) A chaque runlevel, on lance des services spécifiques

0 arrêt 1 mode mono utilisateur 2-5 mode multi utilisateur (réseau, mode graphique etc...) 6 reboot

Page 15: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

FHS (File Hierarchy Standard) / (root)

/boot : kernels, initrd...

/bin : binaires essentiels (mv, cp...)

/dev : devices (/dev/mouse, /dev/sda1...)

/etc : fichiers de configuration et scripts de démarrage

/etc/X11 : fichiers de configuration du serveur X /home : home directories (répertoires utilisateurs)

/lib : librairies essentielles

/media : périphériques montés (CD, clé USB)

/root : home directory de root

/sbin : binaires systèmes essentiel (route, mount, …)

/tmp : fichiers temporaires

/usr : /usr/bin, /usr/sbin, /usr/include, /usr/lib

/var : variable files (/var/apt/cache/archives, /var/dpkg/lock...)

Page 16: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Les devices

Chaque périphérique est associé à un device dans /dev /dev/sda (/dev/sdb, …) ; /dev/sda1 ; /dev/sda2

/dev/hda

/dev/mouse, /dev/dsp

/dev/cdrom /dev/cdrom0

/dev/null, /dev/stdin, /dev/stdout, /dev/stderr

Page 17: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Le partitionnement

Windows 1 partition pour le système (NTFS en général)

Éventuellement 1 partition de données (NTFS en général)

GNU/Linux 1 partition pour le système / (compter 10Gio en ext4 en général)

1 partition de swap (1 Gio en swap)

Éventuellement 1 partition de données séparée de /, /home, en général en ext4

Page 18: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Les systèmes de fichiersNTFS / ntfs-3g FAT32 / vfat ext4

Windows LitÉcrit

LitÉcrit

-

Linux LitÉcrit

LitÉcrit

LitÉcrit

Remarques FragmenteDroitsJournalisation d'erreurs

Pas de droitsPas de lien symboliqueTaille limite

Fragmente très peuDroitsLiens symboliquesJournalisation d'erreurs

Page 19: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Les partitions : sudo fdisk -l

Disk /dev/hda: 40.0 GB, 40020664320 bytes255 heads, 63 sectors/track, 4865 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk identifier: 0x802b81ca

Device Boot Start End Blocks Id System/dev/hda1 * 1 1275 10241406 7 HPFS/NTFS/dev/hda2 1276 4740 27832612+ 83 Linux/dev/hda3 4741 4865 1004062+ 82 Linux swap / Solaris

Disk /dev/hdb: 82.3 GB, 82348277760 bytes255 heads, 63 sectors/track, 10011 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk identifier: 0x4707841a

Device Boot Start End Blocks Id System/dev/hdb1 * 1 10011 80413326 b W95 FAT32

/dev/hda1 /dev/hda2 /dev/hda3 /dev/hdb1

Page 20: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Travaux pratiques

TP1 : installation TP2 : prise en main TP3 : visite guidée TP4 : les droits TP5 : les paquets sous Debian (et distributions dérivées) TP6 : shell (bases) TP7 : réseau (TP8 : la programmation C/C++ sous linux) (TP9 : STL) TP10 : shell (algo) TP11 : LVM TP12 : apache

Page 21: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP1 : installation

Télécharger l'iso d'ubuntu ou de kubuntu http://www.ubuntu-fr.org/telechargement

Vérifier la somme md5 Graver le CD (Réduire les partitions windows) Installer ubuntu Lancer ubuntu !

Page 22: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP2 : prise en mainWindows Gnome KDE3 KDE4

firefox / IE firefox / epiphany firefox / konqueror idem

thunderbird / outlook thunderbird / evolution

thunderbird / kmail idem

pidgin, msn... pidgin / empathy kopete idem

Lecteur multimédia / vlc

rythmbox, totem, vlc amarok, kaffeine, vlc, kmplayer

amarok2, gwenview

Commande MS DOS gterm konsole konsole

Explorateur nautilus konqueror / dolphin konqueror / dolphin

Bloc notes gedit kwrite / kate idem

Suite MS office / openoffice

openoffice koffice / openoffice idem

Live update synaptic adept idem

Adobe reader / fox it reader

evince kpdf okular

Page 23: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

La philosophie sous GNU/Linux

L'intelligence est le moins possible dans l'interface graphique Exemple : kdevelop se base sur g++ et gdb

L'interface se base le plus possible sur des programmes en ligne de commande

Scripter un programme

Rôle de l'UI (User Interface) : convivialité et ergonomie

La ligne de commande permet souvent d'aller plus loin et plus vite que l'interface graphique

Voir TP shell

Voyons à présent le décor et l'envers du décor UI vs ligne de commande

Page 24: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Où trouver l'information ?

La documentation embarquée Les pages de man, apropos, l'autocomplétion

L'aide KDE / gnome

L'option --help

La documentation en ligne http://doc.ubuntu-fr.org/

man + mot clé (commandes linux, fonctions C...)

Sites dédiés. Par exemple pour la STL : http://www.sgi.com/tech/stl/

Avec un moteur de recherche ! Listes, bug reports

Forum de la distribution, forums spécialisés

Page 25: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Les pages de man

Sections de man : man 1 write, man 2 write... Le man indique le rôle d'une fonction et de ses options Il précise les commandes ou fonctions connexes

NOM

echo - Afficher une ligne de texte.SYNOPSIS

echo [-neE] [message ...]echo {--help,--version}DESCRIPTION

Cette page de manuel documente la version GNU de echo.

La plupart des shells ont une commande intégrée ayant le même nom et les mêmes fonctionnalités.

echo écrit chaque message sur la sortie standard, avec une espace entre chacun d'eux, et un saut de ligne après le dernier.

Conventions linux :

Commande en minuscules, -[-p] : optionnel--pouet : option longue-p : option courte (chaînable)

Page 26: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP3a : manipuler des fichiers Le terminal, les tty

cd, ls, pwd, cp, mv, mkdir, rm, rmdir,ln

touch, file, cat

Chemins particuliers Absolus : ~ /

Relatifs : . ..

Exercice Créer /tmp/a/b/c, puis /tmp/a/b/c/d.txt, puis /tmp/a/b/c2/

Copier d.txt dans /tmp/a/b/c2/

Supprimer /tmp/a/b/c

Créer un lien vers /tmp/a/b/c2 dans le home directory

Créer e.txt dans /tmp/a/b/c2/. Que ce passe-t'il dans le home ?

Page 27: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP3b : manipuler des périphériques Regarder /etc/fstab

Expliquer pourquoi les devices ne sont pas référencés sous la forme /dev/sd*

Parenthèse udev : peut renommer un device au moment ou celui-ci est branché

hal : notifie l'utilisateur qu'un périphérique est branché

usbdev, applet de périphérique KDE4, gvfs...

Commandes de base df, du

dmesg

fdisk, cfdisk, mkfs, lspci, lsusb, dmidecode, hdparm

mount, umount

reboot, halt

Monter une clé dans /media/usb. La formater en fat32.

Page 28: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP4 : les droits La notion de droits sous GNU/Linux est fondamentale

Distribution des rôles : seul root peut administrer la machine

Sécurisation : programmes malveillants

Confidentialité : accès restreint à un répertoire ou à un device (ex: /dev/dsp)

rwxrwxrwx Propriétaire, groupe, tout le monde

Read Write eXecute

root, sudo, su Les profils et les groupes

/etc/passwd, /etc/shadow, /etc/group

groups, whoami, passwd, (yppasswd, ypcat)

addgroup/groupadd, adduser/useradd, userdel, usermod, sg

chown, chgrp

Les droits dans /etc/fstab

Page 29: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Le gestionnaire de paquet apt Récupère la liste des mises à jours (update)

Interroge les dépôts configurés dans /etc/apt/sources.list

/var/lib/dpkg/lock

Corrige l'arbre de dépendance

http://packages.ubuntu.com

Télécharge les paquets fichiers .deb

/var/cache/apt/archives

Déploie la mise à jour dpkg -i, dpkg --purge

(Re)configure le paquet dpkg-reconfigure, dpkg --configure -a

Page 30: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP5 : installons des paquets

Avec adept ou synaptic : installer apt-file

Avec aptitude ou apt-get : installer nmap aptitude en mode interactif

rose : supprimer; cyan : mettre à jour, vert : installer update (u), upgrade (U), go (g), quitter (q) installer (+) désinstaller (-) purger (_) trouver (/), suivant (n), précédent (p)

deborphan, vider le cache

apt-file, apt-cache

Parenthèse : tar, ./configure, make && make install

Page 31: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Un peu de shell Les flux

>, >> écrire dans un fichier

2>, 2>>, 2>>&1 rediriger stderr

< lire un fichier

cat < pouet.txt

Les pipes | : chaîne les commandes wc -l pouet.txt

cat pouet.txt | wc -l

sort, cut, grep, xargs, uniq, wc

Page 32: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP6 : shell Compter dans /etc tous les fichiers finissant par « .conf »

find, (grep, wc)

Chercher dans /etc les fichiers dans lesquels figure la chaîne /dev/sda

grep, (uniq, cut)

Compter dans /etc/fstab le nombre de ligne contenant /dev/sd* grep wc

Écrire l'équivalent de dpkg --get-selections en utilisant juste : dpkg -l, grep, cut

Supprimer les paquets fanés ; supprimer les paquets « rc » deborphan xargs dpkg grep cut

Page 33: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Le réseau sous GNU/Linux

Administration Commandes de base

/sbin/ifconfig, /sbin/iwconfig, /sbin/iwlist dhclient /sbin/route ping host, nslookup, /etc/resolv.conf, /etc/hosts nmap

Configuration

/etc/network/interfaces, network manager

Transfert lftp

ssh, scp, fish

Page 34: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP7 : réseau

Vérifier le fingerprint du serveur ssh :– ssh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub

Configurer un utilisateur mando (useradd, passwd) Configurer une clé ssh :

http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant

ssh-add

Écrire le script shell suivant Lister les fichiers dans /home/mando situé sur la machine d'un stagiaire et

stocker le résultat dans un fichier à l'aide de ssh

Transférer ce fichier avec scp

Supprimer le fichier créé sur la machine distante

Page 35: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Les services Les processus, les PID et les démons

ps

top

kill, killall

Visite dans /etc/init.d /etc/init.d/ssh : le serveur ssh

/etc/init.d/gdm ou /etc/init.d/kdm : le gestionnaire de connexion graphique

Comment réparer son serveur X (tty, dpkg-reconfigure) /etc/init.d/apache2

/etc/init.d/proftpd

/etc/init.d/mon_service [start|restart|stop...] service mon_service [start|restart|stop...]

Page 36: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP8a : Développer sous GNU/Linux Sous debian les paquets de développement sont postfixés -dev

Installer gcc et g++

Installer make, vim

Installer gdb, valgrind

Installer une librairie (par exemple boost)

Installer un IDE (kdevelop, anjuta)

Quelques librairies célèbres libstdc++, boost

QT, gtk, SDL

openGL

pcre

Page 37: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP8b : Développer sous GNU/Linux

Écrire un tic tac toe Le compiler à la main et l'exécuter

gcc -W -Wall -c module.c

gcc -W -Wall main.c module1.o module2.o main.c -o binaire

Écrire un makefile Makefile automatique

parenthèse sur automake et autoconf

gdb Erreur de segmentation : r binaire, bt

Débogage pas à pas : b n s p

valgrind

Page 38: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Les templates

Les templates L'opérateur ::

typename

La STL std::vector<T>

std::list<T>

std::set<T>

std::map<K,T>

Les flux : std::ifstream, std::ofstream, ...

Callback vs visiteurs, foncteurs g++, gSTLfilt

Page 39: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP9 : STL

Exercice 1 Lire un fichier tabulé nom prénom

Afficher tous les contacts

Rechercher les contacts dont le nom de famille et Durand

Afficher le nombre de contacts

Exercice 2 Lire dans un répertoire des fichiers de contact au format :

− NOM

− PRENOM

− AGE Écrire une interface en mode texte permettant de retrouver les personnes pour

un âge, un prénom, ou un nom donné

Page 40: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP10 : shell (algo)

Créer un script shell qui demande le prénom et qui répond bonjour. Exemple :

prénom ? MarcBonjour Marc !

Créer un script shell qui prend un paramètre un entier positif n. Écrire un carré de n caractères sur n caractères. Exemple :

****************

Page 41: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

groupe de volume vg0

LVM (Logical Volume Manager) Permet de s'abstraire des

partitions physiques une donnée peut être stockée

à cheval sur plusieurs disques / partitions.

redimensionnement aisé

pas de limites sur le nombre de partitions

Terminologie pv : physical volume

vg : volume group

lv : logical volume

/dev/sda1 /dev/sdb2 /dev/mda1

lvol1 lvol2 lvol3 toto

Physical volume

Logical volume

Au final, on manipule /dev/vg0/toto (ou /dev/mapper/vg0-toto)

Page 42: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

RAID logiciel

A0

A2

A4

A6

A1

A3

A5

A7

RAID0 : volume agrégé par bandes

Pas de redondance :- Pas de perte d'espace- Très performant en lecture/écriture- La perte d'un disque est fatale

A0

A1

A2

P3

B0

B1

P2

B3

C0

P1

C2

C3

P0

D1

D2

D3

A0

A1

A2

A3

A0

A1

A2

A3

RAID1 : disque en miroir

Redondance :- Perte d'espace ((n-1)/n %)- Supporte la perte de n-1 disques

RAID5 : volume agrégé par bandesà parité répartie

Bits de parité :- Performances en lectureéquivalentes au RAID0- Performances dégradées en écriture- Surcoût en place minimal (1/(n-1) %)- Requiert au moins 3 disques- Reconstruction longue

RAID1 établi surdeux disques

RAID5 établi surquatre disques

Page 43: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

swapRAID5

/dev/md1(2*79Go)

RAID1/dev/md0(1*500Mo)

Exemple LVM + RAID/dev/sda1

500Mo/dev/sda2

500Mo/dev/sda3

79Go

/dev/sdb1500Mo

/dev/sdb2500Mo

/dev/sdb379Go

/dev/sdc1500Mo

/dev/sdc2500Mo

/dev/sdc379Go

Disque a80Go

Disque b80Go

Disque c80Go

/dev/vg0/racine/

10Goext3

/dev/vg0/home/home148Go

ext3

LVM vg0

/dev/md0/boot

500Moext3

/dev/sd*1Swap1.5Go

Ce quel'on

manipuledans

/etc/fstab

Page 44: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP11 LVM RAID

Faire une installation calquée sur cet exemple : http://doc.ubuntu-fr.org/tutoriel/installation_raid_lvm

LVM Physical volume : pvcreate, pvscan, pvdisplay

Volume group : vgcreate, vgremove, vgreduce, vgextend, vgrename, vgdisplay, vgmknodes, vgchange

Logical volume : lvcreate, lvremove, lvreduce, lvextend, lvrename, lvdisplay...

ext2/3/4 : e2fsck, resize2fs

RAID mdadm, mdstat

/etc/mdadm.conf

Page 45: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

Apache2 Serveur http/https. Qui dit serveur dit service !

Apache2 : 2 multi processing module (mpm) : prefork : permet d'utiliser des librairies non thread safe

worker : gestion des threads (recommandé).

Décomposé en modules apache : pam, php5, perl, python, bw... : a2enmod, a2dismod

Configuration : relancer apache2 en cas de modification essentiellement via /etc/apache2/apache2.conf

via des liens symboliques (voir /etc/apache2/[mods|sites]-[available|enabled])

− Un serveur apache, plusieurs sites (les vhosts) : a2dissite, a2ensite

− A priori rangés dans /var/www/htdocs/...

Page 46: Formation administration Linux3kernels.free.fr/divers/support/insta/unix-linux/linux_administration.pdf · Gnome KDE Librairies QT, libstdc++, boost pilotes App. Graphique s kdevelop

TP12 : apache

Installation d'apache et de ses modules http://doc.ubuntu-fr.org/apache2#installation1

lancer apache, utiliser nmap etc...

visite des fichiers de configuration

Installer et configurer php5 créer une page /var/www/htdocs/mon_site/index.php qui écrit l'heure quand on

s'y connecte

créer une page admin.php dans /var/www/htdocs/mon_site/admin

Restreindre l'accès via htaccess au répertoire admin http://www.infres.enst.fr/~danzart/frames/htaccess.html