Vous êtes sur la page 1sur 82

Support de cours BTS1 GNU/LINUX Essaadi Driss

Ch 1 Introduction dun systme GNU/Linux

Vocabulaires :

Logiciel libre
Un logiciel libre est un logiciel qui est fourni avec l'autorisation pour quiconque de l'utiliser, de le copier,
et de le distribuer, soit sous une forme conforme l'original, soit avec des modifications, ou encore
gratuitement ou contre un certain montant.

Logiciel Open Source


Le terme logiciel open source (littralement source ouvert) est utilis par certaines personnes pour
qualifier plus ou moins la mme catgorie que le logiciel libre. Ce n'est pas exactement la mme catgorie
de logiciel : ils acceptent certaines licences que nous considrons trop restrictives et il y a des licences de
logiciel libre qu'ils n'ont pas acceptes. Toutefois, les diffrences entre les deux catgories sont minimes :
pratiquement tous les logiciels libres sont open source et presque tous les logiciels open source
sont libres.

Logiciel couvert par la GPL


La GNU GPL (Licence Publique Gnrale GNU) est un ensemble spcifique de conditions de
distribution pour un programme. Le projet GNU l'utilise comme conditions de distribution de la plupart
des logiciels GNU.

Le systme d'exploitation GNU


Le systme d'exploitation GNU est un systme d'exploitation de type Unix (Mais qui nest Unix.. GNU is
Not Unix), qui est entirement libre, et que nous avons dvelopp au sein du projet GNU depuis 1984.

Systme dexploitation propritaire


le Systme d'exploitation est la proprit exclusive de l'entreprise qui l'a cr. Il appartient quelqu'un. Il
n'est pas libre d'utilisation. Il est sous une licence d'exploitation
Qu'est-ce que Linux ?

Unix est l'OS pour gros ordinateurs (Pas pour les PCs) dvelopp en 1970 aux laboratoires A&T Bell
Labs. Il a ensuite t distribu gratuitement notamment aux gouvernements et aux universits. Divers
organismes en supporte diffrentes distributions :

System V La branche d'AT&T qui allait devenir System V de UNIX System Labs (USL)

BSD(Berkeley Software Developpement) dvelopp par l'Universit de Californie

Unix SCO, Unix commercial bas sur System V dvelopp ds 1979 par Santa Cruz Operations et
Hewlett Packard

AIX, Unix commercial bas sur System V dvelopp en fvrier 1990 par IBM

Sun Solaris, Unix commercial bas sur System V et BSD dvelopp par SUN Microsystems
1 sur 6
Support de cours BTS1 GNU/LINUX Essaadi Driss

La plupart des Unix sont soumis des licences de copyright.

En 1983 AT&T et le droit de commercialiser son Unix, ce qui marqua l'apparition de UNIX System V, la
version commerciale de son systme Unix.

En 1985 un professeur hollandais, nomm Andrew Tannenbaum, dveloppa un systme d'exploitation


minimal, baptis Minix, afin d'enseigner la programmation systme ses tudiants.
En 1991 un tudiant finlandais, Linus Torvalds, dcida de concevoir, sur le modle Minix, un systme
d'exploitation capable de fonctionner sur les architectures de type 386.
Il baptisa ce systme d'exploitation "Linux"

Voici un schma non exhaustif retraant globalement l'apparition des principaux systmes de type Unix :

Linux a t diffus pour la premire fois par Linus Torvalds en 1991. Son modle de dveloppement est
libr du droit d'auteur. Il adopte la licence GPL cre par Richard Stallman quelques annes
auparavant. Richard Stallman est galement l'origine du projet GNU, sans lequel Linux ne servirait pas
grand chose. Certaines personnes prfrent ainsi parler de systme GNU/Linux. Linux implmente la
plupart des commandes system V, BSD et Unix.

GNU/Linux, souvent appel Linux par abus de langage, est un systme d'exploitation au mme titre que
Windows de Microsoft ou Mac OS X d'Apple. La diffrence essentielle est que ce systme d'exploitation
est libre. Lorsque l'on parle de Linux, on se rfre en fait trs souvent une distribution (ensemble de
logiciels) utilisant Linux comme cur du systme d'exploitation. Il existe (du fait de sa libert) de
multiples distributions (Ubuntu, Mandriva, Debian, Suse, etc.). .

GNU/Linux est d'une remarquable stabilit (Il tombe rarement en panne). De plus, GNU/Linux est un
systme multitche : sous Linux vous pouvez formater un disque, couter un CD audio, graver un DVD
de sauvegarde, tlcharger des fichiers sur Internet, mettre jour votre distribution.
GNU/Linux fonctionne sur un nombre impressionnant de matriels (architectures): ordinateurs,
tlphones portables et autres. Il existe des distributions GNU/Linux tenant sur une disquette ou sur une
petite clef USB, d'autres sur plusieurs DVD et d'autres sont embarques dans des cartes ddies ! Le fait
que GNU/Linux ne soit qu'un systme d'exploitation (pas une interface graphique + un systme

2
Support de cours BTS1 GNU/LINUX Essaadi Driss

d'exploitation comme Windows ou Mac OS X) fait que vous avez le choix entre nombre d'interfaces
graphiques.

Les differentes principales destributions

Ubuntu
Site officiel : http://www.ubuntu.com

Forum : http://www.ubuntu-fr.org

Option(s) de configuration : Ligne de commande/Ecran graphique.

Ubuntu est une distribution GNU/Linux base sur Debian qui privilgie l'environnement graphique
GNOME et destine proposer un systme convivial, ergonomique, libre et gratuit pour le grand public.
Ubuntu est donc une distribution facile d'installation et d'utilisation. Il existe galement une version
serveur.

Ubuntu : bureau Gnome

Kubuntu : bureau KDE

SuSE
Site officiel : http://www.suse.fr/fr/

Option(s) de configuration : LC/IG+.

La SuSE est une distribution trs populaire en Allemagne (mais pas seulement). Son utilisation s'adresse
aux dbutants comme aux personnes aguerries. Elle est donc tous publics. Elle possde une configuration
entirement graphique (il reste nanmoins possible de modifier les fichiers de configuration
manuellement). La langue franaise est bien intgre l'ensemble de la distribution, mme si certains
modules demandent encore tre amliors.
SuSE a t rachet par Novell, et l'on peut se rjouir du fait qu'un effort substanciel est fait pour imposer
GNU/Linux en tant que station de travail. Un gros travail t fourni du ct de l'interface graphique.

Autres liens : http://frenchsuse.free.fr ou encore http://www.alionet.org.

Mandriva (anciennement Mandrake)


Site officiel : http://www.mandrivalinux.com

Option(s) de configuration : LC/IG+.

Mandriva Linux a t cre dans le but de permettre au plus grand nombre d'utiliser facilement un
systme GNU/Linux. C'est une distribution franaise. Elle intgre de nombreux outils graphiques visant
simplifier au maximum l'administration de ce systme. Mandriva est donc une distribution facile
d'installation et d'utilisation, mais s'oriente plus vers les stations de travail que les serveurs (sauf se
procurer la trs onreuse version ddie cet usage).

Debian .
Site officiel : http://www.debian.org

Option(s) de configuration : LC.


3
Support de cours BTS1 GNU/LINUX Essaadi Driss

Les priorits de Debian sont la stabilit et l'efficacit, et non pas la facilit d'utilisation. Afin de laisser la
plus grande marge de manuvre possible l'utilisateur, n'est install par dfaut que ce qui est
indispensable. La gestion des paquetages est aise, le reste se fait la main. Trois versions sont
disponibles selon les gots et le type d'utilisation:

stable : particulirement stable et scurise. Les paquetages ont t tests et retests pendant au
moins 6 mois avant d'tre figs. Il s'agit donc de versions parfois trs anciennes de ces paquetages.

testing : bon compromis pour une utilisation de bureau. Des paquetages assez rcents, mais parfois
quelques ennuis.

unstable : des paquetages trs rcents et non-tests. Se destine plutt des utilisateurs avertis.

Fedora
Sites officiels : http://www.fedora.redhat.com ou bien http://www.fedoraforum.org.ou :
http://www.fedora-fr.org

Option(s) de configuration : LC/IG+.

Fedora offre un confort et une facilit d'installation, d'utilisation, d'administration pousss et est
accessible tous, qu'ils soient confirms sous GNU/Linux ou dbutants. RedHat utilise Fedora comme
plan de travail pour ses propres solutions professionnelles, en y incorporant les dernires technologies du
monde GNU/Linux. Elle est idale pour ceux qui veulent disposer de mises jour rapides et des derniers
correctifs de scurit. Le projet sort deux trois nouvelles versions par an.

NB : Utiliser la diapo intro_linux.ppt pour presenter cette leon


Puis la fin distribuer le support de cours .Le relire et le commenter
avec les tudiants

4
Support de cours BTS1 GNU/LINUX Essaadi Driss

TP 1 : Repartitionner, installer Linux (Ubuntu),


Conserver Windows

Cet article va vous guider pour installer Linux sur votre ordinateur en repartitionnant votre disque et en conservant
Windows.
Nous allons installer Ubuntu 8.04 qui est une distribution de Linux facile utiliser et qui contient un outil de partitionnement
intgr facilitant l'installation.
A chaque dmarrage, vous pourrez choisir entre Windows et Linux.

Le ncessaire

Le CD d'Ubuntu (Vous pouvez http://www.ubuntu-fr.org/telechargement sur internet et le graver en image iso,)


Une machine avec Windows dj prsent (quelle que soit sa version).
Au minimum 10 Go de libre dans la partition Windows
Plus de 512 Mo de mmoire vive (1Go recommand)
1. Telecharger et graver le cd/Dvd installation Ubuntu derniere version
Il est recommand de librer plus de place dans la partition Windows afin de rduire le travail de l'outil de partitionnement.

Note: Il n'est pas ncessaire de dfragmenter votre disque avant d'installer Ubuntu: L'outil de partitionnement est capable
de dplacer des fichiers dans la partition Windows. Il faut juste veiller avoir assez de place disponible.
2. Installation
Insrez le CD d'Ubuntu dans le lecteur et redmarrez l'ordinateur.
Un cran va s'afficher: l'aide des flches, slectionnez le franais et pressez ENTREE.

Sur cet cran, choisissez "Installer Ubuntu":

Laissez le systme se charger:

5
Support de cours BTS1 GNU/LINUX Essaadi Driss

Comme langue, choisissez le franais ou toute autre langue adapte:

Choisissez votre fuseau horaire:

Choisissez la configuration du clavier (La slection par dfaut devrait tre correcte):

Ubuntu vous indique qu'il va devoir repartitionner le disque. Confirmez en cliquant sur "Continuer":

6
Support de cours BTS1 GNU/LINUX Essaadi Driss

Dans l'cran suivant, slectionnez "Guided", puis dplacez le curseur pour choisir la taille de la partition que vous voulez
rserver Ubuntu. La partition Windows sera rduite d'autant.
Je vous recommande 10 Go, ce qui laisse assez de libert pour essayer de nombreux logiciels, mais libre vous de choisir plus
grand.

Puis cliquez sur "Suivant" et laissez faire le repartitionnement (qui peut prendre un certain temps s'il y a des fichiers dplacer
l'intrieur de la partition Windows).

Entrez ensuite votre nom, identifiant, mot de passe et le nom que vous voulez donner cette machine.

7
Support de cours BTS1 GNU/LINUX Essaadi Driss

Si vous souhaitez importer des profils, configuration, signets ou fichiers de Windows, cochez les cases appropries (ce n'est
absolument pas obligatoire).

Ubuntu est alors prt installer: confirmez en cliquant sur "Installer":

Laissez l'installation se poursuivre. Cela va durer un certain temps.

Ubuntu a termin l'installation et il est prt redmarrer l'ordinateur. Cliquez sur "Redmarrer maintenant".

Une fois le message ci-dessous affich, vous pouvez retirer le CD d'Ubuntu du lecteur et presser la touche ENTREE.

8
Support de cours BTS1 GNU/LINUX Essaadi Driss

Sur cet cran, vous pouvez voir Ubuntu et Windows. Par dfaut, c'est Ubuntu qui sera dmarr au bout de 10 secondes. Pressez
simplement ENTREE ou attendez 10 secondes.

Laissez le systme se charger:

A l'cran de connexion, entrez l'identifiant et le mot de passe que vous aviez choisi lors de l'installation:

Et voil votre bureau Ubuntu prt explorer !

Pour revenir Windows, rien de plus simple: cliquez sur ce petit bouton en haut droite: et cliquez sur "Redmarrer":

De retour sur l'cran suivant, utilisez les flches haut et bas pour slectionner Windows et pressez ENTREE.
(Si vous ne pressez aucune touche, Ubuntu sera dmarr automatiquement au bout de 10 secondes).

Aprs avoir redimensionn la partition, Ubuntu force Windows revrifier tout le disque pour s'assurer que tout est en ordre.
C'est une scurit supplmentaire. Ne touchez pas au clavier et laissez Windows vrifier le disque. Cette vrification ne sera
faite qu'une seule fois. Au bout de quelques minutes, vous tes de retour sous Windows:

Accder ma partition Windows


Vous avez sans doute tous vos fichiers dans la partition Windows. Pas de problme, vous pouvez y accder en cliquant sur son
nom dans la colonne de gauche. Votre mot de passe Ubuntu vous sera demand.

9
Support de cours BTS1 GNU/LINUX Essaadi Driss

Webographie : http://www.linuxfacile.net/telecharger/telecharger-ubuntu.html

NB : Lutilisation de la distribution Ubuntu derriere une Machine vertuelle (VirtuelBox) et


aussi aborder dans ce TP

Dans ce TP on realisera une connexion Internet sous Ubuntu laide de MODEM 3G , une
connexion Wifi , une connexion filaire .
Le manuel Premier pas avec Ubuntu est donn aux tudaints pour se familiriser avec
linterface graphique et les atouts dUbuntu.
Les documents Manuel_linux_1.pdf et Manuel_linux_2.dbf sont donns aux tudiants pour tre
imprims et integrer au support de cours.

Ch2. Terminaux, interprteur de commande Unix (Le shell)


et arboressence des fichiers
I. Un peu de terminologie :

terminal : le priphrique (au sens large) qui est utilis pour lire les commandes saisies au clavier
par l'utilisateur et en afficher le rsultat. Les plus couramment utiliss en mode
graphique(Xwindows) sont xterm, gnome-terminal (sous Gnome) ou kterm (sous KDE). En mode
texte, la console est le terminal.

shell : (interprteur de commandes) le programme charg de lire les commandes de l'utilisateur


puis de les xcuter. Un shell interactif est xcut dans un terminal. Le shell utilis par dfaut est
le bash (ou Bourne Again SHell).

environnement : c'est une collection de variables (dites d'environnement) permettant de configurer


le comportement de nombreux programmes, en particulier du shell lui-mme.

Le shell c'est un programme qui se trouve dans le rpertoire /bin.

On distingue plusieurs shells

- le /bin/sh shell Bourne


- le /bin/bash shell Bourne Again Shell (shell bash de GNU/Linux)
- le /bin/csh C shell
- le /bin/ksh Korn shell
- le /bin/tcsh C shell amlior
- le /bin/zsh/ Z shell

10
Support de cours BTS1 GNU/LINUX Essaadi Driss

Le shell permet d'excuter des commandes, d'explorer l'arborescence du systme, de crer, d'diter et de
supprimer des fichiers, etc.
Les systmes de fichier sous Linux

Sous GNU/Linux c'est un peu plus compliqu car les fichiers du systme ontchacun une
place dfinie.

Path Description
/ nom de la racine de l'arborescence systme
/bin contenant les excutables ncessaire au fonctionnement du systme
/dev contenant les fichiers spciaux correspondant aux (pilotes
de)priphriques
/usr/bin contenant les excutables des programmes installs
contenant des commandes disponibles que pour le super utilisateur
/usr/sbin
(root)
/sbin contenant des commandes disponibles que pour le super utilisateur
maisqui sont indispensable au fonctionnement, surtout lors du
dmarrage, dusystme
/boot contenant le(s) noyau(x) ainsi que d'autres fichiers ncessaires
l'amorage du systme
/etc contenant les fichiers de configuration de la plupart des
programmessystmes, serveurs et parfois les fichiers de configuration
par dfaut desprogrammes des utilisateurs.
/var contenant des fichiers utiliss par diffrents programmes systmes,
parexemple il contient des logs, des sockets etc.
/usr/lib contenant les bibliothques dynamiques ou statiques disponibles sur
lesystme. C'est le rpertoire de recherche par dfaut pour l'diteur
deliens.

11
Support de cours BTS1 GNU/LINUX Essaadi Driss

/usr/local pouvant contenir une sorte de nouvelle arborescence avec un bin, etc,
lib pour les applications ajoutes aprs l'installation du systme.
/mnt pouvant contenir les points de montage de d'autres priphriques
destockage (clef usb, autre disque dur, NFS, etc) aujourd'hui la tendance
est plutt utiliser /media
/home contenant un rpertoire par utilisateur dans lequel est stock tous
lesfichiers de l'utilisateur.

Les systmes de fichiers jouent exactement le mme rle que ces index : organiser les fichiers de votre
ordinateur sur votre disque dur de faon pouvoir les retrouver lorsque vous en aurez besoin. Les
systmes de fichiers les plus utiliss l'heure actuelle sont srement le FAT32 et le NTFS, qui sont les
deux seuls systmes de fichiers que Windows peut nativement lire. Mais, tout comme il existe d'autres
systmes pour classer des livres dans une bibliothque, il existe de nombreux autres systmes de fichiers :
ext2, ext3, ext4,ReiserFS, JFS, XFS, ...

Comparaison de systmes de fichiers


Taille Taille Gestion
Nom du maximale maximale des
systme dun fichier dune droits
Journalise Notes
de partition d'accs
fichiers
Dvelopp par Microsoft, ce systme de
fichiers se rencontre moins frquemment
aujourd'hui. Il reste nanmoins utilis sur les
disquettes 3 formates sous Windows et
devrait tre utilis sous Linux si une disquette
doit aussi tre lue sous Windows. Il est aussi
utilis par plusieurs constructeurs comme
FAT (File systme de fichiers pour cartes mmoires
Allocatio 2 GiB 2 GiB Non Non (memory sticks), car, bien document, ce
n Table) systme de fichiers reste le plus
universellement utilis et accessible.

12
Support de cours BTS1 GNU/LINUX Essaadi Driss

Ce systme de fichiers, aussi cr par


Microsoft, est une volution de son
prdcesseur. Depuis sa version XP,
Windows ne peut pas (ou bloque
volontairement) formater une partition en
FAT32 d'une taille suprieure 32 Go. Cette
limitation ne s'applique pas sous Linux, de
mme qu'avec des versions antrieures de
FAT32 4 GiB 8 TiB Non Non Windows. Une partition FAT32 d'une taille
suprieure 32 Go formate pourra tre lue
par Windows

Ce systme de fichiers a aussi t dvelopp


