You are on page 1of 58

Introduction Linux

Vincent Granet
PolytechNice-Sophia
Cours LP RT 2009/2010

Rfrences

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/

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

www.polytech.unice.fr/~vg

Historique

1969 Unix Laboratoires Bell

1973 rcriture en C du systme

K. Thompson PDP7 Sep


D. Ritchie

1977 Transport InterData32


1977 UnixV5 BSD
1980-> UnixV7, BSD4.3, Ultrix, SunOs,
AIX-IBM, FreeeBSD,

www.polytech.unice.fr/~vg

Historique

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
www.polytech.unice.fr/~vg

Logiciel Open Source

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

www.polytech.unice.fr/~vg

O lobtenir ?

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)

www.polytech.unice.fr/~vg

Points forts

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.
www.polytech.unice.fr/~vg

Utilisation dun SE

www.polytech.unice.fr/~vg

Utilisation dun SE : concepts de base

Lutilisateur

La

connexion au systme
Les processus
Les fichiers
La documentation
www.polytech.unice.fr/~vg

Lutilisateur

Systme mono-utilisateur

Systme multi-utilisateurs
Mcanismes

de protection
Identification mot de passe

www.polytech.unice.fr/~vg

Connexion au systme

Ecran (graphique), clavier, souris,


Deux types de connexions :

Directe (terminal directement reli lordinateur)


Distante

Adsl
Ethernet
Wifi
.

www.polytech.unice.fr/~vg

Les processus

Programme en cours dexcution


Plusieurs processus simultanment
Hirarchie de processus
Pid unique
Processus systme (mode privilgi)
Processus utilisateur

www.polytech.unice.fr/~vg

Les fichiers

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

www.polytech.unice.fr/~vg

Les fichiers

Mais ils permettent de reprsenter aussi


des mcanismes spcifiques :

Entre/sortie standard
Mmoire, priphriques
Communication inter-processus
Connexion rseau

www.polytech.unice.fr/~vg

La documentation

Ncessit pour une bonne utilisation du SE


Documentation en ligne
Outils de consultation de la documentation
Traductions dans diffrentes langues
www.polytech.unice.fr/~vg

Utilisation de Linux

www.polytech.unice.fr/~vg

Connexion au systme Linux

connexion Linux directe (console) :

par le rseau :

vt100, vt220, vt320


ansi
tty
X-windows
ssh, telnet

Un mme utilisateur peut se connecter


plusieurs fois au SE
www.polytech.unice.fr/~vg

Login

Identification + Mot de passe

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)$

Identification :

locale (/etc/passwd, /etc/shadow)


rseau (YP, LDAP)

www.polytech.unice.fr/~vg

Utilisateurs

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
www.polytech.unice.fr/~vg

Utilisateurs et Groupes

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)

www.polytech.unice.fr/~vg

Utilisateurs et Groupes

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
www.polytech.unice.fr/~vg

Structure de Linux

www.polytech.unice.fr/~vg

Fichiers et SGF

www.polytech.unice.fr/~vg

Concepts dfinis par le SGF

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

www.polytech.unice.fr/~vg

Diffrents types fichiers

Fichiers ordinaires

Fichiers de donnes

Rpertoires/Dossiers

Texte : ascii, iso, unicode


Binaire : excutable, archive,

Hirarchie/Arborescence unique
sous-rpertoires

Fichiers spciaux (/dev, /proc)

Caractres et Blocs
Processus
www.polytech.unice.fr/~vg

Accs aux donnes dans les fichiers

Accs squentiel

Le premier adapt au bandes


read()

Accs direct (ou alatoire)

Octets accessibles dans nimporte quel ordre


Disques / bases de donnes

lseek()

www.polytech.unice.fr/~vg

Une hirarchie Unix

www.polytech.unice.fr/~vg

Chemin daccs

notation absolue

notation relative

/usr/include/sys /home/elec3/dupont
prog.c, adm/messages
./lib ../../elec3

Nom spciaux

/
.
..
~

