[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:slackbook:working_with_filesystems [2012/10/21 13:14 (UTC)] ellendhelfr:slackbook:working_with_filesystems [2013/10/13 20:33 (UTC)] (Version actuelle) ellendhel
Ligne 1: Ligne 1:
- 
  <!-- Add your text below. Start with a Headline (see button bar above). -->  <!-- Add your text below. Start with a Headline (see button bar above). -->
 ====== Travailler avec les systèmes de fichiers ====== ====== Travailler avec les systèmes de fichiers ======
Ligne 27: Ligne 26:
  
 ===== Systèmes de fichiers locaux ==== ===== Systèmes de fichiers locaux ====
 +
 +Le noyau Linux est capable de gérer un large ensemble de systèmes de fichiers, vous permettant de choisir parmi une longue liste de fonctionnalités celui le plus adapté à vos besoins. Heureusement, la plupart des systèmes de fichiers par défaut sont adaptés quelques soient vos besoins. Certains systèmes de fichiers ne sont conçus que pour des médias particuliers. Par exemple, le système de fichiers iso9660 n'est pratiquement utilisé que pour les CD et DVD.
  
 ==== ext2 ====  ==== ext2 ==== 
 +
 +ext2 est le plus ancien système de fichiers proposé par Slackware Linux pour conserver des données sur des disques durs. Comparé aux autres systèmes de fichiers, ext2 est simpliste. Il est plus rapide que la plupart des autres pour la lecture et l'écriture de données mais il est dépourvu de fonction de journalisation. Cela signifie qu'après un crash le système de fichier doit être intégralement vérifié pour rechercher et (si tout va bien) corriger les erreurs rencontrées.
  
 ==== ext3 ====  ==== ext3 ==== 
 +
 +ext3 est le jeune cousin d'ext2. Il a été conçu pour remplacer ext2 dans la plupart des cas et partage beaucoup de code, mais en ajoutant le support de la journalisation. De fait, ext3 et ext2 sont si proches qu'il est possible d'effectuer une conversion de l'un à l'autre en fonctionnement sans perte de données. ext3 jouit d'une large popularité pour cela. De nombreux outils sont aussi disponibles pour la récupération de données depuis ce système de fichier en cas de problème matériel majeur. ext3 est un bon système de fichiers générique avec journalisation, mais ne supporte pas la comparaison face à d'autres dans les cas particuliers. Un inconvénient d'ext3 est que le système de fichiers doit être vérifié de manière exhaustive de temps à autre. Ce s'effectue lorsque le système de fichiers est monté, habituellement lorsque l'ordinateur démarre, et ajoute donc un délai supplémentaire.
  
 ==== ext4 ====  ==== ext4 ==== 
 +
 +ext4 est le dernier système de fichiers de la lignée des ext. Il a été conçu à partir d'ext3 avec de nouvelles idées sur ce qu'un système de fichiers doit apporter. Bien que Slackware supporte ext4, vous devez garder à l'esprit que ce système de fichier est encore jeune (particulièrement pour ce qui concerne les fichiers système) et qu'il est toujours en développement. Si vous privilégiez la stabilité aux performances vous préférerez sûrement utiliser un autre système de fichier tel qu'ext3. Cela dit, ext4 surpasse ext3 dans le domaine des performances, mais beaucoup de personnes ne lui font pas encore assez confiance pour ce qui est de la stabilité.
  
 ==== reiserfs ====  ==== reiserfs ==== 
 +
 +reiserfs est l'un des plus anciens systèmes de fichiers journalisés du noyau Linux et qui a été supporté par Slackware pendant de longues années. C'est un système de fichiers très rapide particulièrement adapté pour conserver, retrouver et écrire de nombreux fichiers de petite taille. Malheureusement, il y a peu d'outils pour récupérer des données lorsque vous subissez une panne de disque, et les partitions reiserfs sont plus fréquemment sujettes aux corruptions qu'ext3.
  
 ==== XFS ====  ==== XFS ==== 
  
 +XFS est une contribution de SGI au noyau Linux et est l'un des meilleurs systèmes de fichiers pour travailler avec de larges volumes et des fichiers volumineux. XFS utilise plus de RAM que d'autres systèmes de fichiers, mais si vous avez besoin de travailler avec de gros fichiers ses performances compenseront sa faiblesse d'utilisation mémoire. XFS n'est pas très adapté pour une utilisation avec un ordinateur de bureau ou un portable, mais brille réellement sur un serveur qui gère des fichiers moyens ou gros tout au long de la journée. Comme ext3, XFS est un système de fichiers entièrement journalisé.
 ==== JFS ====  ==== JFS ==== 
 +
 +JFS est une contribution d'IBM au noyau Linux et est réputé pour sa réactivité, même dans des conditions extrêmes. Il peut s'étendre sur des volumes colossaux le rendant particulièrement adapté pour des NAS (//Network Attached Storage//). La longue histoire et les tests approfondis de JFS en font un des systèmes de fichiers journalisés les plus robustes disponibles sous Linux.
  
 ==== iso9660 ====  ==== iso9660 ==== 
 +
 +iso9660 est un système de fichiers spécialement conçu pour les supports optiques tels que les CD et DVD. Comme les support optiques sont des médias en lecture seule, le noyau Linux n'inclue pas de support en écriture pour ce système de fichiers. Afin de créer des systèmes de fichiers iso9660 vous devez employer des outils en mode utilisateur (//user-land//) tels que **//mkisofs//**(8) ou **//growisofs//**(8).
  
 ==== vfat ====  ==== vfat ==== 
 +
 +Parfois vous pouvez avoir besoin de partager des données entre des ordinateurs Windows et Linux, mais sans pouvoir utiliser de réseau. À la place vous pouvez partager une partition de disque dur ou une clé USB. Le simple système de fichiers vfat est alors le meilleur choix car il est supporté par une large variété de systèmes d'exploitation. Malheureusement, étant un système de fichiers conçu par Microsoft, il ne conserve pas les permissions de manière similaire aux systèmes de fichiers habituels sous Linux. Cela signifie que des options spéciales doivent être utilisées pour autoriser des utilisateurs distincts à accéder aux données sur ce système de fichiers.
  
 ==== swap ====  ==== swap ==== 
  
-===== Using mount ===== +Au contraire des autres systèmes de fichiers qui gèrent des fichiers et répertoires, les partitions d'échange (//swap//) gèrent de la mémoire virtuelle. Cela est très utile et évite au système de crasher si toute la RAM est utilisée. À la place, le noyau copie des pages de RAM dans le swap et les libère pour permettre leur utilisation par d'autres applications. Représentez-vous cela comme de la mémoire virtuelle supplémentaire pour votre ordinateur, de la mémoire virtuelle très lente. Une partition d'échange est souvent un garde-fou et vous ne devriez pas en dépendre pour un usage régulier. Ajoutez de la RAM à votre système si vous voyez que vous utilisez beaucoup de swap. 
 + 
 +===== Utiliser mount =====  
 + 
 +Maintenant que nous avons plus ou moins appris quels étaient les différents systèmes de fichiers disponibles sous Linux, il est temps de savoir comment les utiliser. Afin de pouvoir lire ou écrire des données sur un système de fichiers, celui doit être monté en premier lieu. Pour Cela nous utiliserons (naturellement) la commande mount(8). La première chose que nous devons décider est où nous voulons que le système de fichier soit intégré. Souvenez-vous qu'il n'y a pas d'équivalent aux lettres de lecteurs pour les systèmes de fichiers sous Linux. À la place, tous les systèmes de fichiers sont montés dans des répertoires. Le système de fichiers de base sur lequel vous avez installé Slackware est toujours / et les autres sont toujours dans des sous-répertoires de /. /mnt/hd est un endroit habituel pour accueillir temporairement une partition, nous l'utiliserons donc dans notre premier exemple. Pour monter le contenu d'un système de fichiers nous devons indiquer quel système de fichiers est utilisé, où le monter et quelles options spécifiques utiliser. 
 + 
 +<code bash>darkstar:~# mount -t ext3 /dev/hda3 /mnt/hd -o ro</code> 
 + 
 +Disséquons cela. Mous avons un système de fichiers ext2 sur la troisième partition du premier disque IDE et nous avons décidé de monter sont contenu dans le répertoire /mnt/hd. De plus, nous l'avons monté en lecture seule, de cette manière personne ne peut en modifier le contenu. 
 +L'option ''-t ext3'' indique quel système de fichiers nous utilisons, dans ce cas ext3. Cela permet au noyau de savoir quel pilote utiliser. Le plus souvent mount peut déterminer cela de lui même, mais cela ne fait pas de mal de l'indiquer explicitement. Ensuite, nous disons à mount où trouver le contenu du système de fichiers. Ici nous avons choisi /mnt/hd. Enfin, nous devons décider d'options à utiliser si nécessaire. Celles-ci sont déclarée après l'option ''-o''. Une courte liste des options les plus courantes est présentée ci-dessous. 
 + 
 +**Table 11.2. Options courantes de mount** 
 +|ro |lecture seule (//read-only//)| 
 +|rw |lecture et écriture (//read-write//) (utilisé par défaut)| 
 +|uid |utilisateur propriétaire du contenu du système de fichiers| 
 +|gid |groupe propriétaire du contenu du système de fichiers| 
 +|noexec |empêche l'exécution de tout fichier du système de fichiers| 
 +|defaults |options convenables pour la plupart des systèmes de fichiers| 
 + 
 +Si ceci est votre première installation Linux, les seules options dont vous aurez besoin sont //ro// et //rw//. L'exception à cette règle s'appliquera lorsque vous manipulerez des systèmes de fichiers qui ne gèrent pas les permissions Linux habituelles, tels que vfat ou NTFS. Dans ces cas, vous aurez besoin d'utiliser les options //uid// ou //gid// pour autoriser les utilisateurs non-root à accéder à ces systèmes de fichiers. 
 + 
 +<code> 
 +darkstar:~# mount -t vfat /dev/hda4 /mnt/hd -o uid=alan 
 +</code> 
 + 
 +Mais Alan, c'est épouvantable ! Je ne veux pas indiquer à mount quel système de fichiers ou quelles options utiliser à chaque fois que je monte un CD. Ce doit être plus simple que cela. Heureusement, oui on peut faire plus simple. Le fichier ''/etc/fstab'' contient toutes les informations pour les systèmes de fichiers définies pour vous par l'installateur et vous pouvez y ajouter vos propres entrées. ''fstab'' (5) ressemble à un simple tableau contenant le périphérique à monter ainsi que le type de son système de fichiers et arguments optionnels. Jetons-y un œil. 
 + 
 +<code> 
 +darkstar:~# cat /etc/fstab 
 +/dev/hda1        /                reiserfs    defaults                 1 
 +/dev/hda2        /home            reiserfs    defaults                 2 
 +/dev/hda3        swap             swap        defaults                 0 
 +/dev/cdrom       /mnt/cdrom       auto        noauto,owner,ro,users  0   0 
 +/dev/fd0         /mnt/floppy      auto        noauto,owner             0 
 +devpts           /dev/pts         devpts      gid=5,mode=620           0 
 +proc             /proc            proc        defaults                 0 
 +</code> 
 + 
 +Si vous avez une entrée dans ''fstab'' pour votre système de fichiers, vous avez juste besoin d'indiquer à mount le fichier de périphérique ou le point de montage. 
 + 
 +<code> 
 +darkstar:~# mount /dev/cdrom 
 +darkstar:~# mount /home 
 +</code> 
 + 
 +Une dernière utilisation possible pour **//mount//** est d'afficher la liste des systèmes de fichiers actuellement monté et avec quelles options.  Exécutez simplement **//mount//** sans aucun argument pour cela.
  
 =====  Systèmes de fichiers réseau =====  =====  Systèmes de fichiers réseau ===== 
 +
 +En plus des systèmes de fichiers locaux, Slackware supporte plusieurs systèmes de fichiers réseau autant en client que comme serveur. Cela vous permet de partager des données avec plusieurs ordinateurs de manière transparente. Nous présenterons les deux plus répandus : NFS et SMB.
  
 ==== NFS ====  ==== NFS ==== 
 +
 +NFS (//Network File System//) est le système de fichiers réseau sous Linux ainsi que pour plusieurs autres systèmes d'exploitation. Ses performances sont modestes mais il supporte toutes les permissions utilisées par Slackware. Afin de pouvoir utiliser NFS en tant que client ou serveur vous devez exécuter le daemon d'appel de procédures à distance (//Remote Procedure Call// - RPC). Cela se fait simplement en attribuant le droit d'exécution au fichier ''/etc/rc.d/rc.rpc'' et en le lançant. Une fois rendu exécutable il sera lancé à chaque fois que vous démarrerez Slackware.
 +
 +<code>
 +darkstar:~# chmod +x /etc/rc.d/rc.rpc
 +darkstar:~# /etc/rc.d/rc.rpc start
 +</code>
 +
 +Monter un partage NFS est un peu différent de monter un système de fichiers local. Au lieu d'indiquer un périphérique local, vous devez donner à mount le nom de domaine ou l'adresse IP du serveur NFS et le répertoire à monter séparés par le caractère deux points.
 +
 +<code>
 +darkstar:~# mount -t nfs darkstar.example.com:/home /home
 +</code>
 +
 +Activer un serveur NFS est un peu plus différent. En premier lieu, vous devez configurer chaque répertoire devant être exporté dans le fichier ''/etc/exports''. ''exports''(5) contient des informations à propos des répertoires à partager, qui pourra accéder au partage et quelles permissions spéciales à attribuer ou à révoquer.
 +
 +<file>
 +# See exports(5) for a description.
 +# This file contains a list of all directories exported to other computers.
 +# It is used by rpc.nfsd and rpc.mountd.
 +
 +/home/backup 192.168.1.0/24(sync,rw,no_root_squash)
 +</file>
 +
 +La première colonne dans ''exports'' est la liste des fichiers à exporter par NFS. La deuxième colonne est la liste des systèmes qui peuvent accéder au partage ainsi que des permissions spéciales. Vous pouvez indiquer un hôte par son nom de domaine, adresse IP ou plage d'adresses (ce que j'ai dans le cas présent). Les permissions spéciales sont toujours entre parenthèses. Pour une liste exhaustive vous aurez besoin de lire la page de manuel. Pour l'instant, la seule permission spéciale importante est //no_root_squash//. Habituellement l'utilisateur root ne peut pas accéder ou modifier les données d'un partage. À la place, l'utilisateur root est "écrasé" (//squashed//) et obligé d'agir en tant qu'utilisateur //nobody//. //no_root_squash// empêche cela.
 +
 +Vous aurez aussi besoin d'exécuter le daemon NFS. La gestion du démarrage et de l'arrêt du serveur NFS se fait via le script ''/etc/rc.d/rc.nfsd''. Rendez-le exécutable et lancez-le de la même manière que ''rc.rpc'' et vous êtes prêts.
  
 ==== SMB ====  ==== SMB ==== 
 +
 +SMB est le protocole de partage de fichier réseau de Windows.  Se connecter à un partage SMB (souvent appelé partages Samba) est relativement aisé. Malheureusement, SMB n'est pas aussi bien supporté que NFS. Cependant il offre de grande performances et la connectivité avec les ordinateurs sous Windows. Pour ces raisons, SMB est le protocole de partage de fichier réseau le plus déployé sur les réseaux locaux. Exporter des partages SMB depuis Slackware se fait via le daemon Samba et configuré dans ''smb.conf''(5). Malheureusement, configurer Samba en tant que service est au-delà du cadre de ce livre. Recherchez en ligne pour plus de documentation et référez-vous toujours à la page de manuel.
 +
 +Heureusement, monter un partage SMB est facile et fonctionne quasiment comme pour monter un partage NFS. Vous devez indiquer à mount où trouver le serveur et quel partage vous souhaiter accéder exactement de la même façon. De plus vous devez indiquer un nom d'utilisateur et un mot de passe.
 +
 +<code>
 +darkstar:~# mount -t cifs //darkstar/home /home -o username=alan,password=secret
 +</code>
 +
 +Vous devez vous demander pourquoi le type système de fichiers est cifs au lieu de smbfs. Avec d'anciennes versions du noyau Linux, on utilisait smbfs. Cela est tombé en désuétude en faveur d'un pilote cifs plus générique, plus performant et plus sécurisé.
 +
 +Tous les partages SMB requièrent un nom d'utilisateur (//username//) et un mot de passe (//password//) comme options. Cela peut poser un problème de sécurité si vous souhaitez placer un partage Samba dans fstab.  Vous pouvez éviter ce problème en utilisant l'option //credentials//. //credentials// indique un fichier qui contient les informations pour le nom d'utilisateur et le mot de passe. Aussi longtemps que ce fichier est soigneusement protégé et lisible uniquement par root, la vraisemblance que vos informations d'authentification soient compromises est faible.
 +
 +<code>
 +darkstar:~# echo "username=alan" > /etc/creds-home
 +darkstar:~# echo "password=secret" >> /etc/creds-home
 +darkstar:~# mount -t cifs //darkstar/home -o credentials=/etc/creds-home
 +</code>
  
 ====== Navigation ====== ====== Navigation ======
Ligne 61: Ligne 169:
 ====== Sources ====== ====== Sources ======
 <!-- If you copy information from another source, then specify that source --> <!-- If you copy information from another source, then specify that source -->
-  * Source originale: [[http://www.slackbook.org/beta]] \\+  * Source originale : [[http://www.slackbook.org/beta]] \\
 <!-- Authors are allowed to give credit to themselves! --> <!-- Authors are allowed to give credit to themselves! -->
-  * Publié par Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson\\+  * Publication initiale d'Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson
   * Traduction initiale de [[wiki:user:escaflown | escaflown]]   * Traduction initiale de [[wiki:user:escaflown | escaflown]]
   * Traduction de [[wiki:user:ellendhel | Ellendhel]]   * Traduction de [[wiki:user:ellendhel | Ellendhel]]
 fr:slackbook:working_with_filesystems ()