par Microsoft, et il reste trs peu document.
L'criture depuis Linux sur ce systme de
fichiers a longtemps t considre comme
risqu; aujourd'hui, on dit que le support de
l'criture est stable. Nanmoins, puisque peu
de tests ont encore t expriments, il est
NTFS plus prudent de dire que l'criture sur ce
Limite
(New type de partition doit tre considre
par la comme risque et exprimentale. Pour
Technolo 2 TiB Oui Non
taille de la autoriser l'criture sur une partition NTFS
gy File sous Ubuntu, vous devrez activer un module
partition
System) du noyau ou utiliser le pilote Captive-ntfs

Extended File System est le systme de


fichiers natif de Linux. En ses versions 1 et
2, on peut le considrer comme dsuet,
car il ne dispose pas de la journalisation.
ext2fs Ext2 peut tout de mme s'avrer utile sur
des disquettes 3 et sur les autres
(Extende
2 TiB 4 TiB Non Oui priphriques dont l'espace de stockage
d File est restreint, car aucun espace ne doit tre
System) rserv un journal.

ext3 est essentiellement ext2 avec le


support de la journalisation. Il est possible
ext3fs 2 TiB 4 TiB Oui Oui de passer une partition formate en ext2
vers le systme de fichiers ext3 (et vice
versa) sans formatage.

13
Support de cours BTS1 GNU/LINUX Essaadi Driss

Dvelopp par Hans Reiser et la socit


Namesys, ReiserFS est reconnu
particulirement pour bien grer les
fichiers de moins de 4 ko. Un avantage du
ReiserFS, par rapport ext3, est qu'il ne
ncessite pas une hirarchisation aussi
pousse: il s'avre intressant pour le
stockage de plusieurs fichiers temporaires
ReiserF provenant d'Internet. Par contre, ReiserFS
8 TiB 16 TiB Oui Oui n'est pas recommand pour les
S
ordinateurs portables, car le disque dur
tourne en permanence, ce qui dpense
beaucoup d'nergie.

TiB = Tibioctet (1024 gibioctets) GiB = Gibioctet (1024 mibioctets)

