Vous êtes sur la page 1sur 58

Introduction Linux

Vincent Granet
PolytechNice-Sophia
Cours LP RT 2009/2010
Livres
Linux pour les nuls, Dee-Ann Leblanc, First Interactive, 2006.
Linux en pratique, Arnold Robbins, Campus Press, 2007.
Linux programmation systme et rseau , cours exemples et
exercices corrigs en C-C++, Jolle Delacroix, Dunod, 2007
Support de cours
http://elec.polytech.unice.fr/~vg/supports-de-cours/Unix-Reseau.pdf
Sites web
http://www.linux.org/
http://www.linux-france.org/
Rfrences
www.polytech.unice.fr/~vg
www.polytech.unice.fr/~vg
Quest-ce quun systme dexploitation ?
Ensemble de programmes destin faire
fonctionner lordinateur
Exemples :
Linux, Windows (XP,Vista)
Mac OS (Leopard)
mais aussi,
Unix, Multics, VMS, GCOS,
www.polytech.unice.fr/~vg
Quest-ce quun systme dexploitation ?
Principales fonctions :
Gestion des processus
Gestion de la mmoire
Gestion des E/S
SGF
Rseau
Scurit
Interface utilisateur,
www.polytech.unice.fr/~vg
Quest-ce que Linux ?
Un SE 32/64-Bit de type Unix
Utilitaires Unix comme sed, awk, et grep
Compilateurs C, C++, Fortran, Smalltalk, Ada, .
Utilitaires rseaux comme telnet, ftp, ssh, ping, traceroute
Multi-utilisateurs, Multi-tches, Multi-processeurs
X Windows GUI
Inter-oprabilit avec dautres SE
Fonctionne sur diffrentes machines
Code source disponible Logiciel libre
1969 Unix Laboratoires Bell
K. Thompson PDP7 Sep
1973 rcriture en C du systme
D. Ritchie
1977 Transport InterData32
1977 UnixV5 BSD
1980-> UnixV7, BSD4.3, Ultrix, SunOs,
AIX-IBM, FreeeBSD,
Historique
www.polytech.unice.fr/~vg
1991 Linux
Linus Torvalds
Avec laide de programmeurs du monde entier
1er version poste sur Internet en 1991
1994 Linux 1.0 et en 2003 Linux 2.6
Slackware, Debian, Ubuntu, Gentoo, etc.
LiveCD : Knoppix
Aujourdhui, utilis sur 7 10 millions
dordinateurs, mais MS 98% de parts de march
Historique
www.polytech.unice.fr/~vg
Tout le monde peut prendre le logiciel sur
internet pour le lire, le modifier, le corriger,
ladapter et le redistribuer.
Processus collaboratif lchelle mondiale
Ca marche !
Le logiciel est ouvert
Logiciel Open Source
www.polytech.unice.fr/~vg
Le plus simple par Internet sur le site dun
distributeur :
http://www.debian.org/index.fr.html
http://www.ubuntu-fr.org/
Tlcharger les images iso
Installation de paquets (apt-get, synaptic)
O lobtenir ?
www.polytech.unice.fr/~vg
Puissance
Tourne sur de nombreux ordinateurs diffrents
Rapide et stable
Trs nombreux logiciels
Pilotes pour une majorit de priphriques
Libre et Gratuit
Licence GPL
tout le monde peut prendre le logiciel sur internet
pour le lire, le modifier, le corriger, ladapter et le
redistribuer.
Points forts
www.polytech.unice.fr/~vg
Utilisation dun SE
www.polytech.unice.fr/~vg
Lutilisateur
La connexion au systme
Les processus
Les fichiers
La documentation
Utilisation dun SE : concepts de base
www.polytech.unice.fr/~vg
Systme mono-utilisateur
Systme multi-utilisateurs
Mcanismes de protection
Identification mot de passe
Lutilisateur
www.polytech.unice.fr/~vg
Ecran (graphique), clavier, souris,
Deux types de connexions :
Directe (terminal directement reli lordinateur)
Distante
Adsl
Ethernet
Wifi
.
Connexion au systme
www.polytech.unice.fr/~vg
Programme en cours dexcution
Plusieurs processus simultanment
Hirarchie de processus
Pid unique
Processus systme (mode privilgi)
Processus utilisateur
Les processus
www.polytech.unice.fr/~vg
Permettent de conserver linformation sur
des supports externes (e.g. disques)
Organisation hirarchique
Espace utilisateur
Mcanismes de protection
Donnes
non structures (suite linaire doctets)
Suite denregistrements avec ou sans table
dindex
Les fichiers
www.polytech.unice.fr/~vg
Mais ils permettent de reprsenter aussi
des mcanismes spcifiques :
Entre/sortie standard
Mmoire, priphriques
Communication inter-processus
Connexion rseau
Les fichiers
www.polytech.unice.fr/~vg
Ncessit pour une bonne utilisation du SE
Documentation en ligne
Outils de consultation de la documentation
Traductions dans diffrentes langues
La documentation
www.polytech.unice.fr/~vg
Utilisation de Linux
www.polytech.unice.fr/~vg
connexion Linux directe (console) :
vt100, vt220, vt320
ansi
tty
X-windows
par le rseau :
ssh, telnet
Un mme utilisateur peut se connecter
plusieurs fois au SE
Connexion au systme Linux
www.polytech.unice.fr/~vg
Identification + Mot de passe
Identification :
locale (/etc/passwd, /etc/shadow)
rseau (YP, LDAP)
Login
www.polytech.unice.fr/~vg
Linux 2.6.28 (lyre.polytech.unice.fr)
lyre login: vg
Password:
Last login: Mon Sep 14 19:12:56 from
elec.polytech.unice.fr
lyre(/home/vg)$
Un utilisateur particulier (super-utilisateur) a
tous les privilges
root
Rserv linstallation et ladministration
du systme
Pour des raisons de scurit, on vite de
se connecter root
Utilisation de sudo
Cration d utilisateur : useradd
Utilisateurs
www.polytech.unice.fr/~vg
Les utilisateurs sont identifis par des UIDs, un entier
sur lintervalle 0 .. 4 294 967 295 (FFFFFFFF). Les
utilisateurs avec un UID=0 sont super-utilisateurs
Les utilisateurs appartiennent des groupes identifis
par des GIDs, un entier sur lintervalle 0 .. 4 294 967
295
adduser et addgroup peuvent choisir automatiquement
les UIDs et GIDs
id affiche votre identification :
uid=1000(vg) gid=1000(vg),groupes=4(adm),1000(vg)
Utilisateurs et Groupes
www.polytech.unice.fr/~vg
Les groupes limitent les protections
Ils permettent le partage de fichiers entre
utuilisateurs
Un utilisateur peut appartenir plusieurs
groupes
La commande groups donne les groupes
auxquels vous appartenez :
vg adm
Utilisateurs et Groupes
www.polytech.unice.fr/~vg
www.polytech.unice.fr/~vg
Structure de Linux
Fichiers et SGF
www.polytech.unice.fr/~vg
Types de fichiers
Organisation des donnes dans les fichiers
Rgles de nommage
Accs aux donnes dans les fichiers
Attributs associs aux fichiers
Commandes de manipulation de fichiers
Fonctions systmes sur les fichiers
Concepts dfinis par le SGF
www.polytech.unice.fr/~vg
Fichiers ordinaires
Fichiers de donnes
Texte : ascii, iso, unicode
Binaire : excutable, archive,
Rpertoires/Dossiers
Hirarchie/Arborescence unique
sous-rpertoires
Fichiers spciaux (/dev, /proc)
Caractres et Blocs
Processus
Diffrents types fichiers
www.polytech.unice.fr/~vg
Accs squentiel
Le premier adapt au bandes
read()
Accs direct (ou alatoire)
Octets accessibles dans nimporte quel ordre
Disques / bases de donnes
lseek()
Accs aux donnes dans les fichiers
www.polytech.unice.fr/~vg
Une hirarchie Unix
www.polytech.unice.fr/~vg
notation absolue
/usr/include/sys /home/elec3/dupont
notation relative
prog.c, adm/messages
./lib ../../elec3
Nom spciaux
/ La racine
. Le rpertoire courant
.. Le rpertoire pre
~ Le rpertoire utilisateur (home)
Chemin daccs
www.polytech.unice.fr/~vg
Linux gre plusieurs types de SF
Les plus courants ext2fs, ext3fs, ext4fs
noms des fichiers jusqu 255 caractres
taille jusqu 16GB
Trs performant et robuste
Interoprabilit (dos, vfat, hfs, iso9660,
nfs,)
Systmes de fichiers
www.polytech.unice.fr/~vg
La commande mount
Monte un fs existant sur un priphrique sur la
hirarchie principale
/etc/fstab contient les montages faire au
dmarrage du systme
Systme de fichiers
www.polytech.unice.fr/~vg
-rwxrwxrwx
Permissions pour les autres
Permissions pour le groupe
Permissions pour le propritaire
indicateur (d=rpertoire; l=lien sym)
Permissions
Notation octale : 777
Permissions
www.polytech.unice.fr/~vg
La commande (ls -l) permet de
visualiser les permissions des fichiers
-rwxrwxr-x 1 vg vg 5224 Sep 12 03:22 hello
-rw-rw-r-- 1 vg vg 221 Sep 12 03:59 hello.c
-rw-rw-r-- 1 vg vg 1514 Sep 12 03:59 hello.s
drwxrwxr-x 7 vg vg 1024 Sep 8 14:52 essai
Permissions
Propritaire
Groupe
Entre standard (0)
Sortie standard (1)
Sortie derreur standard (2)
Mcanismes de redirection
<, >, >> et 2>
Fichiers standard
www.polytech.unice.fr/~vg
cd, pwd, ls, mkdir, cp, mv, rm, rmdir, ln
find
umask, chmod, chgrp, chown
more/less, grep, awk, lpr
tar, gzip
vi, xedit, pico, xemacs
Commandes de base de manipulation de fichiers
www.polytech.unice.fr/~vg
Processus
www.polytech.unice.fr/~vg
Les processes sont crs de faon
hirarchique. init pre de tous les
processus
Un processus peut contrler lexcution
de nimporte lequel de ses fils
La fin dun processus achve par dfaut
de tous ses fils.
Linux affecte une identification unique
(PID) chaque processus
Hirarchie de processus
www.polytech.unice.fr/~vg
Foreground avant-plan
Quand une commande est excute partir du
terminal, elle est excute par dfaut en avant-plan :
pas de nouvelle commande avant la fin de la
commande courante. Rpond aux interruptions
clavier
Background arrire-plan
Quand une commande est excute partir du
terminal avec & la fin, linvite revient
immdiatement : commande en arrire-plan.
fg, bg
www.polytech.unice.fr/~vg
Dmons
processus systmes en arrire-plan qui tournent
en permanance
processus habituellement dmarrs au boot
(/etc/init.d)
processus qui ne sont pas lis un terminal
httpd, nfsd, kacpid, ,
processus
www.polytech.unice.fr/~vg
ps
kill
nice, renice
nohup, at
Commandes
www.polytech.unice.fr/~vg
Shell
www.polytech.unice.fr/~vg
interface textuelle entre le systme et
lutilisateur hors noyau
Utilis pour excuter des commandes et
des programmes
Cest un interprte de commandes
Vritable langage de programamtion
script shell = fichier de commandes
Plusieurs diffrents: sh, ksh, csh, zsh, bash
Shell
www.polytech.unice.fr/~vg
Excution dune commande shell
www.polytech.unice.fr/~vg
Enchanement squentiel des commandes
p1; p2; p3; .. ; pn
Enchanement parallle des commandes
p1 | p2 | p3 | . | pn
Ex: who | wc l
Parenthseurs de commandes
{ p1 ; p2; p3; ; pn } et (p1 | p2 | p3 | | pn)
Excution des commandes
www.polytech.unice.fr/~vg
#!/bin/bash
for i in $(ls) do
echo $i
[[ -f $i && ! -r $i ]] && chmod u+r $i
done
Script shell
www.polytech.unice.fr/~vg
Les variables (denvironnement) permettent
le contrle du fonctionnement du shell et
dautres programmes Linux.
Dfinition :
VAR=/home/eleves/elec3
export TERM=xterm
export SYSTEMNAME=$(uname n)
Utilisation
cd $VAR
echo $SYSTEMNAME
Variables denvironnement
www.polytech.unice.fr/~vg
HOME
Rpertoire utilisateur (~)
TERM
le type de terminal utilis (par exemple vt100, xterm,
ou ansi)
PWD
Rpertoire courant
PATH
Liste de rpertoires o rechercher les commandes
PRINTER
Variables denvironnement prdfinies
www.polytech.unice.fr/~vg
Interface graphique
www.polytech.unice.fr/~vg
Systme de fentrage X-Windows
Relation client/serveur
Protocole tcp/ip ou decnet
Variable DISPLAY
[machine-hte]:num-de-serveur.[num-cran]
DISPLAY=beryl.unice.fr:0
Interface Graphique
www.polytech.unice.fr/~vg
Relation client serveur
www.polytech.unice.fr/~vg
Ensemble d'outils permettant d'exploiter
graphiquement votre ordinateur :
gestionnaire de fentres et de bureau
gestionnaire de fichiers,
espaces de travail virtuels
Les plus connus Gnome et KDE
Environnements graphiques de bureau
www.polytech.unice.fr/~vg
Nautilus
www.polytech.unice.fr/~vg
rseau
www.polytech.unice.fr/~vg
De nombreuses protocoles sont grs :
Decnet
AppleTalk
X25
.
et bien-sr IP (Internet Protocol)
Protocoles rseaux
www.polytech.unice.fr/~vg
Commandes de base
ping, traceroute, nslookup/host
DNS, DHCP
Ouvertures sessions distantes
telnet, ssh
Transferts de fichiers
scp, ftp, sftp
Fichiers rpartis
NFS, samba
Commandes rseau
www.polytech.unice.fr/~vg
Courrier lectronique
Agent de transport : SMTP, sendmail, postfix,
Agent de courrier : mh, xmh, thunderbird,
Messagerie instanne
IRC, MSN, Google Talk : pidgin
Web
Serveur http : apache, php
Navigateurs : firefox, konqueror
BD : mysql
www.polytech.unice.fr/~vg