Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration...

20
Administration Jean-François Bouchaudy Linux Tome 1 Les bases de l’administration système © Tsoft et Groupe Eyrolles, 2007, ISBN : 2-212-12037-0, ISBN 13 : 978-2-212-12037-0

Transcript of Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration...

Page 1: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Administration

Jean-François Bouchaudy

LinuxTome 1

Les bases de l’administration système

faux-titre_linux.indd 2 6/10/06 10:12:08

© Tsoft et Groupe Eyrolles, 2007, ISBN : 2-212-12037-0, ISBN 13 : 978-2-212-12037-0

Page 2: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-1

6 Les disques et les systèmes de

fichiers Objectifs

Après l’étude du chapitre, le lecteur sait comment les fichiers d’un système Linux sont associés à l’espace disque. Il connaît les principales commandes pour préparer les disques et organiser lui-même l’espace disque.

Contenu Les disques Les systèmes de fichiers

• MBR, tag 83 et 82

• /dev/hda5, /dev/sda

• FS ext3

• Monter un FS

• mkfs, fsck

Page 3: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-2

Les disques La théorie

Vision physique d’un disque, cylindres et secteurs

Fig. Cylindres, pistes et secteurs.

Un disque est physiquement composé de plateaux ayant chacun deux faces. Sur chaque face, il y a un certain nombre de pistes concentriques. Chaque piste est composée d’un certain nombre de secteurs. Un cylindre correspond à l’ensemble des pistes (une par face) que le bras de lecture/écriture peur lire sans se déplacer. Un secteur a habituellement une taille de 512 octets. En résumez l’espace disque est fait d’un certain nombre de secteurs.

Partitionnement, table des partitions, le MBR

Fig. Les partitions.

Un disque est composé de partitions, chacune peut être considérée comme un petit disque. A l’origine le nombre des partitions était limité à quatre. La table des partitions correspondante était stockée complètement dans le MBR (Master Boot Record), c'est-à-dire le premier secteur qui comprend également le code du chargeur primaire (primary loader). Maintenant, une des quatre partitions primaires peut avoir le type « étendue ». Dans ce cas, elle peut contenir une suite de partitions, appelées logiques, chaînées les unes aux autres.

Caractéristiques d’une partition En plus d’être primaire, étendue ou logique, une partition possède les caractéristiques suivantes :

La plage de cylindres utilisée, et donc sa taille en secteurs.

Un drapeau qui indique si c’est la partition active.

Le type (tag) qui spécifie l’utilisation de la partition. Le type 83 indique un système de fichiers Linux, 82 un espace de swap Linux et le type 5 indique une partition étendue. Les partitions Windows NTFS ont le type 7, les partitions LVM ont le type 8e.

/dev/hda1 /dev/hda2 /dev/hda5 /dev/hda6

Le disque /dev/hda

/dev/hda3 partition étendue

MBR

Partitions primaires

Partitions logiques

secteurs

1 cylindre

1 piste

plateaux pistes

1 plateau

Page 4: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-3

Utilisation d’une partition Une partition peut abriter :

• Un système de fichier, c'est-à-dire une arborescence de fichiers.

• Un espace de swap, c'est-à-dire une extension de la mémoire.

• Un espace disque dédié à une application, par exemple Oracle.

Le savoir pratique

Nom des disques Sous Linux, les disques IDE (ou ATA ou PATA) sont nommés comme suit :

/dev/hda Le disque maître géré par le 1er contrôleur.

/dev/hdb Le disque esclave géré par le 1er contrôleur.

/dev/hdc Le disque maître géré par le 2ème contrôleur.

/dev/hdd Le disque esclave géré par le 2ème contrôleur.

Etc.

Les disques SCSI, SATA et USB sont nommés comme suit :

/dev/sda Le 1er disque.

/dev/sdb Le 2ème disque.

Etc.

Nom des partitions Pour un disque, les partitions sont nommées comme suit (par exemple pour le disque hda) :

/dev/hda1 La 1ère partition primaire.

/dev/hda2 La 2ème partition primaire.