[ Plus d'informations sur la Wikipedia : http://fr.wikipedia.org/wiki/Octet ]

II. Comment accder la ligne de commande


Pour accder la ligne de commande, il est possible d'utiliser un terminal ou encore une Console.

Pour ce faire, deux possibilits sont offertes :

utiliser le menu du bureau (Gnome, Kde, etc.). Il s'agit de la mthode conseille.

Utiliser les consoles virtuelles (il y en a 6).(tty1,tty2) CTRL+ALT+F3 -- > tty3

III. L'invite de commande du shell aprs la connexion


L'invite de commande (ou prompt) du shell a en gnral la forme suivante : nom@machine ~ $

nom - reprsente l'identifiant de l'utilisateur connect

machine- reprsente le nom de la machine

~ est un raccourci qui signifie le rpertoire personnel /home/utilisateur

$ signifie que vous tes connect en tant qu'utilisateur

Si au lieu de $ le signe # apparat, alorsvous tes connect en tant que superutilisateur (root).
Pour revenir au mode graphique depuis une console virtuelle, utiliser la combinaison de touches ALT+F7
Sous Ubuntu onpeut simuler root sans ltre avec la commande sudo
IV. Variables d'environnement connatre
HOME, USER, GROUPS, UID, PWD, SHELL, PATH, HOSTNAME

HOME contient le rpertoire d'utilisateur

USER contient le login d'utilisateur

PWD contient le rpertoire courant

SHELL contient le nom du shell de connexion

14
Support de cours BTS1 GNU/LINUX Essaadi Driss

PATH contient la liste des rpertoires o se trouvent les commandes que l'utilisateur peut excuter

HOSTNAME contient le nom de la machine

HISTSIZE contient la taille maximale des commandes excutes contenues dans le fichier
historique

PS1 contient les paramtres d'affichage de l'invite de commande (le prompt)

V. Notions de commande
Une commande est un fichier excutable. L'excution d'une commande peut tre diffrente suivant le cas.
Les commandes utilises dans ce chapitre sont donnes titre d'exemple, donc ne vous obstinez pas les
comprendre si jamais vous aviez du mal avec certaines d'entre elles. Les commandes de base sont
dtailles ultrieurement.

Exemple : la commande ls
La commande ls affiche le contenu d'un rpertoire. Voir man ls pour plus de dtails. sans argument et sans
option
VI. O se trouvent les commandes ?

Les commandes que vous pouvez excuter depuis votre terminal se trouvent dans certains rpertoires de
votre systme. La variable PATH (en franais : "chemin") contient une liste de rpertoires qui contiennent
les commandes accessibles. Pour avoir accs toutes les commandes il faut gnralement tre root. Pour
trouver l'emplacement d'une commande, on utilise "whereis" (en franais "o est") : ou encore "which".

Exemple : recherche de l'existance de la commande iptables avec which


1. l'utilisateur moh cherche si la commande iptables existe sur le systme, le rsultat pour lui est NON
2. on vrifie en tant que root (Taper su linvite de commande)
VII. La documentation (les pages "man")
Accder la documentation en ligne de commande
man commande

Tableau des principales commandes Linux


Commande Description quivalent DOS
ls liste le contenu d'un rpertoire Dir
cd change de rpertoire Cd
cd .. rpertoire parent cd..
mkdir cre un nouveau rpertoire md
rmdir supprime un rpertoire deltree
cp copie de fichier copy, xcopy
mv dplacement de fichier move
rm supprime le fichier del
passwd change le mot de passe de l'utilisateur
cat affiche le contenu du fichier type
more affiche le contenu du fichier avec des pauses type |more
man
apropos aide sur la commande demande help

15
Support de cours BTS1 GNU/LINUX Essaadi Driss

lpr imprime le fichier demand print


change l'attribut d'un fichier
chmod XXX fichier

XXX= Utilisateur|Groupe|Autres o X reprsente un entier


1<X<7

Lecture=4, Ecriture=2, Excution=1


chmod X=Lecture+Ecriture+Excution
0 signifie aucun droit
1 signifie droit d'excution
2 signifie droit en criture
3 signifie droit en criture et en excution
4 signifie droit en lecture
5 signifie droit en lecture et en excution
6 signifie droit en lecture et droit en criture
7 signifie tous les droits
chfn change les informations personnelles vues avec finger
chsh change le shell : chsh user emplacement_du_shell
finger liste des utilisateurs en ligne
traceroute trace le chemin entre la machine locale et la machine vise
ftp [machine] [port] transfert de fichier entre la machine locale et la machine cible
get rcupre un fichier

put envoie un fichier

quit quitte la session FTP

telnet [machine] effectue un telnet


permet de parler un utilisateur connect
talk talk user

autorise ou non la commande talk


mesg n : Empeche la reception de messages talk
mesg
mesg y : Permet la reception de messages talk

logout dconnexion

16
Support de cours BTS1 GNU/LINUX Essaadi Driss

CH 3 Les Commandes de base de UNIX/LINUX


Dans ce chapitre on va utiliser les commandes de base UNIX/LINUX pour copier, dplacer,
retirer,chercher des fichiers et des rpertoires dans larboressence des fichiers Linux.

1- Afficher une liste de fichiers et des informations

La commande pour lister les fichiers dans le rpertoire courant est ls.

Syntaxe :
17
Support de cours BTS1 GNU/LINUX Essaadi Driss

ls [-options] [nom fichier]

Options courantes:

-l pour le format long


-a Tous les fichiers, y compris les fichiers cachs
-R Listage rcursif des sous rpertoires
-d Ne pas afficher les sous rpertoires
-i Les inodes

La commande ls est l'quivalent de la commande dir sur DOS.

Exemple de sortie de ls:

ls -l /bin/ls
-rwxr-xr-x 1 root root 46784 mar 23 2002 /bin/ls
ls -ld /bin
drwxr-xr-x 2 root root 2144 nov 5 11:55 /bin
ls -a .
.bash_history .bash_profile .bashrc ...
ls -dF /etc .bashrc /bin/ls
.bashrc /bin/ls* /etc/

2- Crer et supprimer des rpertoires

Pour crer un rpertoire, utiliser mkdir.

Syntaxe :

mkdir [-options] repertoire

Options courantes:

-m mode: set permission mode. Default use umask. (Voir plus loin)
-p parent: crer le rpertoire parent si c'est ncessaire.

Exemples:

mkdir -m 0700 bin


mkdir -p bin/system/x86

Pour supprimer un rpertoire vide, utiliser rmdir.

Syntaxe :

rmdir [options] dir

Options courantes:

-p parent: supprimer les sous-rpertoires vides.

Exemples:

18
Support de cours BTS1 GNU/LINUX Essaadi Driss

rmdir tmp
rmdir -p bin/system/x86

3- Copier des fichiers et des rpertoires

Pour copier un fichier en un autre, ou vers un rpertoire, utiliser la commande cp.

Syntaxe :

cp [options] source cible

Source et cible peuvent tre un fichier ou un rpertoire.

Options courantes:

-i interactif: demande confirmation pour craser


-r recursif: copie les sous rpertoires et leur contenu. Utiliser -R pour les fichiers spciaux.
-f forcer: forcer l'crasement.

Exemples:

cp *.[a-z] /tmp
cp readme readme.orig
cp ls /bin
cp -ri bin/* /bin

4- Dplacer et renommer des fichiers

Pour renommer un fichier, un rpertoire ou pour dplacer un fichier ou un rpertoire vers un autre endroit,
utilisez mv.

Syntaxe :

mv [options] source cible

Source et cible peuvent tre un fichier ou un rpertoire.

Options courantes:

-i interactive: prompt to overwrite (demande confirmation)


-f force: force the overwriting
-v verbose

Exemples:

mv *.[a-z] /tmp
mv readme readme.orig
mv ls /bin
mv -fi bin/* /bin

5- Supprimer des fichiers et des rpertoires


19
Support de cours BTS1 GNU/LINUX Essaadi Driss

Pour supprimer des fichiers ou arborescences, utilisez rm.

Syntaxe :

rm [options] fichier

fichier peut tre un fichier ou un rpertoire.

Options courantes:

-i interactif: demande confirmation pour chaque suppression


-f forcer: forcer l'crasement
-r recursif: supprimer les sous-rpertoires et leur contenu

Attention : Il n'y a pas de commande pour annuler la suppression.

Exemples:

rm *.[a-z]
rm readme readme.orig
rm ls /bin
rm -rfi /bin
cd; rm -rf * .*

6- Contenu des fichiers et emplacement

Linux/Unix ne distingue pas un type de fichier par son extension, comme Windows. Pour dterminer le
contenu d'un fichier, utiliser file.

file /etc .bashrc /bin/ls /dev/cdrom


/etc: directory
.bashrc: ASCII English text
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), dynamically linked (uses shared libs), stripped
/dev/cdrom: symbolic link to /dev/hdc

Pour dterminer si une commande est une commande interne du shell ou un programme, utilisez type, et
utilisez which pour trouver sa position.

type cp cd ls
cp is /bin/cp
cd is a shell builtin
ls is aliased to `ls $LS_OPTIONS'
type is a shell builtin
which cut
/usr/bin/cut

Pour afficher le rpertoire courant utiliser la commande pwd .


20
Support de cours BTS1 GNU/LINUX Essaadi Driss

$pwd
/etc/bin

7- Trouver des fichiers dans le sous-rpertoire d'une arborescence

Pour trouver un fichier dans une arborescence, utilisez find.

Syntaxe :

find [rpertoire de recherche] [critres de recherche]

La commande find doit tre utilis avec l'option -print. Sans l'utilisation de cette option, mme en cas de
russite dans la recherche, find n'affiche rien la sortie standard (l'cran, plus prcisment le shell).
Les critres de recherche sont les suivants :

-name recherche sur le nom du fichier,

-perm recherche sur les droits d'accs du fichier,

-links recherche sur le nombre de liens du fichier,

-user recherche sur le propritaire du fichier,

-group recherche sur le groupe auquel appartient le fichier,

-type recherche sur le type (d=rpertoire, c=caractre, f=fichier normal),

-size recherche sur la taille du fichier en nombre de blocs (1 bloc=512octets),

-atime recherche par date de dernier accs en lecture du fichier,

-mtime recherche par date de dernire modification du fichier,

-ctime recherche par date de cration du fichier.

Recherche par nom de fichier


Pour chercher un fichier dont le nom contient la chane de caractres toto partir du rpertoire /usr, vous
devez tapez :
find /usr -name toto -print
En cas de russite, si le(s) fichier(s) existe(nt), vous aurez comme sortie :
toto
En cas d'chec, vous n'avez rien.
Pour rechercher tous les fichiers se terminant par .c dans le rpertoire /usr, vous taperez :

find /usr -name " *.c " -print


Vous obtenez toute la liste des fichiers se terminant par .c sous les rpertoires contenus dans /usr (et dans
/usr lui mme).
Recherche suivant la date de dernire modification
Pour connatre les derniers fichiers modifis dans les 3 derniers jours dans toute l'arborescence (/), vous
devez taper :
find / -mtime 3 -print
21
Support de cours BTS1 GNU/LINUX Essaadi Driss

Recherche suivant la taille


Pour connatre dans toute l'arborescence, les fichiers dont la taille dpasse 1Mo (2000 blocs de 512Ko),
vous devez taper :
find / -size 2000 print

8- whereis and which

Pour localiser un binaire, un fichier source, ou une page de manuel, utilisez whereis.

whereis [options]
Options courantes:

-b: Chercher seulement les binaires.


-m: Chercher seulement des sections de manuel.
-s: Chercher seulement des sources.
Exemples:

whereis host
host: /usr/bin/host /etc/host.conf /usr/share/man/man1/host.1.gz
whereis -m host
host: /usr/share/man/man1/host.1.gz
Pour localiser un fichier qui se trouve quelque part dfini par la variable PATH, utilisez which.

which -a ls
/bin/ls

22
Support de cours BTS1 GNU/LINUX Essaadi Driss

TP2 Commandes Unix /Linux

ls -l.

-rw-r--r-- 1 btssri bts 754 Mar 22 11:59 projet.aux


o Les dix premiers caractres dtaillent les droits du fichier. Le premier caractre identifie le
type du fichier : ici, rien n'est spcifi, c'est donc un fichier normal. L'exercice prcdent
dtaille la signification des lettres suivantes. Ce sont les droits normaux d'un fichier standard :
tout le monde (propritaire, groupe et autres utilisateurs) peut lire le fichier, seul le propritaire
peut crire dedans.

o Le chiffre indique le nombre de liens. Nous vous renvoyons aux exercices sur les liens pour
plus d'explications (qui peuvent attendre un niveau dbutant...).

o Le troisime champ donne le nom du propritaire du fichier. Ici, il s'agit de l'utilisateur robin.

o Ce champ indique le groupe de l'utilisateur. Ici, nous apprenons qu'milia est une littraire de
la promotion 1995.

o Ce chiffre donne la taille en octets du fichier considr. Ici, le fichier fait 754 octets, soit
moins d'un Ko (1000 octets). C'est un petit fichier.

o Ce champ indique la date de dernire modification du fichier, ici le 22 mars de l'anne


courante, 11h59. Quand le fichier date d'une anne antrieure, celle-ci est indique et l'heure
ne figure plus.

o Vient enfin le nom du fichier.

cp

1. Est-il possible de faire une copie d'un rpertoire et de l'ensemble de ses sous rpertoires en
une seule ligne de commande ?

Rep :Oui, c'est cela que sert l'option -r (recursive). Supposons, suivant l'arborescence
d'exemple, que vous voulez copier le rpertoire Rapport et ses sous-rpertoires dans le rpertoire
www. Il faut taper :

cp -r Rapport/ www/

ou
23
Support de cours BTS1 GNU/LINUX Essaadi Driss

cp -R Rapport/ www/
2. Que se passe-t-il si l'on veut faire une copie appele tentative/ de son rpertoire essai/, et
que le rpertoire tentative/ existe dj ?

Rep :Quand on indique le nom d'un rpertoire qui n'existe pas, cp considre qu'il s'agit du nom
donner la copie du premier rpertoire (ou fichier). Quand le rpertoire existe dj, cp considre
qu'il s'agit de l'endroit o il faut placer la copie du premier lment (la cible : target).

Si donc on tape

cp -R essai/ tentative/

et que tentative/ existe dj, on obtient une copie de essai/, galement appele essai/, place
dans le rpertoire tentative/.

3. Que se passe-t-il si vous voulez faire une copie d'un fichier dans un rpertoire o il existe
dj un fichier de ce nom ?

Rep :Le programme demande si vous voulez vraiment effacer le fichier dj existant pour le
remplacer par celui dont vous faites la copie.

Il en est ainsi parce que vous avez un alias de cp sur cp -i, qui demande confirmation. Ce n'est
pas ncessairement le cas partout.

4. Quel est l'effet d'une ligne comme :


cp fichier1 fichier2 fichier3 repertoire/

Rep :Les fichiers fichier1, fichier2 et fichier3 sont copis sous leur nom dans le rpertoire
rpertoire/, qui doit exister.

mv

1. Que se passe-t-il si le fichier cible existe dj ?

Rep : le programme demande si vous voulez rcrire le fichier cible en remplaant son contenu
par celui du fichier de dpart :

$ ls
rapport.tex notes complements
$mv notes complements
mv: overwrite complements (yes/no)? y
$ls
rapport.tex complements

mkdir, rmdir

1. Crez trois rpertoires en une seule ligne de commande.

Si vous voulez crer trois rpertoires bla, ble et bli, tapez

mkdir bla ble bli


2. Effacez ces trois rpertoires en une seule ligne de commande.

24
Support de cours BTS1 GNU/LINUX Essaadi Driss

Il faut taper

rmdir bla ble bli


3. Que se passe-t-il si vous tapez mkdir mkdir ?

Vous crez chez vous un rpertoire appel mkdir.

4. Vous voulez dtruire un rpertoire bla/... mais a ne marche pas.

ls vous dit qu'il est vide, et pourtant vous ne russissez pas l'effacer : c'est qu'il n'est pas vide.
Il doit y avoir des fichiers cachs, commenant par un point, que vous ne voyez pas avec ls sans
option. Il faut taper

ls -a

et effacer les fichiers trouvs.

5. quelle condition est-ce que la ligne de commande mkdir Rapport/annexes peut


fonctionner et crer effectivement ce sous-rpertoire ?

Il faut que le rpertoire Rapport existe, pour que l'on puisse y crer un sous-rpertoire.

6. Y a-t-il une option de mkdir qui permette de crer la fois un rpertoire et un sous-
rpertoire de ce rpertoire ?

Oui, c'est l'option -p. Quand vous tapez

mkdir -p Rapport/annexes

un rpertoire Rapport est cr, et dans ce rpertoire un sous-rpertoire annexes.

7. Comment crer un rpertoire en spcifiant des droits ?

On utilise l'option -m (mode) de mkdir. Par exemple :

$ mkdir -m 700 Mail


$ ls -ld Mail
drwx------ 2 robin litt95 2048 Jun 2 15:27 Mail/
8. Quel est l'effet de la commande suivante :
rmdir -p toto/tata/tutu/

Cette commande efface toute la hirarchie des rpertoires, condition qu'ils soient vides; si par
exemple tutu/ est vide mais toto/ ne l'est pas, tutu/ sera effac mais pas toto/, et le
programme s'arrte.

9. Cration rcursive sans message d'erreur

On achve avec ceci le tour de l'option -p... Si donc on tape

mkdir -p toto/tutu/

25
Support de cours BTS1 GNU/LINUX Essaadi Driss

le sous-rpertoire tutu/ est cr si toto/ existe dj; et si toto/ n'existe pas, ce rpertoire et son
sous-rpertoire sont crs. Il n'y a pas de message d'erreur.

10. Cration de larborescence suivante :

o Dans quel rpertoire vous trouvez-vous quand vous vous connectez?


o Allez directement dans ~/Rapport/docs/afaire/
o De l, passez dans ~/Rapport/docs/fait/
o Revenez dans ~/Rapport/
o Sans changer de rpertoire, afficher les droits des fichiers de ~/www
o Passez dans ~/Rapport/docs/
o En restant l o vous tes, affichez les droits de ~/Mail/
o Revenez dans votre rpertoire principal

11. Crer sur votre rpertoire personnel l'arborescence suivante :

et que vous vous trouvez dans ~/Rapport/docs/.


o Comment faites-vous pour y amener Rapport.tex qui se trouve dans le rpertoire
pre ?
mv ../Rapport.tex .

Amener le fichier Rapport.tex situ dans rpertoire pre (../Rapport.tex) dans le


rpertoire o on se trouve (. : ici).

o Comment faites-vous ensuite pour ramener ce fichier son emplacement d'origine ?


mv Rapport.tex ..

Amener le fichier Rapport.tex situ dans le rpertoire courant, dans le rpertoire pre
(..).

12. Comment renommer un rpertoire bla/ en blo/ ? Que se passe-t-il si le rpertoire blo existe
dj ?

Il suffit de taper

mv bla/ blo/

Si jamais blo/ existe dj, bla/ devient un sous-rpertoire de blo/.

26
Support de cours BTS1 GNU/LINUX Essaadi Driss

13. Comment faire pour la fois dplacer un fichier et changer son nom ? Que se passe-t-il si il
existe dj un fichier de ce nom dans le rpertoire d'arrive ?

Supposons que l'on veut amener Rapport.tex dans le rpertoire courant, et l'appeler stage. On
tape :

mv ../Rapport.tex stage

Rapport.tex est la fois dplac et renomm; vous pouvez vrifier qu'il n'est plus dans Rapport
et qu'il y a dsormais un fichier stage dans docs/.

Si le fichier d'arrive existe dj, on se retrouve dans le cas vu tout au dbut de cet exercice
(remplacement ou non).

14. Mmes questions avec un rpertoire.

Pour dplacer et renommer, la syntaxe est la mme que pour un fichier :

mv ../bla ble/

dplace le rpertoire bla/ du rpertoire pre dans le rpertoire courant, et le renomme en ble/. Si
jamais ble/ existe dj, bla/ y est dplac sous son nom, et devient un sous-rpertoire de ble/.

15. Que se passe-t-il si on lance mv avec les options -i et -f ensemble ? .

L'option -f (force) sert renommer le fichier imprativement, mme si le fichier cible existe dj,
sans demander confirmation. L'option -i (interactive) demande confirmation. Des deux options,
c'est -f qui l'emporte :

$ ls
bla tutu Rapport/
$ alias mv
mv='mv -i'
$ mv bla tutu
mv: overwrite tutu (yes/no)? n
$ mv -f bla tutu
$ ls
tutu Rapport/

16. Que font ces commandes?


ls big*
ls a???a
ls ??*
ls [aA]???
ls *[a-z}
ls [0-9]*
ls [a-z][A-Z]??.[ma]
ls al
ls ~sri
ls [!0-9]
Caractres joker speciaux
? correspond n'importe quel caractre (une et une seule fois).
* n'importe quel caractre (zro ou plusieurs fois)
[abcfghz] un caractre parmi le jeu indiqu
[a-z] Un caractre dans une srie
[!x-z] Pas dans cette srie
~ Rpertoire personnel
~utilisateur Rpertoire personnel de "utilisateur"
27
Support de cours BTS1 GNU/LINUX Essaadi Driss

Ch4. Les droits d'accs sous Unix


Les droits d'accs un modle qui dcrit, pour chaque fichier ou chaque rpertoire, qui a le droit de
lire, excuter (ou traverser dans le cas d'un rpertoire) ou modifier. Important sous Unix, qui est un
systme conu pour tre multi-utilisateurs.

Lire les droits


Chaque fichier a plusieurs proprits associes : le propritaire, le groupe propritaire, la date de
dernire modification, et les droits d'accs. On peut examiner ces proprits grce l'option -l de ls.
Dans cet exemple, nous voyons les permissions standard d'un rpertoire et de deux fichiers :

btschichaoua ~/DEA $ ls -l
total 205
drwxr-xr-x 2 toto phy03 512 Jan 16 10:02 fiches/
-rw-r--r-- 1 toto phy03 72008 Oct 2 2003 article.dvi
-rw-r--r-- 1 toto phy03 145905 Oct 2 2003 article.pdf
Les permissions sont indiques dans la colonne de gauche, suivant un format bien particulier :
28
Support de cours BTS1 GNU/LINUX Essaadi Driss

Permissions
Comme nous le voyons sur l'image ci-dessus, le bloc de permissions se divise en quatre lments.

Type
Le premier caractre du bloc de permissions indique le type du fichier : - pour un fichier normal, d pour
un rpertoire. On trouve galement parfois l pour les liens symboliques

Droits du propritaire

r ou - : droit de lire (r pour read) le fichier (r pour oui, - pour non)

w ou - : droit d'crire (w pour write) dans le fichier

x ou - : droit d'excuter (x pour execute) le fichier.

Pour un rpertoire, les choses sont un peu diffrentes. Le couple r, x donne le droit d'examiner le
rpertoire et son contenu. Le bit w donne le droit d'ajouter ou de supprimer des fichiers dans le
rpertoire.

Droits du groupe
Comme les droits du propritaire, mais s'applique aux gens qui sont dans le groupe propritaire.

Droits des autres


Comme les droits du propritaire, mais s'applique aux gens qui sont ni le propritaire, ni dans le groupe
propritaire.

Liens
Nombre de liens du fichier; un rpertoire en a au moins deux (. et ..). Un rpertoire qui contient 5 sous
rpertoires en a 7, etc.

Propritaire
Le nom de login de la personne qui appartient ce fichier. Seul le propritaire peut changer les droits ou
le groupe d'un fichier.

Groupe propritaire
Les groupes sont des ensembles d'utilisateurs qui sont fixs par l'administrateur du systme. Ils sont un
moyen pour grer un peu finement les droits d'accs.. C'est la commande id qui vous rvle le(s)
groupe(s) auquel vous appartenez :

29
Support de cours BTS1 GNU/LINUX Essaadi Driss

btschichaoua ~ $ id
uid=4242(toto) gid=276(phy03) groups=276(phy03)
La commande vous indique d'abord votre identifiant d'utilisateur (UID) et votre login, puis votre
identifiant de groupe principal (GID) et enfin tous les groupes dans lesquels vous vous trouvez.

Taille
Elle est indique en octets.

Modifier les droits d'accs


Il existe 4 commandes lies aux droits d'accs :

chmod (change mode), la plus utile, qui modifie les permissions

chgrp (change group) qui modifie le groupe d'un fichier ou rpertoire

chown (change owner) qui modifie le propritaire d'un fichier ou rpertoire

umask, qui dfinit les protections par dfaut

Les commandes chgrp et chown servent surtout l'administrateur du systme, donc nous ne les
examinerons pas ici). En revanche, chmod est une commande trs pratique dans une utilisation
courante.

Notation symbolique
Cette notation consiste associer un ou plusieurs degrs de proprit, une action et un ou plusieurs types
d'accs. On l'utilise gnralement pour ajouter ou retirer des permissions par rapport la normale (-rw-
r--r-- pour un fichier, drwxr-xr-x pour un rpertoire).

Degr de proprit Action Type d'accs


u (utilisateur)
+ (ajoute le droit) r (lecture)
g (groupe)
- (enlve le droit) w (criture)
o (autres)
= (dfinit le droit) x (excution
a (tout le monde)

Quelques exemples

Protger un fichier
Ici, vous interdisez tout autre que vous l'accs votre fichier

btschichaoua ~ $ ls -l fichier.txt
-rw-r--r-- 1 toto phy03 42 Jan 5 12:08
fichier.txt
btschichaoua ~ $ chmod og-r fichier.txt
btschichaoua ~ $ ls -l fichier.txt

30
Support de cours BTS1 GNU/LINUX Essaadi Driss

-rw------- 1 toto phy03 42 Feb 5 12:08


fichier.txt

Protger un rpertoire
Mme chose pour un rpertoire...

btschichaoua ~ $ ls -l repertoire
drwxr-xr-x 2 toto phy03 512 Feb 5 12:19
repertoire/
btschichaoua ~ $ chmod go-rx repertoire
btschichaoua ~ $ ls -l
drwx------ 2 toto phy03 512 Feb 5 12:19
btschichaoua ~ $ chmod og+r fichier.txt
btschichaoua ~ $ chmod go+rx repertoire

Rendre un script excutable


Par dfaut un fichier n'est pas un excutable. Pour rendre excutable par tout le monde le script que vous
venez d'crire, faites simplement :

btschichaoua ~ $ chmod +x script

Notation numrique
Cette notation est un peu plus complexe. Elle se fonde sur le principe suivant : considrons un bloc de
permissions, rw-r--r--. Quand une lettre est prsente, a veut dire que l'accs est autoris, quand
elle est absente (-), il est refus. On peut traduire ceci de faon binaire :

r w - r - - r - -
1 1 0 1 0 0 1 0 0
Ce qui donne 110-100-100. 110 vaut 6 en dcimal, 100 vaut 4 (voir le tableau ci-dessous), donc la
reprsentation numrique de rw-r--r-- est 644. Cette valeur peut tre indique exactement
chmod :

btschichaoua ~ $ ls -l fichier.txt
-rw------- 1 toto phy03 42 Feb 5 12:08
fichier.txt
btschichaoua ~ $ chmod 644 fichier.txt
btschichaoua ~ $ ls -l fichier.txt
-rw-r--r-- 1 toto phy03 42 Jan 5 12:08
fichier.txt
Accs --- --x -w- -wx r-- r-x rw- rwx
Binaire 000 001 010 011 100 101 110 111
Dcimal 0 1 2 3 4 5 6 7

Quelques permissions habituelles


Valeur
Permission Type de fichier Signification
numrique
--------- 000 N'importe quel Aucun accs qui que ce soit
31
Support de cours BTS1 GNU/LINUX Essaadi Driss

type.
Fichier parano : lecture et criture rserves au
rw------- 600 Fichiers
propritaire.
Standard : tout le monde peut lire le fichier mais vous
rw-r--r-- 644 Fichiers
tes le seul pouvoir le modifier.
rw-rw-rw 666 Fichiers Fichier public : tout le monde peut lire et crire.
Rpertoire parano : lecture, accs et criture rservs au
rwx------ 700 Rpertoires
propritaire.
Fichier lisible et excutable par tous, vous seul pouvez
Fichiers
le modifier.
rwxr-xr-x 755
Standard : tout le monde peut accder au rpertoire et
Rpertoires
lire son contenu, vous seul pouvez modifier le contenu.
Rpertoire public : tout le monde peut y accder, lire le
Rpertoires
contenu et modifier celui-ci.
rwxrwxrwx 777
Excutable public : tout le monde peut le lire, l'excuter
Fichiers
et le modifier.
Exercice
1. Lister les droits de tous les fichiers de votre rpertoire home. (Mme les fichiers cachs)
2. Dans le rpertoire ~, crez le rpertoire essai_droit,puis donner la commande qui dterminer les droits qui lui ont t
attribus par dfaut.
Changer ses droits par dfaut en utilisant umask
3. Quelles sont les commandes (en notation symbolique et en base2) pour lui donner les droits suivants :

propritaire groupe Les autres


Lectur Ecritur Excutio Lectur Ecritur Excutio Lectur Ecritur Excution
e e n e e n e e
Commande Oui Oui Oui Oui Non Oui Non Non Oui
1
Commande Oui Non Oui Non Oui Non Non Non oui
2
Commande Non Non Oui Oui Non Oui Non Non non
3

TP : Modifier les donnes d'un fichier (Partie 1)


1- Coupe un fichier en morceau : split

La commande split permet de couper un fichier en morceau (en plusieurs fichiers), en tapant :

split -10 mon-fichier fichier

Vous allez crer les fichiers fichieraa, fichierab, fichierac, ... qui contiendront tous 10 lignes. Le premier
fichieraa contient les 10 premires lignes, ainsi de suite.

2- Trier des fichiers : sort

Soit le fichier carnet-adresse suivant :

mohamed:40:0298334432:Marrakech
mraima:13:0466342233:Agadir
rachid:30:0144234452:Rabat
youness:20:0133444335:Casablanca

32
Support de cours BTS1 GNU/LINUX Essaadi Driss

Le premier champ reprsente le nom, le deuxime le dpartement, le troisime le numro de tlphone et


le dernier la ville. Attention le premier champ est not 0, le deuxime 1, ainsi de suite.

En faisant sort sans argument :

sort carnet-adresse

Si vous voulez trier sur le deuxime champ (le dpartement), vous devez d'abord indiquer que le : est le
caractre qui spare deux champs (par dfaut c'est l'espace), avec l'option -t :. Vous devez ensuite
indiquer que vous trier un chiffre avec l'option -n (numrique). Pour indiquer qu'on veut trier le deuxime
champ, il faut marquer qu'on veut trier partir du second champ (+1) jusqu'au troisime (-2). Soit le
rsultat suivant ;

sort -n -t : +1 -2 carnet-adresse

Avec la commande :

sort -t : +3 -4 +0 carnet-adresse

Si vous allez trier suivant le quatrime champ (numro 3), c'est dire la ville (tri par ordre alphabtique
sur le premier caractre), en mettant +0, il va effectuer un deuxime tri pour les villes qui commencent
par le mme caractre, le deuxime tri porte sur le prnom (le premier caractre).

Les options de sort sont les suivantes :

-b ignore les espaces et les tabulations en dbut de champ


-d tri sur les caractres alphanumriques (caractres, chiffres et espace)
uniquement
-r inverse l'ordre de tri
-f pas de diffrence entre minuscule et majuscule
-tx Le caractre x est considr comme sparateur de champ
-u supprime les lignes doublons
-n trie sur des chiffres

En tapant la commande suivante :

sort -t : +3.2 +0 carnet-adresse


Vous allez effectuer le tri sur le troisime caractre (numro 2, le premier a pour
numro 0) du quatrime champ (numro 3). En cas d'galit du premier tri, on fait un
dernier tri sur le premier caractre du prnom.

3- Conversion de chane de caractre :tr

La commande tr permet de convertir une chane de caractre en une autre de taille gale. Les options sont
les suivantes :

-c Les caractres qui ne sont pas dans la chane d'origine sont convertis selon les caractres de la
chane de destination
-d destruction des caractres appartenant la chane d'origine
-s si la chane de destination contient une suite contigu de caractres identiques, cette suite est
rduite un caractre unique

33
Support de cours BTS1 GNU/LINUX Essaadi Driss

La commande tr a besoin qu'on lui redirige en entre un fichier, le rsultat de la conversion s'affichant sur
la sortie standard.

Soit notre fichier carnet-adresse :

mohamed:40:0298334432:Marrakech
mraima:13:0466342233:Agadir
rachid:30:0144234452:Rabat
youness:20:0133444335:Casablanca

Pour remplacer le : par un #, nous taperons :

tr " : " " # " < carnet-adresse

Pour faire la mme chose on peut aussi bien diter le fichier avec cat et rediriger par pipe vers tr, en
tapant :

cat carnet-adresse | tr " : " " # "

On peut utiliser des mtacaractres Pour remplacer les caractres de a f de minuscule en majuscule.. En
tapant :

cat carnet-adresse | tr " [a-f] " " [A-F] "

4- Edition de fichiers avec critres


Editer un fichier par la fin : tail

Si vous avez un fichier trs long, et que vous voulez visualiser que la fin, vous disposez de la commande
tail

La syntaxe est la suivante, si vous tapez :

tail +10 mon-fichier

Vous obtenez toutes les lignes du fichier de la 10eme jusqu' la fin.

tail -10 mon-fichier

Vous obtenez les 10 dernires lignes partir de la fin.

Vous pouvez indiquer si votre unit est la ligne (par dfaut), le bloc ou le caractre avec l'option -t

tail -10 -c mon-fichier

Vous obtenez les 10 derniers caractres du fichier.

5- Editer un fichier par le dbut : head

Si vous avez un fichier trs long, et que vous voulez visualiser que le dbut, vous disposez de la
commande head :

La syntaxe est la suivante, si vous tapez :


34
Support de cours BTS1 GNU/LINUX Essaadi Driss

head +10 mon-fichier

Vous obtenez toutes les lignes du fichier de la 10eme jusqu'au dbut.

head -10 mon-fichier

Vous obtenez les 10 premires lignes partir du dbut.

Vous pouvez indiquer si votre unit est la ligne (par dfaut), le bloc ou le caractre avec l'option -t

head -10 -c mon-fichier

Vous obtenez les 10 premiers caractres du fichier.

6- Compter les lignes d'un fichier : wc

La commande wc permet de compter le nombre de ligne d'un fichier, mais aussi le nombre de mot ou de
caractres.

wc -l mon-fichier

Cette commande va donner le nombre de lignes contenues dans le fichier mon-fichier. Pour avoir le
nombre de mot l'option est -w, l'option -c compte le nombre de caractres.

La commande wc sans option donne la fois le nombre de ligne, le nombre de caractres et le nombre de
mots.

Si vous voulez connatre le nombre de fichier dans un rpertoire, la commande sera donc :

ls -l | wc -l

7- Edition de champ d'un fichier : cut

La commande cut permet d'extraire certains champs d'un fichier. Les options sont les suivantes :

-c extrait suivant le nombre de caractres


-f extrait suivant le nombre de champs
-dx Le caractre x est le sparateur de champ

Avec la commande cut, contrairement sort, le premier champ a comme numro 1, le deuxime 2 est
ainsi de suite.

La commande :

cut -c-10 carnet adresse


Va extraire les 10 premiers caractres de chaque ligne, on obtient :

La commande :

cut -c2-5 carnet adresse


Va extraire les deuxime au cinquime caractre de chaque ligne.

35
Support de cours BTS1 GNU/LINUX Essaadi Driss

La commande :

cut -c25-
Va extraire du 25eme caractre jusqu' la fin de chaque ligne.

La commande :

cut -d: -f1,4 carnet adresse

Va extraire le premier et quatrime champ, le : fixant le sparateur de champ. On obtient :

La commande :

cut -d : -f3- carnet adresse

Va extraire du troisime champ jusqu'au dernier champ, soit :

8- Fusion de fichier : paste

La commande paste permet la fusion de lignes de fichiers. Les options sont les suivantes :

-dx Le caractre x dfinit le sparateur de champ


-s Les lignes sont remplaces par des colonnes

Soit le fichier carnet-adresse :

mohamed:40:0298334432:Marrakech
mraima:13:0466342233:Agadir
rachid:30:0144234452:Rabat
youness:20:0133444335:Casablanca

Et le fichier travail :

ingnieur
ptissier
facteur
vendeur

En tapant la commande :

paste -d : carnet-adresse travail

Vous obtenez :

mohamed:40:0298334432:Marrakech:ingnieur
mraima:13:0466342233:Agadir: ptissier
rachid:30:0144234452:Rabat: facteur
youness:20:0133444335:Casablanca : vendeur
9- Commande grep (egrep)
Exercice 1

Crer un rpertoire essai-grep dans votre home directory. Dans ce rpertoire crer les fichiers suivants:

36
Support de cours BTS1 GNU/LINUX Essaadi Driss

tomate poire pomme cerise Fraise fraise courgette POMME3 afraise

Editez les fichiers (sortie de la commande ls redirige vers grep) avec les critres sur leur nom suivant:

Critre 1 Le nom doit tre Fraise ou fraise


Critre 2 se est en fin de nom
Critre 3 ai est prsent dans le nom
Critre 4 Nom contenant un chiffre numrique
Critre 5 Nom contenant la chane mm ou MM

Exercice 2
Crer dans votre rpertoire courant le fichier tlphone suivant :

Benomar 0614578952

Boussouss 0714253678

aAlibaba 0542124578

Zidouh 0524784589

Fathimorad 0714784520

Janguate 0645784512

Jouije 0524784512

Ahmedzidouh 0672457849

Editez les lignes:

Commenant par la lettre A ou a.

Dont le numro de tlphone se termine par 78.

Exercice 3

Copier le fichier /etc/passwd dans votre home directory.Dans le fichier passwd qui est dans votre home
directory, ditez les lignes commenant par des noms de login ne contenant pas de chiffre.

Exercice 4

Editez les lignes du fichier passwd commenant par des noms de login de 3 ou 4 caractres.

Correction
Exercice 1
mkdir ~/essai-grep
cd ~/essai-grep
touch tomate poire pomme cerise Fraise fraise courgette POMME3 afraise
Critre 1 ls | grep "^[fF]raise$"
Critre 2 ls | grep "se$"
37
Support de cours BTS1 GNU/LINUX Essaadi Driss

Critre 3 ls | grep "ai"


Critre 4 ls | grep "[0-9]"
Critre 5 ls | grep "[mM]\{2\}"
Nota:

Pour rediriger le rsultat vers un fichier, vous pouvez faire, par exemple pour le critre 1:

grep "^[fF]raise$" mon-fichier

Exercice 2
cd
cp /etc/passwd ~

avec login le nom de votre login ( 8 lettres)


cat passwd | grep "^monnom"

Exercice 3

cat passwd | grep "^[^0-9][^0-9]*:"

ou

cat passwd | grep "^[a-z][a-z]*:"

Exercice 4

cat passwd | grep "^.\{3,4\}:"

(Partie 2) Les commandes file, type, which, cat, touch, find, whereis, vi

38
Support de cours BTS1 GNU/LINUX Essaadi Driss

1- Contenu des fichiers et emplacement

Linux/Unix ne distingue pas un type de fichier par son extension, comme Windows. Pour dterminer le
contenu d'un fichier, utiliser la commande file.

Exemple :

file /etc .bashrc /bin/ls /dev/cdrom


/etc: directory
.bashrc: ASCII English text
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), stripped
/dev/cdrom: symbolic link to /dev/hdc

Pour dterminer si une commande est une commande interne du shell ou un programme, utilisez la
commande type, et utilisez which pour trouver sa position.

type cp cd ls which type


cp is /bin/cp
cd is a shell builtin
ls is aliased to `ls $LS_OPTIONS'
which a pour alias `type -p'
which cut
/usr/bin/cut
2- Crer et utiliser des fichiers

Les noms de fichiers peuvent tre cr avec les redirections I/O :

cat chapter1 chapter2 > livre

Un diteur comme vi :

vi mynewfile

la commande cp :

cp file newfile

La commande touch, qui cre des fichiers vides

touch memo

Un nom de fichier valide :

au maximum 255 caractres


doit respecter la casse (majuscules, minuscules)
peut comporter tous les caractres sauf le slash '/' (car il spare dj les rpertoires)

Caractres viter

Le caractre tiret du 6.
touch my-file -lt
Espace blanc.
touch more drink
touch "more drink"
Beaucoup d'autres caractres spciaux !@#$%^&*():;"'}{|\<,>.?~`
39
Support de cours BTS1 GNU/LINUX Essaadi Driss

touch memo*
4- Trouver des fichiers dans le sous rpertoire d'une arborescence

Pour trouver un fichier dans une arborescence, utilisez la commande find.

Syntaxe :

find [repertoire] [conditions] [actions]

Les conditions possibles sont :

-name [Nomfichier] # Recherche sur le nom du fichier


-type c # Recherche sur le type du fichier [bcdfl]
-size [+-]c # recherche sur la taille du fichier (c:bytes,k:kilo)
-user [name] # Recherche sur lutilisateur
-atime [+-]n # Recherche des fichiers visits(+) ou non (-) il y a n jours
-mtime [+-]n# Modified il y a n jours
-perm nnn # Recherche suivant la permission nnn

Actions possibles:

-print # Afficher le chemin absolu .


-exec cmd {} \; # Executer la commande cmd sur le fichier
-ok cmd {} \; # Executer la commande cmd sur le fichier aprs confirmation.
Examples
find . -name '*.[ch]' -print
find /var /tmp . -size +20 -print
find ~ -type c -name '*sys*' -print
find / -type f -size +2c -exec rm -i {} \;
find / -atime -3 -print
find ~jo ~toto -user btschichaoua -exec mv {} /tmp \;
whereis and which

Pour localiser un binaire, un fichier source, ou une page de manuel, utilisez whereis.

whereis [options]

Options courantes:

-b: Chercher seulement les binaires.


-m: Chercher seulement des sections de manuel.
-s: Chercher seulement des sources.

Exemples:

whereis host
host: /usr/bin/host /etc/host.conf /usr/share/man/man1/host.1.gz
whereis -m host
host: /usr/share/man/man1/host.1.gz

Pour localiser un fichier qui se trouve quelque part dfini par la variable PATH, utilisez which.

which -a ls
/bin/ls

40
Support de cours BTS1 GNU/LINUX Essaadi Driss

5- Editeur vi

En utilisant un gestionnaire de fentres, vous pouvez utiliser des diteurs orients souris comme par
exemple xedit. Dans un environnement de dveloppement multi plateformes, les utilisateurs peuvent
utiliser l'diteur de leur choix. En mode console, seul un diteur au clavier comme vi est requis. L'diteur
vi sur Linux est le mme que sur n'importe quelle plateforme Unix.

vi a deux modes :

Le mode commande : tout ce que vous taperez sera interprt comme une commande.

Le mode insertion : tout ce que vous taperez sera insr dans le fichier.

Transition d'un mode l'autre :


- Entrer en mode insertion : Touches i, I, a, A, o, O
- Entrer en mode commande : Touche chap Le mode par dfaut est le mode commande

Mode insertion Mode commande


:q Quiter le vi
i : avant le curseur :q ! Quiter le vi sans enregisterer l.
:w <fichier> Enregistrer le fichier sous le nom <fichier>
:w ! <fichier> Rrenregistere le fichier
I : au dbut de la ligne voir autres commandes en cours

a : aprs le curseur

A : la fin de la ligne

o : ouvrir la ligne en-dessous

O : ouvrir la ligne au-dessus


dw : supprimer le mot

dd : supprimer la ligne

D : supprimer jusqu' la fin de la ligne

x : supprimer le caractre sur lequel le curseur est


plac

l : dplacer de un vers la droite

h : dplacer de un vers la gauche

j : dplacer la ligne en-dessous

k : dplacer la ligne au-dessus

$ : dplacer jusqu' la fin de la ligne

^ : dplacer jusqu'au dbut de la ligne

w : dplacer au mot suivant

41
Support de cours BTS1 GNU/LINUX Essaadi Driss

e : dplacer jusqu' la fin du mot

Exercices

1. crivez une commande pour supprimer de faon interactive tous les fichiers .tmp dans votre
rpertoire personnel. Rpondez-y chaque invite.

2. Listez tous les fichiers dans les rpertoires personnels des utilisateurs finissant par .pdf qui sont
plus gros que 50 blocs et qui n'ont pas t accds depuis un mois

3. Crez un fichier file.h qui contiendra tous les noms de fichier se terminant par .h qui se trouvent
dans le rpertoire /usr.

4. Faites un touch sur tous les fichiers c qui se trouvent dans le rpertoire /usr/src/packages

5. Quelles sont les permissions par dfaut quand vous crez un nouveau fichier et un nouveau
rpertoire ?
42
Support de cours BTS1 GNU/LINUX Essaadi Driss

6. Comment pouvez vous crer un nouveau fichier ou rpertoire qui contient un espace dans le nom ?
(Exemple: 'new dir')

7. Quelle est la commande pour supprimer tous les fichiers de type char et block dans votre
rpertoire personnel ?

8. Comment trouver la position du programme find ?

9. Supprimez tous les fichiers dans /tmp qui ne sont dont root n'est pas le propritaire et qui n'ont pas
t accds depuis une semaine.

TP : Manipulation de la date sous linux


La commade

$ date

Sun Mar 27 18 :23 :05 GMT 2011

Les commandes ci-dessous donnent

$ date +"%m-%d-%y"
03-27-11
$ date +"%m-%d-%Y"

03-27-2001

$ date + "%d/%m/%Y"

27/03/2011
ou encore

$ date +"%D"

Afficher seulement lheure


Taper la commande

$ date +"%T"

18 :31 :55
Afficher lheure en HH:MM format:
$ date +"%H-%M"

43
Support de cours BTS1 GNU/LINUX Essaadi Driss

Ch5. Les flux, les tuyaux (pipes) et les re-directions

Description: Les candidats devraient tre en mesure de rediriger les flux (streams) et de les
connecter de faon effectuer avec efficience des traitements sur les donnes texte. Ces taches incluent
les redirection standard, les erreurs standard, faire un pipe sur le rsultat d'une commande vers l'entre
d'une autre commande (piping), utiliser la sortie d'une commande (output) comme argument d'une autre
commande et d'envoyer la sortie la fois vers la sortie standard (stdout) et un fichier.

Les symbols pour la redirection sont : tee , xargs , < , << , > , >> , | , ` `

Entre et sortie standard


Pour chaque commande excute dans un terminal, il y a: une entre standard valeur 0. (par dfaut le
clavier) une sortie standard valeur 1.(par dfaut le terminal) une sortie standard pour les erreurs valeur 2.
(par dfaut le terminal).

Chaque flux peut aussi tre identifi par une adresse: &0 pour l'entre, &1 pour la sortie, et &2 pour les
erreurs.

Chaque flux [n] peut tre redirig :

[n]< fichier: La valeur par dfaut de n est 0 et elle lit l'entre standard depuis le fichier.

[n]> file: La valeur par dfaut est 1 et elle envoie l'entre standard vers le fichier.

[n]>>file: La valeur par dfaut est 1 et elle ajoute l'entre standard au fichier.

<<word: Lire l'entre standard jusqu' le mot soit atteint.

`commande`: Remplacer la commande par son rsultat.

Exemples:

$ pwd > file # Sortie =file Entre=rien Erreur=terminal.


cat chap* > livre # Sortie=livre Entre=rien Erreur=terminal.
mv /etc/* 2>error # Sortie=terminal Entre=rien Erreur=error.
echo fin de fichier >> livre # Sortie=livre Entre=rien Erreur=terminal.
ls > list 2>&1 # ls et Erreur sont redirectionns vers list.
ls 2>&1 > list # Errors are redirected to standard output and ls output is
redirected to list.
cat `ls /etc/*.conf` > conffile 2>>/tmp/errors

44
Support de cours BTS1 GNU/LINUX Essaadi Driss

Redirection avec les tubes (ou pipes)


Les tubes sont efficaces quand on l'applique plusieurs commandes simultanment.

command1 | command2

La sortie standard de command1 va tre redirige vers l'entre standard de command2. La sortie
standard pour les erreurs n'est pas redirige.

Exemples:

ls -l /dev | more
ls -l /etc/*.conf | grep user | grep 500
ls -l /bin | mail `users`
Pour rediriger la sortie standard la fois vers un fichier et le terminal utilisez tee.

ls -l /dev | tee file


ls -l /etc | tee -a file # Ajout au fichier file

Un TP sur ce chapitre est prvoir

CH 6 .Gestion des utilisateurs Unix


Useradd-userdel-groupadd

1. Se logger et se dlogger

Entrer dans une session est le premier pas pour accder un systme Linux. Vous avez besoin d'un
identifiant (Login) et d'un mot de passe pour pouvoir commencer utiliser le systme. L'identifiant "root"
est l'identifiant du super-utilisateur qui a tous les privilges et n'est normalement assign qu'
l'administrateur du systme. Lorsque l'on a russi entrer dans le systme, quelques variables
d'environnement vont tre initialises et le shell assign au compte correspondant l'identifiant sera lanc.

Pour sortir, utilisez les commandes exit ou logout ou Ctrl+D.

2. Le Mot de passe

Personne ne peut voir votre mot de passe, mme l'administrateur. Pour changer votre mot de passe
d'utilisateur ou de groupe, utilisez passwd.

En rgle gnrale, un mot de passe doit:

avoir une longueur minimale.

ne contenir aucun mot du langage courant.

Contenir des caractres alphanumriques

45
Support de cours BTS1 GNU/LINUX Essaadi Driss

Contenir un mlange de lettres majuscules et minuscules.

3. Information sur les utilisateurs

Une ligne est dfinie dans le fichier /etc/passwd pour chaque compte utilisateur. Le mot de passe
crypt est stock dans le fichier /etc/shadow.

Le format de /etc/passwd est:

Root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
btssri:x:500:100:Utilisateur normal:/home/btssri:/bin/bash

Le champs x est l'ancienne localisation pour le mot de passe.

Le format de /etc/shadow est:

root:IMXweyiV816gg:11996:0:10000::::
bin:!*:8902:0:10000::::
daemon:*:8902:0:10000::::
btssri:GoIM8j1S.IuTY:11996:0:99999:7:::

L'* pour le mot de passe crypt veut dire qu'aucun mot de passe n'a encore t dfini. Le ! devant le mot
de passe crypt veut dire que le compte est bloqu.

4. Information sur les groupes

Il y a une ligne dans le fichier /etc/group pour chaque groupe d'utilisateurs.


Le format de /etc/group est:
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:
bts:x:33:btssri

Pour obtenir des informations sur une session, jouez la commande id.
id [options] [username]
Options courantes: -g : N'imprime que l'identifiant du groupe. -u : N'imprime que l'identifiant de
l'utilisateur.
Exemple:
$ id
uid=0(root) gid=0(root) groupes=0(root), 1(bin), 14(uucp),
15(shadow),16(dialout)

5. Cration des utilisateurs

Pour crer un utilisateur il existe 2 commandes. La premire adduser est trs simple utiliser puisque
l'outil est interactif : il suffit de rpondre aux questions poses. La seconde useradd est plus complique
car il faut tout spcifier enparamtres sur la ligne de commande, cependant elle a l'avantage de
permettreune utilisation automatise via des scripts dont nous verrons la cration dans lasuite de la
formation. videmment ces deux programmes ncessitent une excution en tant que root.
Chaque cration dun utilisateur ajoute une ligne dans le fichier /etc/passwd .

46
Support de cours BTS1 GNU/LINUX Essaadi Driss

useradd - crer un nouvel utilisateur ou modifier les informations par dfaut appliques aux nouveaux
utilisateurs
adduser est une commande synonyme de useradd mais interactive (voir le TP)
Syntaxe de useradd
useradd [options] LOGIN

OPTIONS

Les options disponibles pour la commande useradd sont :

-b, --base-dir RP_BASE

Le rpertoire par dfaut de lutilisateur -d HOME_DIR


Si cette option nest pas utilise, useradd utilise le rpertoire par dfaut HOME variable utilise dans le
fichier /etc/default/useradd, ou /home par dfaut.

-c, --comment COMMENTAIRE

Toute chane de texte. C'est gnralement une description courte du compte, elle est actuellement utilise
comme champ pour le nom complet de l'utilisateur.

-d, --home RP_PERSO

Le nouvel utilisateur sera cr en utilisant RP_PERSO comme valeur de rpertoire de connexion de


l'utilisateur. Le comportement par dfaut est de concatner UTILISATEUR au rpertoire RP_BASE, et de
l'utiliser en tant que nom de rpertoire de connexion. Il n'est pas ncessaire que le rpertoire RP_PERSO
existe mais il ne sera pas cr s'il n'existe pas.

-e, --expiredate DATE_FIN_VALIDIT

Date laquelle le compte utilisateur sera dsactiv. La date est indique dans le format AAAA-MM-JJ.Si
non spcifier, useradd utilise la date spcifie dans la variable EXPIRE contenue dans
/etc/default/useradd, or (no expiry) par dfaut.

-f, --inactive DURE_INACTIVIT

Nombre de jours suivant la fin de validit d'un mot de passe aprs lequel le compte est dfinitivement
dsactiv. Une valeur de 0 dsactive le compte ds que le mot de passe a dpass sa fin de validit, et une
valeur de -1 dsactive cette fonctionnalit.

-g, --gid GROUPE

Nom du groupe ou identifiant numrique du groupe de connexion initial de l'utilisateur. Le nom du


groupe doit exister. Un numro de groupe doit se rfrer un groupe dj existant.

-G, --groups GROUPE1[,GROUPE2,...[,GROUPEN]]]

Liste de groupes supplmentaires auxquels appartient galement l'utilisateur. Chaque groupe est spar du
suivant par une virgule, sans espace entre eux. Les groupes sont soumis aux mmes restrictions que celles
de l'option -g. Le comportement par dfaut pour l'utilisateur est de n'appartenir qu'au groupe initial.

47
Support de cours BTS1 GNU/LINUX Essaadi Driss

-h, --help

Afficher un message d'aide et quitter.

-o, --non-unique

Permet de crer un compte d'utilisateur avec un identifiant ( UID ) dupliqu (non unique).
Cette option n'est valable qu'avec l'option -o.

-s, --shell INTERPRTEUR

Le nom de l'interprteur de commandes initial de l'utilisateur ( login shell ). Le comportement par


dfaut est de laisser ce champ vide. Le systme slectionnera alors l'interprteur par dfaut indiqu par la
variable SHELL dans /etc/default/useradd, ou une chane vide par dfaut.

-u, --uid UID

La valeur numrique de l'identifiant de l'utilisateur. Cette valeur doit tre unique, moins que l'option -o
ne soit utilise. La valeur ne doit pas tre ngative. Le comportement par dfaut est d'utiliser la plus petite
valeur d'identifiant plus grande que 999, et plus grande que celle des identifiants de tous les autres
utilisateurs. Les valeurs comprises entre 0 et 999 sont gnralement rserves pour les comptes systmes.

6. Examples (TP ):

1- # useradd moha Ajout de lutilisateur moha avec les valeurs par dfaut.

# useradd moha -d /home/usr1 Crer un utilisateur et son rpertoire dans /home

# useradd moha -e 2009-04-30 A partir du 30/4/2009 lutilisateur sera dsactiv.

# useradd moha -f 6 Aprs que le mot de pass expire, le systme donne moha 6 jours pour changer
passwd.

# useradd moha -g etudiant Affecte moha au groupe tudiant

# useradd moha -s /bin/csh moha utilisera le C Shell par dfaut.

2) userdel = Dtruit le compte utilisateur et les fichiers correspondants

userdel loginname Dtruit ce compte utilisateur sans dtruire le rpertoire associ

userdel -r loginname - Dtruit ce compte utilisateur et le rpertoire associ

.3) usermod = Modifie le compte utilisateur

# usermod -d /home2/usr1 usr1 Crer un nouveau rpertoire pour usr1 /home2 et dplace le contenu
de lancien rpertoire vers /home2

# usermod -e 2005-04-30 usr1 A partir du 30/4/2005 usr1 sera dsactiv

# usermod -f 6 usr1 Aprs que passwd expires, le systme donne user1 6 jours pour changer son
passwd.
# usermod -g prof usr1 Affecter user1 au groupe prof
48
Support de cours BTS1 GNU/LINUX Essaadi Driss

# usermod -s /bin/bash usr1 Change le Bash de usr1.

# usermod -L usr1 Verrou le mot de pass de user1.

# usermod -U usr1 D verrou le mot de pass de user1.

4) groupadd = crer un nouveau groupe sales

# groupadd sales

CH 7. Gestion des processus sous linux


Gnralits

Linux sait grer plusieurs programmes simultanment. C'est ce que l'on nomme le multitche.
Dans un environnement graphique, ce concept est plus vident de part la prsence de plusieurs fentres
l'cran. Toutefois cet article s'intressera plutt la gestion du multitche en ligne de commande.

Ce qui est dsign comme processus est une instance de programme s'excutant un instant
donn ainsi que son contexte (ou environnement). Ce dernier terme dsigne l'ensemble des ressources
utilises par le programme pour pouvoir se drouler comme par exemple la mmoire ou les fichiers
ouverts.

Les processus sont identifis par un numro unique dans le systme un moment donn : le PID.
C'est l'aide de ce nombre que l'on peut dsigner une instance de programme et interagir avec. Ils sont
galement caractriss par un propritaire. Il s'agit de l'utilisateur qui a demand l'excution. En gnral,
seul ce propritaire pourra entreprendre des actions sur le processus.

Ils sont de plus organiss en hirarchie. Chaque processus doit tre lanc par un autre. Ce dernier
porte le nom de processus pre ou parent et ceux initis le nom d'enfants ou processus fils.

Cette hirarchie a une racine. Il s'agit le plus souvent sur un systme GNU/Linux du programme
init qui est lanc par le noyau la fin de son initialisation et a le PID 1. Il va alors entre autres se charger
de lancer les diffrents services du systme qui sont appels dmons. Un dmon (francisation du terme
anglais daemon) est un processus qui est constamment en activit et fournit des services au systme ou
l'extrieur. Un exemple serait un programme de serveur web ou FTP ou bien celui grant la restitution de
sons.

init lance aussi un programme permettant un utilisateur (ou plusieurs) de se connecter au


systme. Ce pourra tre une fentre en mode graphique ou une invite en mode texte qui permettra de saisir
le nom d'utilisateur et le mot de passe avant de lancer une interface utilisateur (galement graphique ou
non).

Etats des processus

Lors de sa vie (entre le moment o il est lanc et celui o il se termine), un processus peut passer par
diffrents tats. Les principaux sont les suivants :
49
Support de cours BTS1 GNU/LINUX Essaadi Driss

Actif
Excutable
Endormi
Zombie

Actif : tat correspond au processus qui en train de raliser des actions un instant donn. Il possde le
processeur et ralise les oprations ncessaires son droulement.

Excutable : tat pour un processus qui pourrait tout fait tre en train de s'excuter, mais il doit attendre
que le processus actif laisse sa place. En effet, le multitche n'est en quelque sorte qu'une illusion. Sur une
machine possdant un seul processeur, un instant donn un seul programme peut oprer.

Ces deux premiers tats ne sont gnralement pas distingus du point de vue de l'utilisateur pour quils
correspondent l'un comme l'autre un programme en cours d'excution. Cette nuance concerne plus le
noyau.

Un processus endormi ne fait rien. Il attend une condition pour redevenir excutable ou actif. Il peut se
mettre lui-mme en sommeil. Un programme par exemple peut attendre quelques secondes avant de
poursuivre son excution pour laisser le temps l'utilisateur de lire un message affich. Mais il peut aussi
tre mis en sommeil par le noyau en attendant que ce qu'il demande soit disponible. Pour illustrer ceci, on
peut observer un programme de chat (IRC) permettant de dialoguer sur Internet avec d'autres personnes.
Tant que personne n'crit rien, ce programme n'a rien faire. Il va tout d'abord dire au systme qu'il
souhaite lire les informations qui arrivent d'Internet. Si rien n'est prsent, il est mis dans un tat endormi.
Il sera alors rveill ds que quelqu'un crit un message afin que le processus puisse le traiter.

Le dernier des tats voqus ici est un peu particulier. Il s'agit de l'tat zombie. Un tel processus est en
ralit termin. Il a fini son excution et n'a donc plus de raisons d'exister. Seulement pour diverses
raisons possibles, son pre n'a pas t inform de ceci. Et tout processus doit prendre connaissance de la
fin de ceux qu'il a lancs (ses fils). Le systme conserve donc les informations correspondant au processus
enfant afin que son parent puisse voir qu'il a fini son excution.
Ordonnancement des processus

T1 : le processus bloque en attente de donnes dentre. Ceci se produit lorsque la ressource


attendue est non disponible. Sauvegarde des valeurs du contexte dexcution.

T4 : la ressource attendue est arrive et le processus redevient prt tre excut.

T2 et T3 sont provoqus par lordonnanceur de processus (scheduler)

T2 : le quantum de temps expire donc sauvegarde du contexte dexcution et passage ltat prt.

T3 : nouvelle excution du processus : restauration du contexte du processus et excution de ses


instructions.

50
Support de cours BTS1 GNU/LINUX Essaadi Driss

Remarque : chaque fois quun processus quitte ltat lu, il sauvegarde son contexte, pour le restaurer lors
de son retour lu.

Un processus identifi par un entier unique (PID) compris entre 0 et 32767. Le processus originel est le
processus swapper (numro 0). Son premier fils cr est le processus initialisation (numro 1).

Lister les processus

Comme indiqu prcdemment, un processus peut tre identifi avec son PID. Pour connatre celui-ci, il
existe un outil qui s'appelle ps. Il affiche la liste des processus en cours d'excution (pas forcment tous
selon les options) avec d'autres informations comme la commande utilise pour le lancer ou son tat.

Pour connatre les options disponibles avec ps, le plus simple est de consulter sa page de manuel, d'autant
que selon les systmes ces options peuvent changer. Une option courante est -e qui permet de lister tous
les processus du systme (et non ceux de l'utilisateur courant uniquement). Ci-dessous un exemple
d'affichage l'utilisation de ps. L'option -o a aussi t utilise. Elle permet de spcifier quelles sont les
informations devant tre affiches. Sans s'tendre sur les possibilits offertes, il faut juste prciser qu'a t
choisi ici d'afficher le PID, le PPID (le PID du parent), l'utilisateur propritaire et le programme
concern.

$ ps -e -o"%p %P %U %c"

PID PPID USER COMMAND


1 0 root init
506 1 root syslogd
1411 1 root httpd
1456 1 root login
3713 1456 Tian bash
7083 3713 Tian ps

On retrouve donc bien ici le processus init qui n'a pas de pre (il n'y a pas de processus ayant 0 comme
PID). Ensuite sont prsents syslogd (responsable de l'enregistrement des messages d'information ou
d'erreur), httpd (le programme de serveur web) et login. Ce dernier permet un utilisateur de se
connecter sur le systme. On peut voir ici que login a pour fils bash (le PPID de bash est 1456 qui est le
PID de login). Il s'agit du shell qui est lanc pour que l'utilisateur puisse interagir avec le systme. bash a
comme processus enfant ps qui est cr par la commande tape pour obtenir ce rsultat.

Le programme ps ne permet d'obtenir qu'une vision instantane des processus courant. Il existe un
excutable qui affiche ceux-ci intervalles rguliers. Il s'agit de top qui montre par dfaut les processus
en ordre dcroissant d'utilisation du processeur. Il indique aussi l'utilisation mmoire ce qui fait de top un
outil d'administration utile pour connatre les programmes consommateurs de ressources.

Interagir avec les processus

A un processus donn peut tre envoy un signal. Ceci peut tre vu comme une indication donne au
programme de manire asynchrone. Ce dernier terme signifie que le signal doit tre pris en compte
immdiatement quelles que soient les oprations en cours de traitement. La personne ayant conu le
programme peut dcider du comportement adopter la rception du signal pour remplacer celui par
dfaut. La partie du programme responsable de ceci est appele gestionnaire de signal (en anglais signal
handler).

51
Support de cours BTS1 GNU/LINUX Essaadi Driss

Un signal sera dsign soit par sa valeur numrique soit par son nom. Etant donn que les valeurs
numriques peuvent varier d'un systme un autre, il vaut mieux utiliser le nom. Le tableau suivant liste
les signaux les plus utiliss avec leur valeur sur un systme Linux.

Principaux signaux
Valeur Comportement
Signal Description
numrique par dfaut
Il s'agit d'une demande venant du clavier, le plus souvent l'aide la
SIGINT 2 Terminer le processus
combinaison de touches Ctrl-C.
Ce signal permet d'arrter tout programme car il ne peut tre gr
SIGKILL 9 Terminer le processus diffremment que le comportement par dfaut. L'arrt du programme
est brutal.
Ce signal n'a pas de signification particulire. Il peut tre utilis de
SIGUSR1 10 Terminer le processus
manire diffrente par chaque programme.
Ce signal est envoy un programme lorsque qu'il tente d'accder
SIGSEGV 11 Terminer le processus
un endroit invalide en mmoire.
SIGUSR2 12 Terminer le processus Identique SIGUSR1.
Si le programme n'a pas prvu de grer ce signal, l'arrt sera aussi
brutal que pour SIGKILL. Mais comme le comportement par dfaut
SIGTERM 15 Terminer le processus
peut tre chang, le programme a la possibilit de raliser des
oprations avant de se terminer.
SIGCHLD 17 Ignorer ce signal Envoy un processus dont un fils est arrt ou termin.
Permet de faire se continuer un processus qui avait t arrt par
SIGCONT 18 Reprendre le processus
exemple l'aide de SIGSTOP (voir ci-aprs).
Ce signal demande au processus de suspendre son excution. Comme
SIGSTOP 19 Arrter le processus
SIGKILL, ce signal ne peut tre gr diffremment.

Ces signaux sont donc envoys par le systme un processus pour le prvenir de certains vnements.
Mais un utilisateur peut aussi envoyer des signaux grce la commande intgre bash, kill. Elle s'utilise
en indiquant le numro de signal l'aide de l'option -s puis du PID du processus.

Par exemple :

$ kill -s SIGSTOP 256


$ kill -SIGSTOP 256

Ces deux commandes sont identiques. La deuxime est plus courte utiliser mais ne fonctionne pas sur
tous les systmes. L'une comme l'autre enverra le signal SIGSTOP au processus de PID 256.

Si l'on utilise kill sans spcifier de numro de signal, c'est un SIGTERM qui sera envoy.

Gnralement lorsque l'on souhaite arrter un programme qui refuse de le faire ou prsente un
comportement trange, on commence par essayer de lui envoyer un SIGTERM (avec kill sans option de
signal par exemple). Cela permet de lui laisser une chance de se quitter proprement. Si toutefois cela ne
fonctionne pas, il faut alors utiliser SIGKILL qui va obligatoirement terminer le processus.

Gerer les priorits d'excution des processus

Pour dmarrer une commande avec une priorit donne, utilisez la commande nice .
nice -n +2 [command]
52
Support de cours BTS1 GNU/LINUX Essaadi Driss

nice -n -19 [command]


La commande nice changes le temps du scheduler. Les valeurs sont comprises entre -19 (-20), qui
correspond a une haute priorit +20 (+19), basse priorit. La valeur par dfaut est 0. Seul le
superutilisateur root peut donner une priorit ngative (haute priorit).
Pour modifier la priorit d'un programme en cours , utilisez la commande renice
renice +1 -u root # Change la priorit pour tous les processus root.
renice +2 -p 193 # Change la priorit pour le processus dan PID 193

Gestion des jobs

Le shell utilis le plus frquemment sur les systmes GNU/Linux, bash, propose un systme de contrle
des jobs. Un job correspond une tche demande par l'utilisateur. Cette tche peut tre compose de
plusieurs processus. Ce qui les regroupe est un tube. Un job est donc un regroupement de plusieurs
commandes devant s'excuter les unes la suite des autres en communiquant leurs rsultats.

Un exemple tout simple de job pourrait tre le suivant :

$ ls | less ou ls | more

ls permet de lister les fichiers. Mais quand ils sont trop nombreux, la consultation est difficile. less permet
alors de paginer ce qui lui est pass sur son entre standard et de naviguer facilement l'aide des touches
flches.

Il faut bien voir que lorsque ceci aura t tap, 2 processus seront crs. Un pour excuter ls et l'autre
pour less. Mais bash fournit une abstraction permettant de manipuler ceci comme un tout, appele donc
job.

Mais un job pourrait tout aussi bien tre constitu d'une seule commande sans utilisation de tube.
L'utilisation d'uniquement ls constituerait aussi le lancement d'un job.

La commande intgre bash permettant de les lister s'appelle jobs. La lancer dans un shell ne produira
aucun rsultat normalement.

Il est possible de lancer un job en arrire-plan. Cela permet alors de pouvoir continuer utiliser le shell
pour d'autres tches pendant qu'il s'excute. Emacs est un diteur de texte trs utilis (notamment pour
faire ce site). Si dans une console au sein d'un environnement graphique on le lance en tapant son nom,
une fentre Emacs va s'ouvrir par dfaut. Mais la console ne sera plus utilisable car le shell attendra la fin
de l'excution de l'diteur avant de laisser nouveau la possibilit de lancer des commandes. Pour pouvoir
donc lancer ce logiciel par exemple, il faut rajouter le symbole & la fin de la dfinition de la tche. Pour
cet exemple :

$ emacs &
[1] 6373

La premire valeur est le numro du job. Celui-ci est unique dans le shell courant. Si plusieurs sont
utiliss simultanment (comme par exemple avec plusieurs fentres de console), chacun aura ses propres
jobs et ne pourra agir sur ceux des autres.

La seconde valeur affiche est le PID du dernier processus lanc pour ce job. Il correspondra la dernire
commande dans le tube. Etant donn qu'il n'y en a qu'une ici, ce sera donc le PID pour le processus
excutant Emacs. Avec l'exemple prcdent, ce serait celui correspondant less qui serait affich.

On peut alors utiliser la commande jobs vue prcdemment :


53
Support de cours BTS1 GNU/LINUX Essaadi Driss

$ jobs
[1]+ Running emacs &

On retrouve ici le numro du job et la commande utilise pour le lancer (dans la dernire colonne). La
texte "Running" signifie qu'il est en train de s'excuter. Le signe + indique qu'il s'agit du job le plus
rcemment manipul (ce qui sera utile pour les commandes qui seront vues ensuite).

Si le programme avait t lanc en oubliant d'ajouter le & il est tout de mme possible de pouvoir
continuer d'utiliser le shell. Pour cela, il faut utiliser la combinaison de touches Ctrl-Z (maintenir la
touche Ctrl et appuyer sur la lettre Z). On aura alors ceci :

$ jobs
[1]+ Stopped emacs

Contrairement l'exemple prcdent, l'tat du job est indiqu comme "Stopped". Le job est alors en
sommeil et ne ralise aucune action. La fentre d'Emacs est inactive et on ne peut utiliser ce programme.

Il existe toutefois une commande qui permet de demander ce qu'un job arrt reprenne son excution en
arrire-plan. Il s'agit de bg qui prend en paramtre le numro de job. Par dfaut, bg agit sur le job portant
le + dans la liste affiche. Voici ce que l'on obtient alors :

$ bg
[1]+ emacs &
$ jobs
[1]+ Running emacs &

Tout se passe alors comme si le & avait t indiqu lors du lancement du programme. On peut remarquer
qu'il est d'ailleurs ajout l'affichage.

A l'oppos de bg, il existe fg qui permet de mettre en avant-plan un job. Celui-ci s'excutera alors dans le
shell empchant de saisir d'autres commandes. Le paramtre pass fg est le mme que pour bg (le
numro de job et par dfaut celui avec un +). fg peut tre utilis pour un job tournant en arrire-plan ou
arrt.

L'avant-dernier job manipul est lui aussi indiqu d'une manire particulire. Voici un exemple fictif
d'affichage :

$ jobs
[1] Running mozilla &
[2]- Stopped su
[3]+ Stopped emacs -nw &
[4] Running dtfile &

En tapant seulement fg (sans paramtre donc), c'est Emacs qui sera mis en avant-plan (l'option -nw
permet de l'utiliser en mode texte directement dans la console). Pour rendre le programme su actif et
utilisable, on peut taper indiffremment une des deux commandes suivantes :

$ fg 2
$ fg -

L'utilisation du - permet donc d'accder l'avant-dernier job et d'ainsi facilement passer d'un job un
autre sans connatre leurs numros.

Etant donn que kill est une commande intgre bash, il permet aussi d'interagir avec les jobs. Pour
cela, il faudra la place du PID indiquer le numro du job prcd du caractre %. Comme par exemple :

54
Support de cours BTS1 GNU/LINUX Essaadi Driss

$ kill -SIGSTOP %1

Qui stoppera le job numro 3.

CH8. Gestion des priphriques

I. Gestion de lespace disque


1. Organisation des file systems
Lorganisation du systme de fichiers est une organisation logique base sur une organisation
physique constitue dun ou plusieurs disques. Chacun est divis en une ou plusieurs partitions physiques
(P1, P2, etc.). Lespace disque physique disponible est ainsi dcoup en disques logiques. Initialiser un
disque logique consiste crer sur ce disque un systme de fichiers appel file system. Sous Unix/Linux,
lutilisateur ne voit pas les disques physiques, pas plus que les partitions. Il ny a pas de lettres dunits.
Larborescence de fichiers est construite au dmarrage du systme partir de plusieurs file systems. Un
file system particulier, le root file system contient la racine de larborescence, le noyau, les fichiers
systmes, et des rpertoires vides (/tmp, /usr,) sur lesquels seront greffes des arborescences de fichiers
se trouvant dans dautres file systems. Lors du dmarrage dune machine, aprs recherche du disque
systme, chaque file system est rattach, laide de la commande mount, un rpertoire existant appel
point de montage (mount point). La racine de ce file system prend alors pour nom celui du point de
montage, et larborescence de fichier quil contient est alors totalement intgre larborescence de
fichiers du systme.
La structure dun file system est globalement la mme dans toutes les versions dUnix/Linux : chaque
file system est compos dun grand nombre de blocs contigus.
Le bloc 0 contient le boot et lidentification du disque.
Le bloc 1, appel aussi superbloc, contient des informations sur le file system :
la date de dernire mise jour du file system,
le nombre de fichiers quil peut contenir,
la taille du file system,
un pointeur sur la liste des blocs libres.
Les blocs 2 k contiennent les inodes.

55
Support de cours BTS1 GNU/LINUX Essaadi Driss

Sous Unix/Linux, un fichier est une suite doctets (8 bits) non structure (byte stream). Toutes les
informations concernant un fichier sont regroupes dans une structure de donnes, appele inode,
dcrivant la taille du fichier, son emplacement sur disque, son propritaire, etc. Un fichier nest pas repr
par son nom mais par le numro (index) de linode qui le caractrise. Cet index permet de retrouver
linode dans la table des inodes. Cest donc linode qui caractrise le fichier.
2. Les inodes
Chaque inode est repr par un numro (index) variant de 1 n et permettant de retrouver
son emplacement dans la table des inodes. Aucun fichier nutilise le numro 1. Le numro 2
reprsente la racine du file system. Les informations contenues dans un inode sont :
le type de fichier (rpertoire, fichier ordinaire,),
les 12 bits de permissions : suid, sgid, t, rwx rwx rwx
le nombre de liens,
le numro de propritaire (UID),
le numro de groupe (GID),
la taille du fichier en octets,
des pointeurs vers les blocs de donnes correspondants,
les date et heure du dernier accs,
les date et heure de la dernire modification,
les date et heure de la dernire modification de linode.
3. Accs au disque logique
chaque disque logique est associ un fichier spcial dans le rpertoire /dev et qui permet daccder au
disque. Les noms des fichiers spciaux associs aux disques et partitions sont les suivants :
/dev/hda : Hard Disque A : le premier disque IDE (/dev/sda pour disque SATA)
/dev/hdb : Hard Disque B : le deuxime disque IDE (/dev/sdb)
/dev/hda1 : la premire partition du disque hda (/dev/sda1)
/dev/hdb3 : la troisime partition du disque hdb (/dev/sdb3)
/dev/cdrom : un lien symbolique sur /dev/hdc si votre troisime disque IDE est un lecteur de CD ROM

4. La zone swap

Tout systme Linux comporte au moins une partition spciale appele partition swap. Pour des raisons
de performances, cette partition na pas de structure de file system. Elle est utilise par Linux pour la
gestion de la mmoire virtuelle : un instant donn, la mmoire centrale (RAM) ne contient pas la totalit
de la mmoire ncessaire aux processus en cours. Le mcanisme de mmoire virtuelle ne place en RAM
que ce qui est indispensable cet instant, et effectue un va-et-vient entre la RAM et la partition swap.

5. Commandes ln et mv

Un fichier, en tant quespace disque, est repr par son index et non par son nom. Lindex est le numro
de linode dcrivant entirement le fichier sur disque. Un rpertoire est un fichier de type particulier
contenant des couples (index, nom_de_fichier). Il est donc possible dassocier deux noms diffrents au
mme index. Cette opration est effectue par la commande ln (LiNk) :
ln fichier_existant nouveau_nom
Le mme fichier, au sens espace disque, peut alors tre accd par les deux noms : fichier_existant et
nouveau_nom.
Ce type de lien sappelle en faite un lien physique car il exista sous GNU/Linux un autre type de lien dit
lien symbolique crer avec :
ln s fichier_existant nouveau_nom

Les liens symboliques ne sont que des sortes de raccourcis ou de pointeurs pointant sur un fichier (ou
rpertoire) cible. Ils ont les mmes proprits et droits que leur cible. Si on supprime le fichier cible le
lien existe toujours mais il est alors cass (broken link). Le lien symbolique n'est en rien une copie du
fichier rel.
56
Support de cours BTS1 GNU/LINUX Essaadi Driss

Par contre, Les liens physiques (hardlink), ou appels parfois liens matriels, sont des clonages copies
intelligentes . Ils hritent des mmes droits et proprits que leur cible et recopie leur contenu mme en
cas de modifications. Toutes modifications (contenu ou droits) appliques sur la cible sont rpercutes sur
le lien et toutes modifications (contenu ou droits) appliques sur le lien sont rpercutes sur la cible. C'est
un vritable miroir de la cible. La suppression du lien n'affecte pas la cible et la suppression de la cible
n'affecte pas le lien. Cependant on ne peut pas crer un lien physique d'un rpertoire.

EXERCICE sur creation de lien :

1- Crer un rpertoire testlien dans votre rpertoire personnel ~


2- Accder au rpertoire testlien
3- Crer dans ce rpertoire le fichier fichea
4- Copier fichea sur essai
5- Crer un lien physique entre fichea et ficheb
6- Crer un lien symbolique entre fichea et fichec
7- Afficher le contenu de votre repertoire avec la commande ls li
Que remarquez-vous ?
8- Changer le contenu du fichiera
Que remarquez-vous ?
9- Changer les permissions du fichiera
Que remarquez-vous ?

La commande rm (remove) supprime le nom et dcrmente le nombre de liens


contenus dans linode. Le fichier est physiquement supprim si et seulement si le
nombre de liens passe zro.

II. Monter un systme de fichiers


1. Comme le systme de fichiers Linux se concentre dans une seule arborescence de fichiers, l'accs
et l'utilisation de systmes extrieurs (disques, disquettes, cd ..) doit s'effectuer par intgration de
ces systmes de fichiers dans le systme fondamental "racine".
Ce mcanisme d'intgration, souple et paramtrable, s'appelle le montage.
2. Techniquement, l'opration de montage consiste mettre en relation :
o un fichier de priphrique situ dans /dev (qui permet la communication physique avec les
donnes du priphrique)
o avec un noeud d'insertion dans l'arborescence, appel son point de montage
3. Naturellement le montage fondamental est celui du rpertoire racine / du systme. Celui-ci se
trouve dans une partition automatiquement monte au dmarrage. D'ventuelles autres doivent
galement tre montes au boot pour que l'arborescence standard du systme de fichiers soit
construite en mmoire.
4. Mais comment, lors du dmarrage, le noyau sait quoi il doit monter et partir de quel priphrique
(partition disque en gnral) ?
En consultant la table de montage /etc/fstab, fichier fondamental dcrit plus loin
5. Ce processus est fondamental sur les systmes de la famille UNIX, il conditionne tout accs une
ressource externe, en particulier des ressources rseau d'autres disques Linux

III. Commandes de montage/dmontage

Il est toujours possible de monter " la main" les systmes de fichiers stocks sur les priphriques
disques, cd ... avec la commande interactive mount/umount
57
Support de cours BTS1 GNU/LINUX Essaadi Driss

Syntaxe gnrale :
mount -t <type > -o options /dev/rep-spcial /mnt/rep-montage
Si cette description est prsente dans le fichier /etc/fstab, la commande peut tre simplifie
mount /dev/rep-spcial ou mount /mnt/rep-montage
Les types principaux
ext2,ext3 (type par dfaut), vfat, FAT16 ou FAT32 de Win95 ou Win98, nfs, systme de fichiers
distant situ sur un serveur NFS
Les options
les options par dfaut sont:
rw (accs complet), suid (les ventuels permissions SUID et SGID des fichiers seront pris en
compte), dev (permettre l'utilisation des fichiers de priphriques, exec (permettre l'excution de
fichiers binaires)
Exemples
o mount liste tous les systmes de fichiers actuellement monts
o mount -a monter tous les systmes au dmarrage, excute /etc/rc.d/rc.sysinit
o mount /dev/cdrom monte le systme du cd-rom (si dcrit dans fstab)
o umount /mnt/floppy dmonte le systme de fichiers disquette
o mount -t vfat -o uid=5001,gid=5000,umask=022 /dev/sda1 /mnt/disk-c
monter la partition Windows occupant la 1re partition /dev/hda1 dans le rp.
/mnt/disk-c, acev les options : l'utilisateur d'uid 5001, et le groupe de gid 500, seront
propritaires de tous les fichiers, la cration d'un fichier s'effectuera avec le umask 022,
c'est--dire les permissions 755 (rwxr-xr-x).

IV. Les tables de montage : /etc/fstab et /etc/mtab

Le premier processus init (excut au dmarrage), aprs chargement du noyau, se charge de monter les
systmes de fichiers conformment aux spcifications du fichier /etc/fstab et effectue leur ventuel
montage automatique.

En effet, ce fichier /etc/fstab constitue une vritable "table de montage". Il fait l'inventaire des divers
systmes de fichiers que le noyau Linux est susceptible de grer, prcise la faon de les monter, s'ils
doivent l'tre au dmarrage, ou plus tard la demande des utilisateurs etc ..

Le fichier /etc/mstab est dynamique et dcrit tout moment l'tat des montages des partitions disques
et des priphriques.

Structure des tables


Sur chaque ligne on trouve la description du montage d'un systme, avec 6 champs :

1. nom du fichier "device"


2. chemin vers le point de montage (dpend des distributions, souvent un sous-rep de /mnt )
3. le type de fichiers : ext2 ,ext3 (Linux), swap, msdos, vfat (Win9x), ntfs (NT), iso9660 (Cd-rom),
nfs
4. liste d'options de montage, spars par des virgules
o auto/noauto , pour imposer/empcher un montage automatique au dmarrage du systme.
o user/nouser, pour autoriser/interdire un user quelconque effectuer le montage. En cas de
nouser cette tche est rserv root.
5. paramtre pour dump (commande de sauvegarde)
Une valeur 0 signifie que le systme de fichiers ne sera pas sauvegard lors d'un dump
6. paramtre pour la vrification des fichiers
Il indique l'ordre dans lequel fsck devra vrifier les fichiers, 1 en priorit (c'est normalement la
partition racine /, 2 sinon, et 0 pour ne pas demander de vrification.

58
Support de cours BTS1 GNU/LINUX Essaadi Driss

EXERCICE TP 1 :
Directives de fstab commenter
/dev/fd0 /floppy auto user, noauto
- comment allrz-vous monter la disquette ?
/dev/sda1 /mnt/diskc vfat user, auto, rw
- /dev/sda1 est
- /mnt/diskc est ..
- vfat est .
/dev/sdb1 /mnt/diskd vfat user, auto
- quell signification cette ligne a-t-elle au lancement du systme ?
- commenter les paramtres auto et user

EXERCICE TP 2 :
Montage et dmontage
- Editer votre /etc/fstab
- Quelle est la description prvue pour le montage du systme de fichier dun lecteur
cd-rom ?
- Monter ce systme et vrifier son accessibilit au point de montage
- Sortir du point de montage et dmonter le systeme de fichier ?
- Peut-on lenlever avant de le dmonter ?
EXERCICE TP 3 :
Commenter les lignes de la table de montage suivante :

# /etc/fstab: Information sur les systmes de fichiers.


# <sys.fichiers> <pt de montage> <type> <options> <dump> <pass>
/dev/sda2 / ext3 errors=remount-ro 0 1
/dev/sda1 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto user,noauto 0 0
/dev/cdrom /cdrom iso9660 ro,user,noauto 0 0
/dev/sda3 /home xfs defaults 0 0
dev/sda4 /var/se3 xfs defaults 0 0

V. Examen du partitionnement du disque

/etc/fstab ne renseigne pas sur les caractristiques physiques du partitionnement du ou des disques.Les 4
priphriques IDE sont dsigns par leur fichier "device" d'accs : /dev/sda, /dev/sdb (1er connecteur
IDE)
Remarque :Dans lancien version /dev/hda pour lIDE et /dev/sdx pour Les disque SATA,mais
maintenant les disque IDE sont nots comme les disques SATA : /dev/sdx
/dev/sdc, /dev/sdd (2me)
EXERCICE TP 4 :
Interroger le 1er disque (comme root) avec fdisk
fdisk /dev/sda
- Command : p pour lister les partitions
- Interprtez compltement les infos obtenues
- Peut-on crer d'autres partitions sur ce disque ?

VI. Complments
59
Support de cours BTS1 GNU/LINUX Essaadi Driss

Installer une nouvelle partition


Dans certains cas il peut s'avrer indispensable d'tendre le systme de fichiers sur un nouveau disque dur,
ou une partition rcupre ...
L'objectif consiste assigner une sous-arborescence du systme de fichiers, cette nouvelle ressource
priphrique, par le processus de montage.
Soit une nouvelle partition /dev/sda3, jusqu'ici "libre", monter sur /home.
1. Avec fdisk, lui affecter un systme linux
2. La formater
mkfs -t ext3 -c -v /dev/sda3
formate en blocs de 1024 en vrifiant les blocs(-c), puis crit la table des inodes.
3. effectuer une copie
cp -pr /home /root
le dplacement de /home, dans /root par exemple. En effet /home est prsent actuellement sur
sda1, et il va tre ensuite physiquement affect sur sda3
Les rp. personnels sont actuellement dans /root/home
4. monter la partition sda3 en /home
mount /dev/sda3 /home
Expliquer les rsultats des commandes :
df
ll /home
5. rcuprer le contenu de /home
mv /root/home/* /home
6. pour automatiser le montage de /dev/sda3 lors d'un redmarrage du systme, ajouter dans la table
de montage /etc/fstab la ligne :
/dev/sda3 /home ext3 defaults 1 2

CH9. OUTILS DARCHIVAGE ET DE SAUVEGARDE SOUS LINUX/UNIX

1. Les outils de sauvegarde

La sauvegarde est un travail important de l'administrateur puisqu'en cas de gros problme, on passe
gnralement par une restauration du systme depuis une sauvegarde ou une image du systme lorsque
celui-ci tait encore intgre (bon fonctionnement, pas de corruption). Chaque Unix arrive avec des

60
Support de cours BTS1 GNU/LINUX Essaadi Driss

commandes et des procdures de sauvegarde qui lui sont propres. On distingue tout de mme quelques
outils communs.

Pour la sauvegarde de fichiers et d'arborescences, on utilise les commandes tar, cpio. Ces
commandes sauvent une arborescence, et pas un systme de fichiers.
Pour la sauvegarde physique de disques et de systmes de fichiers, on utilise la commande dd
et la commande volcopy.
Une sauvegarde incrmentale consiste sauvegarder une premire fois la totalit des donnes,
puis ensuite uniquement les fichiers modifis. On utilise parfois les commandes tar
incrementale, dump et restore, mais l chaque OS vient avec ces propres outils. On trouve aussi
en libre ou dans le commerce des solutions plus pointues.

L'administrateur aura parfois dfinir des scripts de sauvegarde et de restauration adapts au cas par cas
(partition systmes, donnes applicatives, ...) et automatiser quand c'est possible l'excution de ceux-ci
en fonction de la date, l'heure ou la charge machine.

Il sera aussi trs important de dfinir un plan de sauvegarde, en se posant les bonnes questions :

Que faut-il sauvegarder ?


Avec quelle frquence ?
Combien de temps conservera-t-on les sauvegardes, quel endroit, en combien d'exemplaires ?
A quel endroit sera stock l'historique des sauvegardes ?
Quel est le support le plus appropri ?
Quels sont les besoins, en capacit, du support de sauvegarde ?
Combien de temps prvoit-on pour un fichier, un systme de fichier et est-ce raisonnable ?
La sauvegarde doit-elle tre automatique ou manuelle ?
Quelle est la mthode de sauvegarde la plus approprie ?

Voici quelques autres commandes :

mt : contrle d'une bande magntique


touch : met la date de dernire modification l'heure actuelle, pour forcer une sauvegarde
incrmentale
find : slectionne les fichiers sauvegarder
compress et uncompress : compression et dcompression des fichiers
gzip, gunzip, zcat, compression et dcompression au format GnuZip.

2. Sauvegarde par tar

tar (tape archiveur) est un outil trs puissant pour la manipulation d'archives sous les
systmes Unix et les drivs dont Linux. Il ne compresse pas les fichiers, mais les
concatne au sein d'une seule et mme archive. La majorit des programmes linux
utilisent ce systme d'archivage.
Le commande tar est disponible par dfaut sous Ubuntu. Il fait partie de l'installation
minimale.
Pour tous les formats base de tar, les options de tar sont:
a c : cre l'archive
b x : extrait l'archive
c f : utilise le fichier donn en paramtre
d v : active le mode verbeux (bavard, affiche ce qu'il fait).

61
Support de cours BTS1 GNU/LINUX Essaadi Driss

Puis selon la compression souhaite :

a z : ajoute la compression Gzip.


b j : ajoute la compression Bzip2.
c J : ajoute la compression Lzma.
d
e Syntaxe pour un archivage simple avec tar
tar cvf nom_archive Fichier(s)
exemple : tar cvf archive1.tar /home/*
c: cration d'archive
v : mode bavard 'verbose' : dit ce qui se fait
f : le paramtre suivant est le nom de l'archive

Pour lister le contenu de l'archive :

tar tvf nom_archive


exemple: tar tvf archive1.tar
t : liste le contenu de l'archive

Pour une restauration :

tar xvf nom_archive fichiers


tar xvf archive1.tar
x : extraction de l'ensemble des fichiers de l'archive, ou du ou des fichiers spcifis.

Autres cls et paramtres :

r : les fichiers sont ajouts la fin de l'archive. Ne fonctionne pas avec les bandes et cartouches.
k : spcifie la taille en ko du support d'archivage, pour faire du multi-volumes
l : on sauvegarde les fichiers et pas les liens symboliques (le fichier point est sauv)

Utilisation de tar avec compression du fichier archive


Il est possible d'utiliser tar pour l'archivage et la compression de fichiers. Dans ce cas, il fait appel
d'autres utilitaires comme Bzip2, Gzip, Gunzip. L'archivage se fait alors en deux temps, d'abord la
concatnation des fichiers en un seul puis la compression de tout.

Cration :

tar -zcvf votre_archive.tar.gz votre_dossier/

Extraction :

tar -zxvf votre_archive.tar.gz


Remarques : Bzip2 cre des fichiers beaucoup plus petits que Gzip, mais utilise plus de ressources
processeur surtout pour compresser.

Cration :

tar -jcvf votre_archive.tar.bz2 votre_dossier/

Extraction :
62
Support de cours BTS1 GNU/LINUX Essaadi Driss

tar -jxvf votre_archive.tar.bz2

3. Archivage incrmentale

La taille des archives et leur stockage peut trs vite poser problme. Voici un cas d'utilisation illustrant
l'utilit de cet archivage :

Vous dsirez sauvegarder le rpertoire /home (donnes des utilisateurs) toutes les semaines sur un second
disque dur, tout en gardant les donnes antrieures. Vous avez en tout 50 Go de donnes et le second
disque dur fait 500Go. 10% de ces donnes changent toutes les semaines (5Go). Dans le cas d'une
sauvegarde complte, chaque archive fait 50Go, votre disque serait rempli en deux mois.

Nous remarquons que si 10% de ces donnes changent toutes les semaines, 90% sont identiques et ne
ncessitent pas d'tre sauvegardes chaque fois. Il nous faut donc sauvegarder uniquement les nouvelles
donnes en utilisant la sauvegarde incrmentielle. La premire sauvegarde est complte, la suivante copie
uniquement les nouveaux fichiers et ainsi de suite. Vous gardez ainsi chaque sauvegarde dans l'tat
diffrentes dates.

On commence par faire une premire sauvegarde complete avec tar


tar --create --file=archive.1.tar --listed-incremental=/save/save.list /home
La seconde sauvegarde incrmente avec uniquement les fichiers ayant changs
tar --create --file=archive.2.tar --listed-incremental=/save/save.list /home

La restauration des deux archives :


tar --extract --listed-incremental=/dev/null --file archive.1.tar
tar --extract --listed-incremental=/dev/null --file archive.2.tar

4. Sauvegarde avec cpio :

La commande cpio sauvegarde sur la sortie standard les fichiers dont on saisit les noms sur l'entre
standard, par dfaut le clavier et l'cran. On utilisera donc les redirections. Voici les options :

-v : mode bavard verbose , informations dtailles


-c : sauvegarde des attributs des fichiers sous forme ASCII (pour l'change entre divers OS)
-B : augmente la vitesse d'excution en utilisant une mmoire tampon (5120 octets soit 10 blocs)

Pour une sauvegarde :

cpio -oL
o : output, creation de la sauvegarde en sortie
L : sauve les fichiers lis et pas les liens symboliques

Pour lister le contenu de l'archive :

cpio -it
63
Support de cours BTS1 GNU/LINUX Essaadi Driss

i : lecture de l'archive en entre


t : comme pour tar, liste le contenu de l'archive

Pour une restauration :

cpio -i[umd]
u : restauration inconditionnelle, avec crasement des fichiers qui existent dj. Par dfaut les
fichiers ne sont pas restaurs si ceux prsents sur le disque sont plus rcents ou du mme ge.
m : les fichiers restaurs conservent leur dernire date de modification
d : cpio reconstruit l'arborescence des rpertoires et sous-rpertoires manquants.

Exemples :

Sauvegarde de l'arborescence courante sur une disquette avec compression :


find . print | cpio -ocvB | compress > /dev/fd0
Restauration
cat /dev/fd0 | uncompress | cpio -iuvBd

5. Sauvegarde avec dd :

La commande dd (device to device) est destine la copie physique, bloc bloc, d'un fichier
priphrique vers un fichier priphrique. A l'origine on l'utilisait pour la lecture et l'criture sur
bande magntique, mais elle peut tre employe avec n'importe quel fichier. La commande dd
permet de raliser des copies physiques de disques et de systmes de fichiers.

Argument utilisation
if=fichier fichier dsigne le ficher copier, dfaut l'entre standard.
of=fichier fichier dsigne le rsultat de la copie, dfaut la sortie standard.
valeur dsigne la taille commune du bloc pour les fichiers d'entre et de sortie, par
bs=valeur
dfaut 512 octets.
skip=n nombre de blocs qu'il faut sauter au dbut du fichier d'entre.
seek=n nombre de blocs sauter au dbut du fichier de sortie

64
Support de cours BTS1 GNU/LINUX Essaadi Driss

count=n nombre de blocs copier


Conversion lors de la copie (lcase : minuscule, ucase : majuscule, ascii, abcdic, swab :
conv=...
permutation des octets)

Exemple trs utile:


Ici on va placer le secteur de boot de la partition (ou est install lilo ou grub) dans un fichier. Le
fichier ainsi cr pourra tre utilis avec le chargeur de Windows pour dmarrer sous Linux.

dd if=/dev/hda5 of=boot.lnx bs=512 count=1


Complment : Outils darchivage et de compression
Voici un rsum des outils darchivage et de compression disponible sur le systme Debian :

paquet extension commande commentaire


tar .tar tar(1) archiveur standard (standard de fait)
cpio .cpio cpio(1) archiveur de style UNIX System V, utiliser avec find(1)
binutils .ar ar(1) archiveur pour la cration de bibliothques statiques
fastjar .jar fastjar(1) archiveur pour Java (semblable zip)
nouvel archiveur standard POSIX, compromis
pax .pax pax(1)
entre tar et cpio
gzip .gz gzip(1),zcat(1), utilitaire de compression GNU LZ77 (standard de fait)
utilitaire de transforme par tri de blocs de Burrows-
bzip2(1),bzcat(1),
bzip2 .bz2 Wheeler permettant un taux de compression plus lev

que gzip(1) (plus lent que gzip avec une syntaxe similaire)
utilitaire de compression LZMA avec un plus haut taux de
lzma .lzma lzma(1)
compression que gzip(1) (obsolte)
utilitaire de compression XZ avec un plus haut taux de
xz-utils .xz xz(1),xzdec(1), compression que bzip2(1) (plus lent que gzipmais plus rapide
que bzip2; le remplaant de LZMA utilitaire de compression)
p7zip- archiveur de fichiers 7-Zip avec un haut taux de compression
full
.7z 7z(1),7za(1)
(compression LZMA et autres)
utilitaire de compression LZO avec de plus hautes vitesses de
lzop .lzo lzop(1) compression et de dcompression quegzip(1) (plus faible taux
de compression que gzip avec une syntaxe similaire)
zip .zip zip(1) InfoZIP : outil darchive et de compression DOS
unzip .zip unzip(1) InfoZIP : outil de dsarchivage et de dcompression DOS

CH 10 : Gestion des paquets sous Linux (Ubuntu)

65
Support de cours BTS1 GNU/LINUX Essaadi Driss

Les paquets sont linux ce que sont les .exe Windows. Ils sont extrmement faciles installer dans la
plupart des cas, une fois les liens donns en "Prrequis" ont t suivi. Ils se presentent sous les extensions
.rpm (pour "Red-hat Package Management") sous les distributions Mandrake, RedHat, Fedora Core et
Suse, sous la forme .deb pour Debian, Ubuntu etc... et sous la forme .tgz pour Slackware.
Ils s'installent par la commande :

rpm -ivh programme.rpm

ou

dpkg -i programme.deb

ou

installpkg programme.tgz

Cependant plusieurs problemes peuvent avoir lieu : le paquet que l'on souhaite installer (programme_A)
ncessite l'installation d'un autre programme (programme_B) avant notre programme_A : il faut alors
aller chercher le paquet du programme_B pour l'installer, mais nouveau celui-ci peut ncessiter la
prsence d'un programme_C, et ainsi de suite... C'est ce que l'on appelle les dpendances, et cela peut
devenir tres vite compliqu si programme_A dpend de prog_a, prog_b, prog_c et prog_d et que chacun
d'eux dpend galement d'une dizaine de programmes...

Pour simplifier la vie de l'utilisateur, la plupart des grandes distributions modernes intgrent un systme
de gestion des paquets, qui va avoir pour rle (entre autre) de grer les dpendances la place de
l'utilisateur. Ainsi, l'installation de programme_A se fera par l'appel d'une commande : "installe-moi
programme_A", et l'outil de gestion ira chercher sur des sites internet pralablement dfinis
programme_A, vrifiera si programme_A dpend d'autres paquets, et si c'est le cas, il les tlchargera et
les installera dans le bon ordre : programme_C, puis programme_B qui dpend de C, puis programme_A
qui dpendait de B.
Ces outils de gestion des paquets servent de la facon suivante : une commande "installe-moi-ca:" (
remplacer par urpmi, apt-get, yum, ...) et le nom du paquet que l'on souhaite :

Debian et apt-get
Les diffrentes options d'apt-get sont encore une fois dcrites dans la page de manuel :

man apt-get

Les sources pour apt-get sont dfinies dans le fichier /etc/apt/sources.list .

Avant dinstaller un paquet il faut sassurer que les sources Internet ou on va chercher le paquet sont bien
jour.Pour cela on doit commencer par une mise jour des sources avant chaque installation avec la
commande :

66
Support de cours BTS1 GNU/LINUX Essaadi Driss

sudo apt-get update

Ensuite on installe le paquet en question par la commande :

sudo apt-get install paquet

Bien sur ces differentes commandes doivent tre executes en mode super utilisateur donc sous Debian
Ubuntu utiliser sudo

Exemple :

Pour installer un editeur de texte en mode texte emacs :

sudo apt-get update

sudo apt-get install emacs

On peut galement faire une mise jour du systme grce :

sudo apt-get dist-upgrade

La dsinstallation de "paquet" se fait grce :

sudo apt-get remove paquet

apt-get tlcharge les paquets .deb avant de les installer, aussi de temps en temps est il utile de nettoyer
cette base de donne temporaire :

sudo apt-get clean

Autres outils Debian


Il existe d'autres outils Debian permettant la gestion de paquets. On peut citer principalement synaptic,
dselect et aptitude

67
Support de cours BTS1 GNU/LINUX Essaadi Driss

pour les installer, rien de plus facile dsormais ! :

sudo apt-get install synaptic dselect aptitude

aptitude, trs pratique, fonctionne dans un terminal avec des menus accessibles la souris. Il permet de
faire des recherches sur une partie du nom du paquet, de voir pour chaque paquet ceux dont il dpend,
ceux qui dpendent de lui, les paquets qui sont utiliss en association avec lui.

Voir en TP linstallation de la nouvelle commande de gestion des paquets alien .

Cette commande ou programme alien est utiliser pour "transformer" un paquet .rpm en .deb, ou le
contraire... il peut grer les paquets rpm, deb, slp, tgz et pkg (pour Solaris).

Pour linstaller

sudo apt-get install alien

Pour lutiliser

sudo alien --to-deb paquet.rpm

Crera le fichier paquet.deb que vous pourrez installer par

sudo dpkg -i paquet.deb

68
Support de cours BTS1 GNU/LINUX Essaadi Driss

CH11 .SERVEUR DIMPRESSION CUPS et GESTION DES IMPRIMANTES

3. Serveur CUPS

Le systme principal d'impression sous Ubuntu est le Common UNIX Printing System (CUPS). Ce
systme d'impression, qui est librement disponible et portable, est devenu le nouveau standard pour
imprimer dans la plupart des distributions Linux. CUPS organise les tches d'impression, les met en file
d'attente, et rend possible l'impression en rseau en utilisant le standard d'impression Internet Printing
Protocol (IPP). Il offre un large support pour un trs grand nombre d'imprimantes, allant des imprimantes
matricielles aux imprimantes laser, en passant par de nombreux autres types. CUPS offre galement le
support PostScript Printer Description (PPD - description d'imprimante PostScript) et l'auto-dtection des
imprimantes rseaux, sans oublier une interface de configuration web simple et des outils
d'administration.

nstallation :

sudo apt-get install cupsys cupsys-client


Aprs installation on accede au CUPS pour ajouter une imprimante ou une classes dimprimantes via la
page web local du CUPS
4. Impression et gestion du spooler
Sous Linux, laccs aux imprimantes ne se fait quau travers dun spooler dimprimante. Un spooler est
un gestionnaire de file dattente, ou queue , dans laquelle sont placs les travaux dimpression. A
chaque imprimante est associe une file dattente. Linux envoie ces travaux limprimante concerne
dans lordre darrive. Cette faon de faire permet de rsoudre les conflits daccs au cas o plusieurs
utilisateurs tentent daccder la mme imprimante au mme moment. Le processus dimpression
proprement dit seffectue en arrire-plan, ce qui permet lutilisateur de reprendre la main
immdiatement, sans avoir attendre la fin de son impression. Nous nentrerons pas dans les dtails de la
cration dune file dattente (ceci est du ressort de ladministrateur), mais nous prsenterons les
commandes permettant lutilisateur de manipuler une file dattente dimpression : envoyer un ou
plusieurs travaux (lpr), consulter ltat de la file dattente (lpq), supprimer un ou plusieurs travaux de la
file dattente (lprm). Un travail dimpression peut tre un fichier ou la sortie standard dune commande.

Imprimante par dfaut

La commande lpr permet denvoyer un travail dimpression dans une file dattente. Utilise sans aucune
option, lpr utilise limprimante par dfaut :

$ lpr file1
$ ls l /etc | lpr
$ lpr file1 file2 file3

69
Support de cours BTS1 GNU/LINUX Essaadi Driss

Choix de limprimante

Il est possible que plusieurs imprimantes soient connectes au systme. Dans ce cas, il est ncessaire de
dsigner limprimante de destination par loption PNom o Nom spcifie le nom de limprimante.

$ lpr Pbigbrother file1 file2

Cette commande envoie file1 et file2 limprimante nomme bigbro ther. Le nom des imprimantes est
dtermin par ladministrateur du systme. La variable denvironnement PRINTER, si elle existe, est
utilise par lpr, lpq et lprm pour dsigner limprimante destination.

5. Interfaces graphiques de CUPS


CUPS dispose d'interfaces graphiques que vous devrez utiliser lors de l'installation de votre imprimante.
Parmi ces interfaces se trouve:

l'interface propre votre environnement de bureau (GNOME, KDE etc.). Sur GNOME par
exemple, on y accde par la cascade de menus "Systme Administration Impression".

L'interface WEB de CUPS accessible sur tous les environnements par l'URL
http://localhost:631/admin. L'avantage de cette interface est d'tre disponible sur tous systmes.
Nanmoins, la richesse des possibilits offertes dpasse souvent trs largement le besoin de
l'utilisateur particulier.

Les commandes en ligne traditionnelles des diffrents systmes (system V et Berckley) permettant
d'interagir avec les imprimantes :

lp : permet d'imprimer un (ou des) fichier(s).

lpr : permet d'imprimer un (ou des) fichier(s).

lpq : permet d'afficher la file d'attente d'une imprimante.

lprm : permet de supprimer des jobs de la file d'attente (voir aussi la commande cancel).

lpstat : permet d'afficher des informations dtailles sur le serveur d'impression. Par exemple,
pour voir l'imprimante par dfaut : lpstat -d.

lpoptions : permet d'afficher ou de modifier la configuration du serveur d'impression. Par


exemple, pour changer l'imprimante par dfaut : lpoptions -d autreimprimante. [commande CUPS
seulement]

70
Support de cours BTS1 GNU/LINUX Essaadi Driss

lpmove : permet de dplacer un job (une impression) de la file d'attente d'une imprimante une
autre imprimante.

lpc : permet de contrler interactivement les imprimantes.

+ Une sance de TP rserver lajout dune imprimante, limpression en Postscript et en PDF via
linterface web du Cups et lutilisation des commandes traditionnelles.

CH 12 . Planification des taches sous GNU/Linux

71
Support de cours BTS1 GNU/LINUX Essaadi Driss

1- Crontab

Nous savons crire des scripts. Mais il se peut qu'on ait besoin d'excuter un programme, un script ou une
simple commande de manire priodique ou une date fixe. Il existe bien videmment un tel planificateur
de tches sous GNU/Linux. Ce programme est Cron ou Crond.

Le dmon cron excute des commandes pour un utilisateur, selon des critres temporels : date et heure

La commande crontab peut tre utilise pour afficher le contenu du fichier de configuration de
l'utilisateur qui l'appelle, l'aide de l'option -l :

crontab -l
Elle permet galement de supprimer ce fichier, l'aide de l'option -r :

crontab -r
Enfin, l'option -e permet d'diter le fichier crontab, l'aide de l'diteur spcifi dans la variable
d'environnement VISUAL ou EDITOR. Par dfaut, l'diteur vi sera utilis.

crontab e

Loption d supprime les rgles de l'utilisateur

crontab d

Avec loption u on precise lutilisateur. Par dfaut c'est l'utilisateur courant qui sera utilis.

crontab u Nom_utilisateur

En tant qu'administrateur du systme, il est possible de modifier les paramtres pour n'importe quel
utilisateur. Pour cela, il faut prciser le login de l'utilisateur avec l'option -u. Il est recommand d'utiliser
galement l'option -u si l'on a effectu un su, car la commande crontab peut ne pas pouvoir dterminer
l'utilisateur qui l'a appel dans ce cas.

Regardons maintenant la syntaxe des rgles. C'est la fois trs simple et extrmement puissant. Les rgles
s'crivent sur une seule ligne forme de 6 colonnes.

Jour de
Heu Jou Moi la Command
Minute
re r s semain e
e

Les 5 champs de la partie dcrivant la date d'excution de la commande fournissent respectivement les
informations suivantes :

72
Support de cours BTS1 GNU/LINUX Essaadi Driss

les minutes (comprises entre 0 et 59) ;

les heures (comprises entre 0 et 23) ;

le jour dans le mois (compris entre 0 et 31) ;

le mois (compris entre 0 et 12, ou indiqu par les trois premires lettres du nom du mois en
anglais) ;

le jour dans la semaine (compris entre 0 et 7, ou indiqu par les trois premires lettres du nom du
jour en anglais).

Les numros de mois 0 et 12 correspondent Janvier, et les numros de jours 0 et 7 correspondent au


Dimanche.
Le fichier /etc/crontab du systme permet de programmer des oprations priodiques, comme les
sauvegardes, la destruction des fichiers temporaires, ou toute autre tche de maintenance. Ne vous
tonnez donc pas si votre ordinateur semble s'activer tout seul rgulirement, heure fixe (par exemple,
sur le coup de 11 heures ou minuit). C'est le fonctionnement normal de votre systme, qui s'occupe de
toutes les tches mnagres qu'il s'est rserv pour une heure o normalement tout le monde dort...

Les utilisateurs peuvent galement dfinir leur propre crontab pour effectuer les oprations priodiques
qu'ils dsirent. Par exemple, ils peuvent programmer une commande qui leur rappellera un rendez-vous.

Voici quelques exemples :

#MIN HEURE JOUR MOIS JDS COMMANDE


#pour excuter date toutes les minutes
* * * * * date>>date.txt
#pour excuter date toutes les 2 heures (pile)
0 */2 * * * date>>date.txt
#pour excuter date toutes les 10 minutes de 23heure 7heure du matin
*/10 23-7 * * * date>>date.txt
#pour excuter date 10heure pile et 14heure pile
0 10,14 * * * date>>date.txt
#pour excuter date tous les premiers du mois minuit
0 0 1 * * date>>date.txt

2- La commande at

La commande at excute une commande une date et une heure donnes. La commande est lue depuis
l'entre standard. Si celle-ci est stocke dans un fichier, il faudra rediriger celui-ci vers la commande.

$ at heure [date] < fichier_commandes

Exemples :

Excution de fic_commandes 15 heures

at 1500 < fic_commandes


73
Support de cours BTS1 GNU/LINUX Essaadi Driss

Excution minuit

at midnight < fic_commandes :

Excution dans trois heures

at now + 3 hours < fic_commandes

La liste des travaux est visible avec at -l. La liste apparat sous forme de fichiers xxxxxxxx.a

On supprimer un travail avec at -r xxxxxxxx.a

3- La commande batch

La commande batch fonctionne comme at mais on ne prcise pas d'heure ni de date. La travail est plac
dans un file d'attente (FIFO) et est excute quand c'est son tour.

batch < fic_commandes

TP realiser avec les etudiants ;

Programmer une sauvgarde de donnes avec Crontab :

Tout les jour 12h15 et 18h15 du repertoire /home/donnees

La suite sur les supports ci-joint CH 13 CH 14 CH 15

Script shell sur le fichier script_shell.pdf . Utiliser la prsentation PPT shell script .

Lamorage du systme Les modules du noyau sur le fichier Manuel linux 2.pdf

Linterface graphique X11 sur le fichier Manuel linux 1.pdf

74
Support de cours BTS1 GNU/LINUX Essaadi Driss

75
Support de cours BTS1 GNU/LINUX Essaadi Driss

CH 18 . PRINCIPES FONDAMENTAUX D'UN RSEAU (Linux)


Utiliser diapo reseaux intro.ppt
1. LE PROTOCOLE TCP/IP
Le principe fondamental de l'Internet a t de crer un mode de transmission par paquet remplaant les modes en
continu utiliss jusquel pour la transmission de donnes. Chaque fichier transmit sur Internet est segment en
paquets de donnes autonomes pouvant tre transmis indpendamment les uns des autres. Pour que cela fonctionne,
chaque paquet de donnes doit contenir des informations de pilotage telles que l'adresse de l'ordinateur metteur et
l'adresse de l'ordinateur rcepteur.
Le protocole de communication permettant de transmettre des donnes sur Internet est le protocole TCP/IP. TCP/IP
n'est en fait pas un mais deux protocoles, l'un tant superpos sur l'autre.
Le protocole de premier niveau, IP (Internet Protocol) s'occupe du routage des informations entre l'expditeur et le
destinataire : il accomplit sa tche en divisant les informations en paquets (de 1 500 octets) et leur adjoint une
adresse de provenance et de destination (exactement comme une enveloppe envoye par la poste).
TCP (Transport Control Protocol) s'appuie sur IP pour grer le transfert des donnes entre l'expditeur et le
destinataire. TCP fournit galement les mcanismes permettant d'tablir les connections, de vrifier l'arrive dans le
bon ordre des donnes, de grer des donnes perdues, les erreurs et de rcuprer des donnes concernes.
Lors de la transmission de donnes sous forme de paquet, IP ne vrifiant en aucune manire que le paquet est bien
arrive, TCP exige que le destinataire envoi un accus de rception ou ACK (Acknowledged). De ce fait, l'hte
expditeur peut se trouver devant trois situations diffrentes :
lorsque le destinataire reoit un paquet, et si celuici est le paquet attendu, il rpond par le message ACK ;
si la somme de contrle indique une erreur ou si le numro d'ordre est incorrect, le destinataire envoie un
message NAK (Not Acknowledged) ;
si le destinataire ne rpond rien, TCP dcide que soit le paquet, soit la rponse s'est perdu et renvoie de ce
76
Support de cours BTS1 GNU/LINUX Essaadi Driss

fait le paquet concern.


A noter quoutre les donnes, TCP envoie galement des informations lors de l'tablissement de la connexion
et lors de son interruption.
Prcisons galement que TCP n'est pas le seul protocole utilisant IP : TCP/IP comprend galement UDP
(Unigram Data Protocol). Il s'agit d'un protocole sans connexion et sans garantie utilis pour des transmissions
de faible importance (comme la vido ou le son sur Internet).
2. LE MODLE RSEAU TCP/IP

TCP/IP ne constitue que deux couches dans un ensemble de protocoles allant de la base (matriel) vers le sommet
(application). Le modle rseau TCP/IP ressemble au modle rseau ISO/OSI 7 couches (couche physique,
couche liaison, couche rseau, couche transport, couche session, couche prsentation et couche application).
TCP/IP est une hirarchie rseau quatre niveaux superposs au matriel :

4 Protocoles d'application
SMTP (Sendmail), HTTP (Apache), telnet,
ftp, rlogin, DNS, etc..
3 Protocoles de transport TCP, UDP, ICMP
2 Protocoles de rseau (Internet) IP
Ethernet, ISDN, SLIP, PPP, etc..
Protocoles d'accs au rseau (liaison de
1 Cbles, lignes tlphoniques, etc..
donnes) Matriel