La racine
Le rpertoire courant
Le rpertoire pre
Le rpertoire utilisateur (home)

www.polytech.unice.fr/~vg

Systmes de fichiers

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

www.polytech.unice.fr/~vg

Systme de fichiers

La commande mount

Monte un fs existant sur un priphrique sur la


hirarchie principale

/etc/fstab contient les montages faire au


dmarrage du systme

www.polytech.unice.fr/~vg

Permissions

-rwxrwxrwx
Permissions pour les autres
Permissions pour le groupe
Permissions pour le propritaire
indicateur (d=rpertoire; l=lien sym)

Notation octale : 777

Permissions

La commande (ls -l) permet de


visualiser les permissions des fichiers

-rwxrwxr-x
-rw-rw-r--rw-rw-r-drwxrwxr-x

Permissions

1
1
1
7

vg
vg
vg
vg

vg
vg
vg
vg

5224
221
1514
1024

Sep
Sep
Sep
Sep

12
12
12
8

Groupe
Propritaire

www.polytech.unice.fr/~vg

03:22
03:59
03:59
14:52

hello
hello.c
hello.s
essai

Fichiers standard

Entre standard (0)


Sortie standard (1)
Sortie derreur standard (2)
Mcanismes de redirection
<, >, >> et 2>

www.polytech.unice.fr/~vg

Commandes de base de manipulation de fichiers

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

www.polytech.unice.fr/~vg

Processus

www.polytech.unice.fr/~vg

Hirarchie de processus

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
www.polytech.unice.fr/~vg

Foreground avant-plan

Background arrire-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
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

processus

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

www.polytech.unice.fr/~vg

Commandes

ps
kill
nice, renice
nohup, at

www.polytech.unice.fr/~vg

Shell

www.polytech.unice.fr/~vg

Shell

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

www.polytech.unice.fr/~vg

Excution dune commande shell

www.polytech.unice.fr/~vg

Excution des commandes

Enchanement squentiel des commandes

Enchanement parallle des commandes

p1; p2; p3; .. ; pn


p1 | p2 | p3 | . | pn
Ex: who | wc l

Parenthseurs de commandes

{ p1 ; p2; p3; ; pn } et (p1 | p2 | p3 | | pn)

www.polytech.unice.fr/~vg

Script shell

#!/bin/bash
for i in $(ls) do
echo $i
[[ -f $i && ! -r $i ]] && chmod u+r $i
done

www.polytech.unice.fr/~vg

Variables denvironnement

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

www.polytech.unice.fr/~vg

Variables denvironnement prdfinies

HOME

TERM

Rpertoire courant

PATH

le type de terminal utilis (par exemple vt100, xterm,


ou ansi)

PWD

Rpertoire utilisateur (~)

Liste de rpertoires o rechercher les commandes

PRINTER
www.polytech.unice.fr/~vg

Interface graphique

www.polytech.unice.fr/~vg

Interface Graphique

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

www.polytech.unice.fr/~vg

Relation client serveur

www.polytech.unice.fr/~vg

Environnements graphiques de bureau

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

www.polytech.unice.fr/~vg

Nautilus

www.polytech.unice.fr/~vg

rseau

www.polytech.unice.fr/~vg

Protocoles rseaux

De nombreuses protocoles sont grs :

Decnet
AppleTalk
X25
.
et bien-sr IP (Internet Protocol)

www.polytech.unice.fr/~vg

Commandes rseau

Commandes de base

Ouvertures sessions distantes

telnet, ssh

Transferts de fichiers

ping, traceroute, nslookup/host


DNS, DHCP

scp, ftp, sftp

Fichiers rpartis

NFS, samba
www.polytech.unice.fr/~vg

Courrier lectronique

Messagerie instanne

IRC, MSN, Google Talk : pidgin

Web

Agent de transport : SMTP, sendmail, postfix,


Agent de courrier : mh, xmh, thunderbird,

Serveur http : apache, php


Navigateurs : firefox, konqueror

BD : mysql
www.polytech.unice.fr/~vg