/dev/hda3 La 3ième partition primaire.

/dev/hda4 La 4ième partition primaire.

/dev/hda5 La 1ière partition logique (à l’intérieure de la partition étendue).

Toutes les partitions primaires ne sont pas forcément présentes. Une (et une seule) partition primaire peut jouer le rôle de partition étendue (type 5).

Les commandes fdisk L’outil de partitionnement des disques.

sfdisk Commande de partitionnement scriptable.

parted Commande de partitionnement, permet de conserver les données.

cfdisk Commande de partitionnement en mode texte plein écran.

partprobe Informe le système que les tables de partition ont été modifiées.

Page 5: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-4

La commande fdisk La commande fdisk permet de :

• Afficher la table des partitions (commande p).

• Ajouter une nouvelle partition (commande n).

• Détruire une partition (commande d).

• Créer une table de partition vide, pour un nouveau disque (commande o).

• Changer le type d’une partition (commande t).

• Mettre/enlever le drapeau partition active (commande a).

Pour sortir de l’utilitaire, on a le choix entre la commande w (write) qui valide les modifications et la commande q (quit) qui annule les changements. Si l’on travaille sur le disque système, il est nécessaire de redémarrer pour une prise en compte des modifications.

Quand on crée une partition, on a le choix, selon les cas, entre crée une partition primaire, étendue ou logique.

Particularités des distributions

RedHat La commande cfdisk n’est pas fournie.

Mandriva Diskdruid est une commande graphique de partitionnement qui permet de conserver les données. Elle est présente sur le 1er cdrom d’installation. Pour l’utiliser, on commence l’installation et on redémarre après le partitionnement.

Autres Partition-magic Outil commercial très puissant de partitionnement.

Pour en savoir plus

Les pages de manuel fdisk(8), sfdisk(8), parted(8), cfdisk(8)

Internet Gestion du stockage http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/fr/admin-guide/ch-storage.html

Disque dur http://fr.wikipedia.org/wiki/Disque_dur

Page 6: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-5

Les systèmes de fichiers La théorie

Notion de FS, de montage

Fig. L’arborescence des FS.

L’arborescence globale, celle vue par les applications est composée d’un ou plusieurs systèmes de fichiers (File System ou FS).

Chaque FS correspond à une arborescence de fichiers gérée comme un tout. Typiquement un FS est stockée dans une partition. Mais un FS peut également être stocké dans un volume logique, un cdrom, une clef USB, en mémoire (c’est le cas pour un live-cd), ou même dans un fichier ordinaire.

Fig. Le montage de FS.

Les fichiers d’un FS ne sont accessibles que si le FS est activé, on dit « monté ». Le montage d’un FS implique d’associer la racine du FS à un répertoire, dit répertoire de montage. Le démontage d’un FS rompt cette association. Le FS root est monté automatiquement par le noyau lors des premières phases du démarrage. Les autres FS peuvent être montés ultérieurement, de manière automatique ou manuelle.

htdocsbin

/

/dev/sda1

htdocs bin

/

+ apache

local

bin

/

usr etc

bin

MOUNT

UMOUNT

Répertoire de montage

apache

local

bin

/

usr etc

bin

bin

usr

local

etc bin

/

apache/usr/local/apache (/dev/sda1)

/

swap

/usr (/dev/hda3)

Un système de fichiers

(FS)

Le FS root

/dev/hda

/dev/sda

Page 7: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-6

Tables systèmes, inodes

Fig. Table des inodes, noms de fichier et répertoires.

Physiquement, un FS est composé de différentes tables systèmes :

Le super-bloc qui contient les données générales (taille, monté ou non, …).

La table des inodes qui contient la table de description et d’allocation des fichiers. Chaque inode (fichier) est repérée par un numéro, le numéro d’inode.

Les répertoires. Un répertoire est une table de correspondance nom de fichier numéro d’inodes.

Remarque : Un FS est non seulement limité en blocs mais aussi en inodes. Le nombre d’inodes indique le nombre de fichiers que l’on peut créer dans un FS.