77
Support de cours BTS1 GNU/LINUX Essaadi Driss

Exemple :
Dans une communication typique entre un serveur web et un client, les diffrentes couches ressembleraient cela :

Du cot serveur, reli un rseau Ethernet :

niveau 4 : HTTP (Apache)


niveau 3 : TCP
niveau 2 : IP
niveau 1 : Ethernet
Du cot du client, connect Internet par modem :
niveau 4 : HTTP (Navigateur)
niveau 3 : TCP
niveau 2 : IP
niveau 1 : PPP (PointToPoint Protocol) imbriqu sur la connexion srie afin de franchir l'tape entre IP et
le matriel)

3. ADRESSES IP ET CLASSES DE RSEAUX

3.1. Le futur IPv6

Selon la norme IPv4, une adresse est code sur 32 bits (soient 4 octets), ce qui permettrait thoriquement d'attribuer 232
adresses. Du fait de la rpartition en rseaux de classe A,B et C, le nombre d'adresses possibles est largement infrieur au
nombre thorique et il existe aujourd'hui un risque de pnurie d'adresse IP.
La norme IPv6 consiste utiliser 128 bits pour coder les adresses (soient 16 octets). Cette norme a t adopte en
1995 aprs quatre annes de discussions dans diffrentes assembles et groupes de travail.
La compatibilit avec la norme IPv4 a t prserv afin de permettre une phase de transition suffisante pour le
passage de IPv4 vers IPv6. A noter que les versions rcentes de Linux prennent dj en compte la norme IPv6.

