Académique Documents
Professionnel Documents
Culture Documents
Administrer un système
(Debian)
1 - Sommaire
1 - Sommaire........................................................................................................................1
2 - Introduction..................................................................................................................... 2
3 - Gestion des unités de stockage......................................................................................3
A - Organisation des fichiers.........................................................................................................3
B - Disques....................................................................................................................................4
C - Partitions..................................................................................................................................4
D - Systèmes de fichiers...............................................................................................................6
a - Formatage......................................................................................................................................... 6
b - Montage / Démontage....................................................................................................................... 7
c - Analyse, gestion................................................................................................................................ 8
E - Quotas.....................................................................................................................................9
4 - Gestion des fichiers.......................................................................................................10
A - Permissions...........................................................................................................................10
a - Propriétaire...................................................................................................................................... 10
b - Droits............................................................................................................................................... 11
c - Permissions avancées (acl)............................................................................................................. 12
B - Liens......................................................................................................................................13
a - Liens................................................................................................................................................ 13
b - Liens symboliques........................................................................................................................... 13
C - Recherche d'un fichier...........................................................................................................14
a - updatedb et locate........................................................................................................................... 14
b - « find » et ses options...................................................................................................................... 14
5 - Gestion avancée des processus...................................................................................15
6 - Gestion des paquets logiciels........................................................................................16
7 - Documentation.............................................................................................................. 17
A - Manuel utilisateur...................................................................................................................17
B - Aide en ligne..........................................................................................................................17
C - Principaux sites.....................................................................................................................18
D - Chercher l'information sur le web..........................................................................................18
2 - Introduction
$ commande
# commande
Les sujets abordés ici ne le sont pas de manière exhaustive, l'intérêt de ce support
étant de rappeler les manipulations permettant de réaliser les ateliers pratiques de
la formation.
Les fichiers sont rangés sur Debian d'une manière bien précise qui correspond
approximativement à la norme « File Hierarchy Standard » (FHS). La principale dérive
vient des données relatives aux services stockées dans /var au lieu de /srv comme
recommandé par la norme. Voici les principaux répertoires que l'on va retrouver :
Répertoire Signification Détails
/ root racine du système
/bin binaries exécutables essentiels de base du système (cat, ls, cd..)
/boot boot informations liées au démarrage
/dev devices fichiers de périphériques, maintenus par le système
/etc etc. fichiers de configuration du système
/etc/init.d - fichiers de configuration du démarrage des services
/home home répertoires utilisateurs
directory
/lib libraries librairies du système
/sbin system exécutables destinés à la maintenance en super-utilisateur.
binaries
/usr user données partagées et statiques, ordonnées
/usr/bin user binaries exécutables destinés aux utilisateurs
/usr/lib user libraries librairies pour les programmes utilisateurs
/usr/sbin system exécutables pour le super-utilisateur non vitaux
binaries
/usr/local local hierarchy répertoire de base pour les logiciels installés en dehors du
gestionnaire de paquets du système.
/usr/share shareable informations partagés non spécifiques à la plateforme, on y
trouve notamment /usr/share/doc où sont stockées toutes
les documentations liées aux paquets installés sur le
système.
/var variable données variables du système
/var/www www racine du serveur Web
/var/lib library information à état variable exemple : /var/lib/mysql
/var/log logs journaux du système
/proc processes informations sur les processus et le noyau, système virtuel
maintenu par linux.
B - Disques
Les disques durs sont stockés dans le répertoire /dev en tant que périphériques dits « de
blocs ». Ils sont classés d'abord par type de bus :
– des disques SCSI / SATA / SAS (bus série) : /dev/sd*
– des disques IDE : /dev/hd*
– des disques virtuels : /dev/vd*
Les disques sont ensuite identifiés par une lettre qui indique leur position matérielle : le
premier disque SATA sera sur /dev/sda, le second sur /dev/sdb etc..
C - Partitions
Chaque disque physique peut avoir 4 partitions primaires, et chacune peut être définie en
tant que partition étendue de manière à recevoir des partitions logiques. Les partitions
sont nommées sur linux en fonction du disque où elles se trouvent, suivi de leur numéro (1
– 4) pour les partitions primaires, au-delà pour les partitions logiques.
Exemple :
– Première partition du premier disque SATA : /dev/sda1
– 3ème partition du 2ème disque IDE : /dev/hdb3
– …
Une partition a un type, et une identification d'amorçage. Le type permet de définir le type
de système que l'on stockera sur la partition. L'amorce permet d'indiquer au système que
la partition peut être utilisée pour démarrer.
Les types suivant sont communs : swap (pour le fichier d'échange) : 82, système de
fichiers pour linux : 83, LVM (gestionnaire de volumes pour linux) : 8E, RAID Linux
logiciel : FD..
Pour partitionner un disque, on peut utiliser un programme tel que cfdisk, mais attention :
on ne peut pas modifier la table de partition si les systèmes de fichiers correspondants
sont montés !
Voici ce à quoi ressemble l'interface de cfdisk, que l'on obtient en exécutant par exemple :
# cfdisk /dev/sda
Le cadre du haut contient la liste des partitions pour le disque en cours d'édition. Celui du
bas est le menu et liste les fonctions disponibles. Une aide est fournie en dessous de
celui-ci. Le déplacement entre les fonctions se fait à l'aide des touches directionnelles.
L'élément en surbrillance dans le menu correspond à la fonction activée, pour l'exécuter, il
suffit de faire « entrée ». Par défaut, cela active ou désactive l'amorce pour la partition.
Note : il est également possible de se référer à une partition en utilisant son identifiant
unique généré par le système : l'UUID. Cet identifiant à l'avantage d'être unique « à
l'échelle du globe », mais surtout de ne pas dépendre de la position physique de la
partition : cela peut être utile dans le cas d'un support amovible, ou dans le cas d'une
évolution de la position des disques durs dans un serveur. On peut obtenir notamment la
liste des partitions par UUID en affichant le contenu du répertoire /dev/disk/by-uuid/.
# ls -l /dev/disk/by-uuid/
D - Systèmes de fichiers
a - Formatage
Pour formater un disque sur Linux, on utilise la commande mkfs. Celle-ci se décline selon
le système de fichiers que l'on choisit (par défaut : ext3 ou ext4 en général.
Voici une liste de quelques systèmes de fichiers courants avec la commande associée :
Nom Commande associée Remarques
ext3 mkfs.ext3 système par défaut sur linux
ext4 mkfs.ext4 nouvelle version du système de fichiers de linux
reiserfs mkfs.reiserfs rapide pour des petits fichiers
xfs mkfs.xfs utilisé notamment sur des grandes partitions
NTFS mkfs.ntfs système de fichiers Windows (depuis XP)
FAT32 mkfs.vfat système de fichiers Windows obsolète, mais compatible
# mkfs /dev/vda2
b - Montage / Démontage
Pour utiliser un système de fichiers, on doit d'abord le « monter » dans un répertoire du
système. Le répertoire de destination doit exister avant d'effectuer cette opération.
La forme générale de la commande pour monter un système de fichiers est :
Lorsque l'on a terminé de travailler sur la partition, on peut alors « démonter » le système
de fichiers à l'aide de la commande « umount ». Cette commande prend en argument soit
un nom de partition, soit un répertoire où un système de fichiers est monté.
Exemple :
# umount /mnt
Les informations sur les systèmes de fichiers montés au démarrage sont contenues dans
/etc/fstab. Celles portant sur les systèmes actuellement montés sont stockées dans
/etc/mtab et peuvent être affichées notamment en tapant la commande « mount » sans
argument.
Exemples :
– Afficher les systèmes montés au démarrage du système :
# cat /etc/fstab
# mount
La colonne « vérification » définit l'ordre dans lequel les systèmes de fichiers seront
vérifiés. On met généralement 1 pour la racine, et un nombre plus grand pour les suivants.
La valeur 0 indique que l'on peut se passer de vérifier l'état de la partition.
c - Analyse, gestion
Si l'on souhaite vérifier l'état d'un système de fichier sur linux, ou bien le réparer dans le
cas d'une défaillance, on utilise la commande fsck.
Exemple :
# fsck /dev/vda2
# df -H
# df -h
# du -sh /var/*
7,6M /var/backups
735M /var/cache
4,0K /var/crash
4,0K /var/games
252M /var/lib
4,0K /var/local
0 /var/lock
6,7M /var/log
4,0K /var/mail
4,0K /var/opt
124K /var/run
908K /var/spool
4,0K /var/tmp
E - Quotas
On peut limiter l'utilisation du disque d'un utilisateur par deux moyens : par blocs, et par
inodes, soit par taille, ou par nombre de fichiers créés. Pour pouvoir utiliser les quotas il
faut activer l'option usrquota du système de fichiers.
Exemple si on a mis /home sur une partition séparée :
Pour rendre cette gestion plus permanente, il faut rajouter l'option « usrquota » dans
/etc/fstab pour la partition donnée. Si l'on souhaite également activer des quotas pour les
groupes, on procède de la même façon avec l'option « grpquota ».
La gestion des quotas se fait ensuite à l'aide des commandes edquota et repquota.
Exemple :
– Gérer les quotas de l'utilisateur utilisateur1 :
# edquota -u utilisateur1
# repquota /home
A - Permissions
a - Propriétaire
Sur Linux, tous les fichiers appartiennent à un utilisateur, et un groupe. Pour obtenir ces
informations, il suffit d'utiliser la commande « ls ».
$ ls -l fichier
-rw-r--r-- 1 utilisateur groupe 0 2010-09-22 16:35 fichier
Ces informations seront utilisées pour gérer les droits d'accès aux fichiers.
b - Droits
L'application des droits d'accès se fait en essayant d'appliquer les droits de l'utilisateur,
puis du groupe, puis les autres.
Les droits de base sont : lecture, écriture, exécution. Lorsqu'un répertoire est accessible
en exécution, cela signifie qu'on a le droit de l'inclure dans une recherche.
Liste des droits applicables à un fichier (ou un répertoire)
appliqué à symbole droit octal description
r 4 lecture
w 2 écriture
utilisateur u
x 1 exécution / recherche
s 4 changement d'utilisateur à l'exécution (setuid)
r 4 lecture
w 2 écriture
groupe g
x 1 exécution / recherche
s 2 changement de groupe d'exécution (setgid)
r 4 lecture
w 2 écriture
les autres o
x 1 exécution / recherche
t 1 restriction de suppression sur le répertoire (sticky)
tout le monde a pour modifier toutes les permissions d'un coup
La commande pour modifier les droits d'un fichier est « chmod ». Il est possible de l'utiliser
de 2 manières :
– en utilisant les symboles : pour chaque type de droit (utilisateur, groupe, monde,
tous) on utilise le symbole approprié (respectivement : u, g, o, a). On ajoute ensuite
un modificateur (+, -, =) et on indique les droits à définir tels qu'indiqués dans la 4 ème
colonne.
Par exemple : pour définir les droits en lecture et écriture au propriétaire, en lecture
seulement pour le groupe, et aucun droit pour les autres, on fera :
$ chmod u=rw,g=r,o= fichier
Pour retirer les droits en exécution pour le groupe et le reste du monde :
$ chmod g-x,o-x fichier
– en utilisant la valeur des droits en octal : on fait la somme des valeurs en octal pour
chaque jeu de droits. Le premier chiffre décrit les droits indiqués en gras (setuid,
setgid, sticky bit), le second les droits utilisateurs, puis du groupe, puis du reste du
monde. Si une valeur manque, on considère qu'elle met à 0 un jeu de droit, et on
passe au jeu suivant.
$ getfacl fichier
B - Liens
a - Liens
Un fichier est en fait un pointeur sur un endroit du disque où se trouvent les données du
fichier. Il est possible de créer plus d'un fichier qui pointe vers les mêmes données : on
obtient ce qu'on appelle des liens.
Créer un lien sur le fichierA depuis fichierB, et afficher les i-nodes :
$ ln fichierA fichierB
$ ls -i
1181565 fichierA 1181565 fichierB
$ ls -l
total 8
-rw-r--r-- 2 gilles gilles 6 2011-11-13 17:00 fichierA
-rw-r--r-- 2 gilles gilles 6 2011-11-13 17:00 fichierB
b - Liens symboliques
Les liens symboliques permettent de créer un fichier qui pointe vers un autre. Supprimer le
lien n'aura aucun effet sur le fichier réel. Voici comment créer un lien vers un fichier
« fichierA » :
$ ln -s fichierA lienA
$ ls -l lienA
lrwxrwxrwx 1 gilles gilles 8 2011-11-13 17:04 lienA -> fichierA
Il existe plusieurs outils pour chercher un fichier sur le système. Il est possible de
s'appuyer sur une base de données mise à jour régulièrement, ou bien d'utiliser la
commande « find » qui va effectivement parcourir les fichiers pour trouver l'information.
a - updatedb et locate
Le système met à jour régulièrement une base de données qui indexe l'intégralité des
fichiers du système. Il utilise pour cela la commande « updatedb ». On peut ensuite
interroger cette base en utilisant la commande « locate » :
$ locate *smb.conf
/etc/samba/smb.conf
/usr/share/samba/smb.conf
A - Manuel utilisateur
La plupart des fonctionnalités sur Linux sont documentées par des pages de manuel
accessibles à l'aide de la fonction « man ». Celles-ci sont rangées en plusieurs
sections (ce tableau se trouve d'ailleurs dans la section 1 du manuel de « man » !) :
Section Objet
1 Programmes exécutables ou commandes du shell
2 Appels système (fonctions fournies par le noyau)
3 Appels de bibliothèque (librairies)
4 Fichiers spéciaux (situés généralement dans /dev)
5 Formats des fichiers et conventions. Par exemple /etc/passwd
6 Jeux
7 Divers (y compris les macro-paquets et les conventions).
8 Commandes de gestion du système (souvent réservées au superutilisateur)
9 Sous-programmes du noyau [hors standard].
Exemple :
$ man ifconfig
Pour effectuer une recherche sur le nom et la description des pages de manuel, vous
pouvez utiliser la commande « apropos » :
B - Aide en ligne
Les logiciels libres viennent en général avec leur propre documentation, intégrée à leur
code source. On obtient cette aide soit en donnant des arguments erronés, soit en utilisant
les modificateurs habituels : « -h » ou « --help ». Exemple :
C - Principaux sites