Les différents types de FS Un système Linux peut gérer différents types de FS, chacun ayant des fonctionnalités différentes. Voici un panorama des principaux types :

ext2 L’ancien FS standard Linux.

ext3 Le nouveau standard, compatible avec l’ancien et plus tolérant aux pannes.

iso9660 Le FS utilisé par les cdrom/dvdrom.

reiserfs Le FS standard des systèmes SUSE.

xfs FS très répandu, notamment sous Debian.

nfs FS réseau standard des systèmes Unix.

smbfs FS réseau standard des systèmes Windows.

vfat, ntfs FS des systèmes Windows.

Le savoir concret

Les commandes de gestion de FS mkfs Créer un FS (concrètement, formate une partition).

fsck Vérifie/répare un FS.

mount Monte un FS. L’option –a (all) monte l’ensemble des FS décrits dans /etc/fstab. Cette commande est activée par les scripts lancés automatiquement au démarrage.

umount Démonte un FS.

383 f1bis

401 f2

383 f1

3 ..

48 . entrées crées

par mkdir

nom d’un fichier

… 383

liens

1 inode : caractéristiques + emplacement d’un fichier

3 2 1

1 répertoireLa table des inodes d’un FS

numéro d’inode

Page 8: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-7

du Liste les FS montés, la place libre par FS.

df La taille occupée par une arborescence.

lsof Liste des fichiers ouverts, permet de connaître les applications accédant à un FS.

e2label Met une étiquette (label) à un FS. Cette étiquette permet d’identifier le FS.

Les commandes de gestion de FS présentées ici sont génériques, en fait pour chaque type de FS, il y en a un exemplaire. L’option –t indique le type, par exemple, mkfs –t ext3 formate une partition selon le type ext3.

Les commandes de gestion de fichiers ls Affiche les attributs d’un fichier (nombre de liens, n° d’inode, …).

ln Crée un lien.

mv Déplace un lien.

rm Supprime un lien.

Focus - le fichier /etc/fstab [root@linux1 ~]# cat /etc/fstab LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 /dev/hda5 /home ext3 defaults 1 2 … Chaque ligne du fichier fstab est composée de différents champs :

La partition qui abrite le FS (son nom ou son étiquette).

Le répertoire de montage.

Son type.

Les options de montage, defaults indiquant les options par défaut. C'est-à-dire montage automatique au démarrage en lecture/écriture. Inversement, les options noauto,ro indiquent un montage manuel en lecture seule.

Les deux derniers champs n’ayant pas de rapport avec le montage.

Particularités des différentes distributions

RedHat Les versions RedHat Enterprise ne supportent que le FS ext3.

SUSE Le FS reiserfs est utilise en standard.

Page 9: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-8

Pour en savoir plus

Le manuel du(1), df(1), fstab(5), mkfs(8), mkfs.ext2(8), mkfs.ext3(8), …, fsck(8), fsck.ext2(8), …, umount(8), mount(8), e2label(8), lsof(8), ln(1)

Howto Filesystems-HOWTO

Internet Gestion du stockage (chapitre du guide de l’administration d’un système RedHat) http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/fr/admin-guide/ch-storage.html

Comparaison des FS http://en.wikipedia.org/wiki/Comparison_of_file_systems

Page 10: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-9

ATELIERS Tâche 1 : Visualiser les disques et les partitions ................................................... 5mn

Tâche 2 : Visualiser les FS, utiliser un cdrom....................................................... 10mn

Tâche 3 : Créer un FS dans un fichier ................................................................... 20mn

Tâche 3 bis : Créer un FS dans une partition (exercice alternatif) ........................ 20mn

Tâche 4 : Gestion des partitions (niveau avancé) .................................................. 20mn

Tâche 5 : Les inodes (niveau avancé).................................................................... 10mn

Tâche 1 : Visualiser les disques et les partitions 1. Listez les différents disques.

[root@linux1 ~]# sfdisk -s /dev/hda: 14756267 /dev/hdc: 2516976 total: 17273243 blocks