3.2. Classes de rseaux


Pour que l'acheminement des donnes fonctionne sur un rseau TCP/IP (Intranet ou Internet), chaque ordinateur doit
possder une adresse IP unique. Si en plus, l'ordinateur doit communiquer sur Internet, son adresse IP doit
galement tre unique. L'ensemble des adresses IP est divis en rgions, l'intrieur desquelles coexistent plusieurs
classes de rseaux. Internet considre que les adresses IP l'intrieur d'une classe de rseau font partie du mme
rseau : Internet n'attend qu'un point d'entre, ce que nous appelons une passerelle, pour pouvoir router des paquets
aux htes de ce rseau.
L'espace adresse IP est rparti entre des rgions de rseaux de classe A, B et C :
les rseaux de classe A, en nombre trs limit, possdent une adresse dont le premier nombre est compris
entre 1 et 126. Seul ce premier nombre est fixe. Un rseau de classe A peut possder 16 777 214 htes
les rseaux de classe B, possdent une adresse dont le premier nombre est compris entre 128 et 191. Les
deux premiers nombres sont fixes. Il peut ainsi exister 16 382 rseaux de classe B possdant chacun
jusqu' 65 534 htes ;
les rseaux de classe C, possdent une adresse dont le premier nombre est compris entre 192 et 223. Les
trois premiers nombres sont fixes. Il peut ainsi exister plus de 2 millions de rseaux de classe C possdant
chacun un maximum de 254 htes.

78
Support de cours BTS1 GNU/LINUX Essaadi Driss

3.3. Masque de rseau et routage

Un masque de rseau est un nombre logiquement ajout ( l'aide de l'oprateur boolen AND) une adresse IP afin
d'obtenir l'adresse rseau.

Exemple :

Adresse IP 198 4 2 11 127


Masque de rseau de classe C
255 255 255 0

Adresse de rseau 198 4 211 0

Le masque de rseau dfinit les adresses d'une plage adresse IP considrs comme tant directement connects, c'est
dire appartenant au mme segment de rseau. Des adresses diffrentes obtenues par addition avec le masque de
rseau sont considres comme appartenant un rseau externe, et doivent utiliser les passerelles et les routeurs
pour communiquer.

Exemple : considrons les 3 htes suivants :


hte 1 d'adresse 192.168.1.1,
hte 2 d'adresse 192.168.1.2
et hte 3 d'adresse 192.168.2.1
En dfinissant un masque de rseau de 255.255.255.0 pour tous les htes, les htes 1 et 2 sont considrs comme
appartenant au mme rseau : si l'hte 1 envoie un paquet l'hte 2, TCP/IP tentera de l'envoyer directement. En
revanche, l'hte 1 ne peut envoyer de donnes directement l'hte 3 car le masque considre que 192.168.1 et
192.168 .2 sont deux rseaux diffrents : il enverra donc le paquet vers une passerelle. Il en rsulte que tout hte
possde l'adresse IP d'au moins une passerelle afin de pouvoir expdier les paquets qu'il ne peut transmettre
luimme.
Quel est l'intrt de ce systme ?
En divisant l'espace adresse en rseaux logiques, trouver un hte particulier devient une tche facile. Pas besoin de
connatre tous les htes de l'Internet car il suffit de disposer d'une liste de passerelles et de slectionner celle
constituant l'tape logique suivant la route. La passerelle suit la mme procdure l'aide de sa propre liste de
passerelles et ainsi de suite, jusqu' ce que le paquet atteigne la passerelle finale et sa destination.
3.4. Adresses IP particulires
Certaines adresses sont rserves un usage personnel. Elles ne sont pas routes sur l'Internet et ne peuvent pas
gnrer de problmes quand vous les rutilisez. Leurs intervalles sont :