2. Listez l’ensemble des partitions. [root@linux1 ~]# fdisk -l Disk /dev/hda: 15.1 GB, 15110417408 bytes 255 heads, 63 sectors/track, 1837 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 13 104391 83 Linux /dev/hda2 14 1230 9775552+ 83 Linux /dev/hda3 1231 1837 4875727+ 5 Extended /dev/hda5 1231 1293 506016 82 Linux swap / Solaris Disk /dev/hdc: 2577 MB, 2577383424 bytes 255 heads, 63 sectors/track, 313 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hdc1 * 1 296 2377588+ 83 Linux /dev/hdc2 297 313 136552+ 5 Extended /dev/hdc5 297 313 136521 82 Linux swap / Solaris

3. Listez les partitions d’un disque particulier. [root@linux1 ~]# fdisk -l /dev/hda Disk /dev/hda: 15.1 GB, 15110417408 bytes 255 heads, 63 sectors/track, 1837 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 13 104391 83 Linux /dev/hda2 14 1230 9775552+ 83 Linux /dev/hda3 1231 1837 4875727+ 5 Extended /dev/hda5 1231 1293 506016 82 Linux swap / Solaris

Page 11: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-10

Tâche 2 : Visualiser les FS, utiliser un cdrom 1. Listez les FS montés et pour chacun affichez la place libre.

[root@linux1 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/hda2 ext3 12G 5.1G 5.8G 47% / /dev/hda1 ext3 99M 36M 58M 39% /boot /dev/shm tmpfs 62M 0 62M 0% /dev/shm /dev/hda3 ext3 494M 11M 458M 3% /home

2. A quel FS appartient un fichier (ici /home/luke/.bash_profile) ? [root@linux1 ~]# df /home/luke/.bash_profile Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda3 505636 10605 468926 3% /home

3. On utilise un cdrom. On met un cdrom dans le lecteur, il est monté automatiquement, mais où ?

[root@linux1 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 11904620 5302180 5987956 47% / /dev/hda1 101086 36509 59358 39% /boot /dev/shm 62952 0 62952 0% /dev/shm /dev/hda3 505636 10605 468926 3% /home /dev/hdd 649838 649838 0 100% /media/cdrom

4. On veut le monter à un emplacement précis On le démonte, et on le remonte sur /mnt/cdrom.

[root@linux1 ~]# umount /dev/cdrom [root@linux1 ~]# mkdir /mnt/cdrom [root@linux1 ~]# mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom [root@linux1 ~]# df |grep /mnt /dev/hdd 649838 649838 0 100% /mnt/cdrom

5. On active un nouveau shell, et dedans, on se déplace sur le cdrom et on liste son contenu. [root@linux1 ~]# bash [root@linux1 ~]# cd /mnt/cdrom [root@linux1 cdrom]# ls Fedora RELEASE-NOTES RPM-GPG-KEY-fedora-rawhide autorun GPL RPM-GPG-KEY RPM-GPG-KEY-fedora-test eula.txt README RPM-GPG-KEY-beta RPM-GPG-KEY-rawhide images README-Accessibility RPM-GPG-KEY-fedora TRANS.TBL isolinux

6. On le démonte. [root@linux1 cdrom]# umount /mnt/cdrom umount: /mnt/cdrom: device is busy umount: /mnt/cdrom: device is busy [root@linux1 cdrom]# lsof | grep /mnt/cdrom bash 19392 root cwd DIR 22,64 4096 1856 /mnt/cdrom lsof 19412 root cwd DIR 22,64 4096 1856 /mnt/cdrom grep 19413 root cwd DIR 22,64 4096 1856 /mnt/cdrom lsof 19414 root cwd DIR 22,64 4096 1856 /mnt/cdrom [root@linux1 cdrom]# kill -9 19392 Killed [root@linux1 ~]# eject /mnt/cdrom

Page 12: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-11

Remarque : la première tentative échoue car le shell a ouvert un fichier (en l’occurrence un répertoire) sur le cdrom. La commande lsof affiche le PID de cette application, c’est-à-dire notre shell. On peut le supprimer et ainsi permettre de démonter notre cdrom.

Tâche 3 : Créer un FS dans un fichier 1. On crée un fichier d’un Giga.

[root@linux1 ~]# dd if=/dev/zero of=/root/fs_ext3.img bs=1M count=1024 1024+0 records in 1024+0 records out [root@linux1 ~]# ls -lh /root/fs_ext3.img -rw-r--r-- 1 root root 1.0G Mar 2 06:33 /root/fs_ext3.img

2. On formate le fichier en ext3. [root@linux1 ~]# mkfs -F -j /root/fs_ext3.img mke2fs 1.37 (21-Mar-2005) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 131072 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. Remarques :

On a utilisé l’option -F pour forcer le formatage. En effet, par défaut la commande ne s’applique qu’à des partitions.

L’option -j demande la création du journal, on crée donc un FS ext3.

Pour l’exemple, voici la commande que l’on aurait pu saisir pour formater en ext3 la partition (hypothétique) hda6 : # mkfs –t ext3 /dev/hda6

3. On monte le FS sur le répertoire /mnt/disk et on crée quelques fichiers dessus. [root@linux1 ~]# mkdir /mnt/disk [root@linux1 ~]# mount -t ext3 -o loop /root/fs_ext3.img /mnt/disk [root@linux1 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/hda2 ext3 9.1G 3.6G 5.0G 43% / /dev/hda1 ext3 99M 9.3M 85M 10% /boot /dev/shm tmpfs 62M 0 62M 0% /dev/shm /root/fs_ext3.img ext3 1008M 34M 924M 4% /mnt/disk

Page 13: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-12

[root@linux1 ~]# date > /mnt/disk/f1 [root@linux1 ~]# cal > /mnt/disk/f2 [root@linux1 ~]# mkdir /mnt/disk/rep [root@linux1 ~]# uname -a > /mnt/disk/rep/fic

4. Visualisez le nombre de blocs et d’inodes libres présents sur le FS. [root@linux1 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 9469180 3773744 5206660 43% / /dev/hda1 101086 9424 86443 10% /boot /dev/shm 62952 0 62952 0% /dev/shm /root/fs_ext3.img 1032088 34108 945552 4% /mnt/disk [root@linux1 ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hda2 2445600 134860 2310740 6% / /dev/hda1 26104 32 26072 1% /boot /dev/shm 15738 1 15737 1% /dev/shm /root/fs_ext3.img 131072 15 131057 1% /mnt/disk Remarque : Contrairement au FS ext3 ci-dessus, les FS reiserfs ne sont pas limité en nombre d’inodes.

5. Vérifiez le FS. [root@linux1 ~]# fsck /root/fs_ext3.img fsck 1.37 (21-Mar-2005) e2fsck 1.37 (21-Mar-2005) /root/fs_ext3.img is mounted. WARNING!!! Running e2fsck on a mounted filesystem may cause SEVERE filesystem damage. Do you really want to continue (y/n)? no check aborted. [root@linux1 ~]# umount /mnt/disk/ [root@linux1 ~]# fsck /root/fs_ext3.img fsck 1.37 (21-Mar-2005) e2fsck 1.37 (21-Mar-2005) /root/fs_ext3.img: clean, 15/131072 files, 12649/262144 blocks [root@linux1 ~]# fsck -f /root/fs_ext3.img fsck 1.37 (21-Mar-2005) e2fsck 1.37 (21-Mar-2005) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /root/fs_ext3.img: 15/131072 files (6.7% non-contiguous), 12649/262144 blocks Remarques :

Un FS doit être démonté pour être vérifié. Par défaut la vérification est légère (est-ce que le FS a bien été démonté ?).

On utilise l’option -f pour forcer une vérification en profondeur.

6. On monte le FS automatiquement au démarrage.

(On ajoute au fichier fstab la ligne en italique)

Page 14: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-13

[root@linux1 ~]# cp /etc/fstab /etc/fstab.old [root@linux1 ~]# vi /etc/fstab … /root/fs_ext3.img /www ext3 defaults 0 0 [root@linux1 ~]# mkdir /www [root@linux1 ~]# reboot … (Après le redémarrage) [root@linux1 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/hda2 ext3 9.1G 3.6G 5.0G 42% / /dev/hda1 ext3 99M 9.3M 85M 10% /boot /dev/shm tmpfs 62M 0 62M 0% /dev/shm /root/fs_ext3.img ext3 1008M 34M 924M 4% /www

Tâche 3bis : Créer un FS dans une partition

Remarque : lire la tâche 3 pour voir les commentaires et la sortie complète des commandes.

1. On crée une partition. linux1:~# fdisk /dev/hda The number of cylinders for this disk is set to 1837. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (1294-1837, default 1294): Using default value 1294 Last cylinder or +size or +sizeM or +sizeK (1294-1837, default 1837): +512M Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. linux1:~# reboot Remarque : on pouvait utiliser la commande partprobe au lieu de redémarrer.

Après le redémarrage : [root@linux1 ~]# fdisk -l /dev/hda Disk /dev/hda: 15.1 GB, 15110417408 bytes 255 heads, 63 sectors/track, 1837 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Page 15: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-14

Device Boot Start End Blocks Id System /dev/hda1 * 1 13 104391 83 Linux /dev/hda2 14 1230 9775552+ 83 Linux /dev/hda3 1231 1837 4875727+ 5 Extended /dev/hda5 1231 1293 506016 82 Linux swap / Solaris /dev/hda6 1294 1356 506016 83 Linux

2. On formate la nouvelle partition en ext3. [root@linux1 ~]# mkfs -t ext3 /dev/hda6

3. On monte le FS sur le répertoire /mnt/disk et on crée quelques fichiers dessus. [root@linux1 ~]# mkdir /mnt/disk [root@linux1 ~]# mount -t ext3 /dev/hda6 /mnt/disk [root@linux1 ~]# df -Th … /dev/hda6 ext3 479M 11M 444M 3% /mnt/disk [root@linux1 ~]# date > /mnt/disk/f1 [root@linux1 ~]# cal > /mnt/disk/f2 [root@linux1 ~]# mkdir /mnt/disk/rep [root@linux1 ~]# uname -a > /mnt/disk/rep/fic

4. Visualisez le nombre de blocs et d’inodes libres présents sur le FS. [root@linux1 ~]# df … /dev/hda6 489992 10549 454143 3% /mnt/disk [root@linux1 ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on … /dev/hda6 126976 15 126961 1% /mnt/disk

5. Vérifiez le FS. [root@linux1 ~]# fsck /dev/hda6 … Do you really want to continue (y/n)? no check aborted. [root@linux1 ~]# fsck /dev/hda6 [root@linux1 ~]# fsck -f /dev/hda6

6. On monte le FS automatiquement au démarrage.

(On ajoute au fichier fstab la ligne en italique) [root@linux1 ~]# cp /etc/fstab /etc/fstab.old [root@linux1 ~]# vi /etc/fstab … /dev/hda6 /www ext3 defaults 0 0 [root@linux1 ~]# mkdir /www [root@linux1 ~]# reboot … Après le redémarrage : [root@linux1 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on … /dev/hda6 ext3 479M 11M 444M 3% /www

Page 16: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-15

Tâche 4 : Gestion des partitions (niveau avancé)

ATTENTION : Cet atelier doit être effectuer soit sur un deuxième disque (/dev/hdb ou /dev/hdc par exemple), sur une clef USB ou sur le disque système lors de l’installation. Dans ce cas, on obtient une fenêtre shell en frappant Ctrl+Alt+F2. On revient à l’écran graphique en frappant Ctrl+Alt+F7.

1. Listez la table des partitions d’un disque -/bin/sh-3.00 # fdisk -l /dev/hda Disk /dev/hda: 15.1 GB, 15110417408 bytes 255 heads, 63 sectors/track, 1837 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 1837 15110417 7 HPFS/NTFS

2. Gérez les partitions de ce disque. a) Visualiser l’aide (commande m).

b) Détruire les partitions (commande d).

c) Créer une table de partition vide (commande o).

d) Créer la partition primaire n°1 de taille 100 Méga (commande n).