Classe Masque de rseau Adresses rseau


A 255.0.0.0 10.0.0.0
B 255.255.0.0 172.16.0.0 172.31.0.0
C 255.255.255.0 192.168.0.0 192.168.255.0
Quelle adresse choisir pour configurer un rseau local ? Cela n'a pas vraiment d'importance mais il est recommand
d'utiliser pour un mme rseau, des nombres conscutifs.
Par exemple, si vous avez deux ordinateurs connects via Ethernet et vous avez besoin maintenant de deux adresses
assigner aux deux cartes rseau, vous pouvez utiliser simplement 192.168.0.1 et 192.168.0.2
A noter galement que l'adresse 127 de rseau de classe A est universellement rserve la boucle locale du rseau,
ce qui permet de tester les fonctionnalits de l'interface rseau de son propre ordinateur (c'est pour cela que l'on
retrouve systmatiquement la ligne 127 . 0 . 0 . 1 localhost dans le fichier /etc/hosts).

79
BTS SRI Chichaoua s51/s52

3.5. Le concept des ports


Lorsqu'un client contacte un serveur, c'est le plus souvent en vue d'utiliser un service prcis, courrier lectronique ou
FTP par exemple. Afin de diffrencier ces services, TCP dispose du concept de port qui permet mme interface rseau
de fournir plusieurs services diffrents.
Le port standard pour le protocole HTTP correspond au port 80. Tout service ou protocole rseau standard possde un
port associ auquel se connectent les clients pour y accder : qu'il s'agisse d'HTTP, de FTP, de telnet ou de tout autre
standard. La liste des ports standards est dfini dans le fichier /etc/services. Voici ciaprs une liste provenant du
fichier /etc/services : Les ports http (80) et https (443) sont les plus rpandus. Il est possible de prciser
un port particulier dans l'URL d'un navigateur : il suffit de placer " :" ainsi que le numro de port aprs l'adresse web.
Exemple : http://localhost:10000 pour accder WebMin.