e) Afficher la table des partitions (commande p).

f) Créer la partition primaire n°2 de taille 10 Giga.

g) Créer une partition étendue qui occupe le reste du disque.

h) Créer une partition logique de 512 Méga.

i) Modifier le type de cette partition (n°5), lui donner le type swap (82) (commande t).

j) Afficher la table des partitions et sauvegarder les actions (commande w). [root@linux1 ~]# fdisk /dev/hda The number of cylinders for this disk is set to 1837. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel

Page 17: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-16

t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): d Selected partition 1 Command (m for help): o Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 1837. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1837, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1837, default 1837): +100M Command (m for help): p Disk /dev/hda: 15.1 GB, 15110417408 bytes 255 heads, 63 sectors/track, 1837 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 1 13 104391 83 Linux Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (14-1837, default 14): Using default value 14 Last cylinder or +size or +sizeM or +sizeK (14-1837, default 1837): +10000M Command (m for help): n Command action

Page 18: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-17

e extended p primary partition (1-4) e Partition number (1-4): 3 First cylinder (1231-1837, default 1231): Using default value 1231 Last cylinder or +size or +sizeM or +sizeK (1231-1837, default 1837): Using default value 1837 Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (1231-1837, default 1231): Using default value 1231 Last cylinder or +size or +sizeM or +sizeK (1231-1837, default 1837): +512M Command (m for help): t Partition number (1-5): 5 Hex code (type L to list codes): 82 Changed system type of partition 5 to 82 (Linux swap / Solaris) Command (m for help): p Disk /dev/hda: 15.1 GB, 15110417408 bytes 255 heads, 63 sectors/track, 1837 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 1 13 104391 83 Linux /dev/hda2 14 1230 9775552+ 83 Linux /dev/hda3 1231 1837 4875727+ 5 Extended /dev/hda5 1231 1293 506016 82 Linux swap / Solaris Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. -/bin/sh-3.00 #

Remarque : Si l’on manipule la table des partitions du disque système (après l’installation), il est nécessaire de redémarrer le système pour que le noyau voie la nouvelle table. Lorsque l’on rentre la commande w, fdisk affiche le message suivant :

WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Au lieu de redémarrer, il est également possible d’utiliser la commande partprobe pour demander au noyau de relire la table des partitions.

Page 19: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-18

3. Formatez les partitions et choisissez leur point de montage.

ATTENTION : Cet exercice doit être effectué durant l’installation lors du partitionnement manuel. Il n’est plus besoin de créer les partitions (elles ont été créés par fdisk), mais il faut quand même leur attribuer un point de montage, leur choisir un type et décider de les formateur ou non.

Pour chaque partition (hda1, hda2, hda5), on édite leurs caractéristiques :

/dev/hda1 : point de montage : /boot type ext3 doit être formaté

/dev/hda2 : point de montage : / type ext3 doit être formaté

/dev/hda5 : swap doit être formaté

Tâche 5 : Les inodes (niveau avancé) 1. On crée un répertoire et dedans, on crée deux fichiers.

[guest@linux1 ~]$ mkdir liens [guest@linux1 ~]$ cd liens [guest@linux1 liens]$ cal > f1 [guest@linux1 liens]$ date > f2 [guest@linux1 liens]$ ls -l total 24 -rw-rw-r-- 1 guest guest 153 Jul 21 19:00 f1 -rw-rw-r-- 1 guest guest 30 Jul 21 19:00 f2

2. On crée un lien sur le fichier f1 que l’on appelle f1bis. [guest@linux1 liens]$ ln f1 f1bis [guest@linux1 liens]$ ls -l total 24 -rw-rw-r-- 2 guest guest 153 Jul 21 19:00 f1 -rw-rw-r-- 2 guest guest 153 Jul 21 19:00 f1bis -rw-rw-r-- 1 guest guest 30 Jul 21 19:00 f2 Remarques :