inetd (Internet Daemon) est le service charg d'couter les diffrents port. Lorsque inetd reoit une requte sur un port
dont il a la charge d'couter, il excute le service associ (contrairement Apache qui s'excute indpendamment).

4. NOMS LOGIQUES ET DNS

4.1. Adresses IP et noms logiques d'ordinateurs

Etant donn qu'il est difficile de mmoriser les adresses IP des diffrents ordinateurs au sein d'un rseau, il est fort pratique
d'associer chaque adresse IP un nom logique. La dfinition des correspondances entre les noms des machines et les
adresses IP se trouve dans le fichier /etc/hosts.
Ce fichier doit tre prsent sur toutes les machines du rseau. Si un ordinateur est ajout ou retir du rseau, le fichier
/etc/hosts doit tre modifi en consquence sur toutes les machines du rseau. Ce type d'administration n'est donc
possible que si le rseau ne dpasse pas une certaine taille.

4.2. DNS Domain Name Service

La mthode de mise en correspondance des noms d'ordinateurs et des adresses IP dcrite prcdemment a t la seule
mthode employe sur l'Internet jusqu'en 1984. Jusqu' cette date, toutes les adresses et noms d'ordinateurs taient
centraliss et grs aux EtatsUnis par le NIC (Network Information Centre) sous la forme d'un fichier hosts.txt.
Face l'accroissement rapide de l'Internet, cette mthode s'est avre rapidement impraticable, d'o l'introduction
d'un nouveau mode d'adressage des ordinateurs : le DNS (Domain Name Service).

Organisation et structure de DNS :

Le DNS organise les noms d'ordinateurs selon une hirarchie de domaines semblable celle du systme de fichier Linux.
Partant d'une racine commune (domain racine), le service se stratifie en plusieurs couches depuis la couche
suprieur contenant les domaines principaux, vers les couches infrieures divises en sousdomaines.

Par domaine, on entend une collection d'ordinateurs regroups selon des critres gographiques ou organisationnels. Ce
type de structure permet de satisfaire facilement la contrainte d'unicit des noms d'ordinateurs. On obtient le nom complet
d'un ordinateur en commenant par le nom de la machine dans le cadre de son sousdomaine particulier et en suivant le
chemin qui remonte vers le niveau suprieur de la hirarchie (TLD ou Top Level Domain) ; le symbole de sparation
entre les diffrents niveaux tant le point.

L'administration des noms de domaine gnriques est effectue par le NIC (http://www.internic.net). L'administration
des noms de domaines gographiques a t transfre aux diffrents pays. En principe, le nombre de sousdomaines placs
en dessous de la couche des domaines de second niveau n'est pas limit.

Fonctionnement du DNS :

Avec cette structure, on obtient une gestion dcentralise et dlocalise des domaines. Chaque serveur de nom local gre
les donnes pertinentes de tous les ordinateurs relevant de son domaine de comptence et est en mesure de rpondre
aux demandes en provenance de l'Internet concernant son domaine.
80
BTS SRI Chichaoua s51/s52
Le DNS constitue une banque de donnes mondiale constitu d'un grand nombre de serveurs de noms de domaines. Un
serveur de nom de domaine stocke les informations ncessaires relatives tous les ordinateurs prsents dans son domaine de
comptence. Cette zone peut comprendre un ou plusieurs domaines. Dans chaque zone, deux serveurs de noms au
moins doivent exister pour des raisons de fiabilit (informations accessibles par des voies redondantes).

Rappelons que l'adressage de chaque machine de l'Internet s'effectue exclusivement par l'intermdiaire de l'adresse IP.
Lorsqu'une application (Firefox par exemple) veut prendre contact avec un ordinateur dont seul le nom DNS est connu,
il est ncessaire de convertir au pralable le nom DNS en une adresse IP. Pour cela une requte est envoy au
serveurs de noms figurant dans le fichier de configuration. Concernant le fichier de configuration de rsolution de
noms de domaine, il existe deux stratgies diffrentes :
la premire possibilit consiste adresser une requte directement un serveur dont la comptence s'exerce sur
les domaines principaux ;
la seconde possibilit consiste adresser la requte un serveur de nom local qui son tour, s'il ne peut satisfaire
luimme la requte, adresse celleci un autre serveur de nom, etc.. la requte migre ainsi de la base vers le
sommet.
5. OUTILS RSEAUX

Linux contient de nombreux de nombreux utilitaires permettant de faciliter l'administration d'un rseau.

ifconfig : utilitaire standard UNIX permettant d'obtenir des informations sur la configuration de l'interface rseau
(carte Ethernet par exemple) : $ ifconfig a
Servezvous de man if con fig pour connatre les options.

netstat : utilitaire de surveillance d'un rseau sous les systmes UNIX.

ping : l'outil le plus simple et le plus pratique des outils rseaux. ping permet de vrifier si un nom d'hte distant ou une
adresse IP est accessible.

traceroute : utilitaire trs utile pour diagnostiquer des problmes rseaux, en particulier si la commande ping ne russit
pas atteindre le serveur distant. Il existe des traceroute graphiques permettant de visualiser le chemin parcouru par
les donnes entre un client et un serveur.

6. CONFIGURATION D'UN RSEAU LOCAL SOUS LINUX

Interface rseau : l'interface rseau est reprsente physiquement par votre carte rseau mais le terme interface rseau
est aussi utilis pour dsigner un nom logiciel auquel assigner une adresse IP (eth0 par exemple). Une adresse IP est
toujours assigne une interface rseau, jamais un ordinateur. La commande ifconfig sert afficher la configuration
des diffrentes interfaces rseau actives.

Adresses IP : Adresses IP particulires utiliser pour votre rseau.

Fichiers de configuration :

/etc/hosts : ce fichier spcifie comment rsoudre les noms des machines du rseau local (inutile de mettre en oeuvre un
serveur DNS pour un petit rseau local). La syntaxe des lignes de ce fichier est :

Adresse IP Nom de l'hte Alias


Ex : 127.0.0.1 localhost
192.168.0.1 sirius .mondomainesirius

/etc/resolv.conf : ce fichier spcifie o rsoudre ce qui ne se trouve pas dans /etc/hosts. C'est dans ce fichier que
vous devez spcifier les adresses IP des serveurs DNS utiliss pour accder Internet en suivant la syntaxe suivante :
nameserver 212.102.31.1
81
BTS SRI Chichaoua s51/s52
/etc/HOSTNAME (ou /etc/sysconfig/network sur certaines distributions) : ce fichier configure le nom de la
machine locale. Au dmarrage du systme, ce fichier est lu et son contenu est envoy la commande hostname. Vous
pouvez utiliser la commande hostname pour changer le nom du serveur.

Exemple : hostname sirius.mondomaine

Autres fichiers de configuration du rseau : /etc/hosts.allow , /etc/hosts.deny et


/etc/hosts.equiv.

NB : Linstallation dun serveur Web Apache est laisse pour le debut de la 2eme anne.

82