Les noms f1 et f1bis référent le même fichier.

Le nombre de liens apparaît après les droits dans le résultat du ls.

3. On modifie le contenu de f1 ainsi que ses droits. [guest@linux1 liens]$ echo "=========" >> f1 [guest@linux1 liens]$ chmod 600 f1 [guest@linux1 liens]$ tail f1bis July 2006 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ========= [guest@linux1 liens]$ ls -l f1* -rw------- 2 guest guest 163 Jul 21 19:08 f1 -rw------- 2 guest guest 163 Jul 21 19:08 f1bis Remarque : dans le résultat des commandes, on constate bien qu’il s’agit d’un seul et même fichier.

Page 20: Linux - Librairie Eyrolles · • FS ext3 • Monter un FS • ... Bases de l'administration système 6-7 du Liste les FS montés, la place libre par FS. df La taille occupée par

Module 6 : Les disques et les systèmes de fichiers

© Eyrolles/Tsoft – Linux Administration : Bases de l'administration système 6-19

4. On affiche les numéros d’inodes de l’ensemble des fichiers du répertoire. [guest@linux1 liens]$ ls -lia total 40 1793548 drwxrwxr-x 2 guest guest 4096 Jul 21 19:01 . 1793540 drwxr-xr-x 4 guest guest 4096 Jul 21 19:00 .. 1793549 -rw-rw-r-- 2 guest guest 153 Jul 21 19:00 f1 1793549 -rw-rw-r-- 2 guest guest 153 Jul 21 19:00 f1bis 1793550 -rw-rw-r-- 1 guest guest 30 Jul 21 19:00 f2 Remarques : Les fichiers f1 et f1bis ont bien le même numéro d’inode. Un répertoire a au moins 2 liens : son père le référence par son nom et il s’autoréférence sous le nom « . ». Si il a des sous répertoires, chacun le référence par le nom « .. ».

5. On détruit un lien. [guest@linux1 liens]$ rm f1 [guest@linux1 liens]$ tail -2 f1bis 30 31 ========= [guest@linux1 liens]$ ls -l f1bis -rw------- 1 guest guest 163 Jul 21 19:08 f1bis Remarque : la commande rm ne détruit pas forcement un fichier, elle détruit un lien. Si l’inode n’a plus de liens, le système détruit alors le fichier.

6. On déplace (renomme) un lien. [guest@linux1 liens]$ mv f1bis f1 [guest@linux1 liens]$ ls -li f1 1793549 -rw------- 1 guest guest 163 Jul 21 19:08 f1

7. On crée un lien symbolique. [guest@linux1 liens]$ ln -s f1 f1ter [guest@linux1 liens]$ ls -l total 20 -rw------- 1 guest guest 163 Jul 21 19:08 f1 lrwxrwxrwx 1 guest guest 2 Jul 21 19:17 f1ter -> f1 -rw-rw-r-- 1 guest guest 30 Jul 21 19:00 f2 [guest@linux1 liens]$ ls –lL f1ter -rw------- 1 guest guest 163 Jul 21 19:08 f1 Remarques : Un lien symbolique offre également un nouveau chemin pour accéder à un fichier mais il peut s’affranchir de la limite des systèmes de fichiers et il permet aussi de référencer un répertoire. Par contre il utilise une inode à part entière de type lien. L’option –L de ls permet de suivre les liens symboliques.

8. On détruit le fichier lié. [guest@linux1 liens]$ rm f1 [guest@linux1 liens]$ ls -l total 20 lrwxrwxrwx 1 guest guest 2 Jul 21 19:17 f1ter -> f1 -rw-rw-r-- 1 guest guest 30 Jul 21 19:00 f2 [guest@linux1 liens]$ more f1ter f1ter: No such file or directory Remarque : le lien existe toujours, mais il pointe plus sur un fichier. Le système le traite donc comme un fichier non existant. Ce comportement n’est pas possible avec les liens matériels.