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édentes Révision précédente
Prochaine révision
Révision précédente
mount_fstab [Le 12/07/2011, 18:02]
86.206.130.101 [Donner un nom explicite à votre partition]
mount_fstab [Le 30/01/2024, 19:26] (Version actuelle)
197.146.62.141 [Rappel sur la désignation des partition]
Ligne 1: Ligne 1:
-{{tag>​système partitions ​BROUILLON}}+{{tag>​système partitions}}
  
 ---- ----
Ligne 5: Ligne 5:
 ====== mount et fstab : Le montage des systèmes de fichiers ====== ====== mount et fstab : Le montage des systèmes de fichiers ======
  
 +Quand un clé USB est connectée, elle est normalement montée automatiquement. Idem pour la partition qu'on vient de démarrer et qui porte votre OS. Par contre, les autres partitions du disque ne seront pas montées automatiquement.
  
-Ce court article a pour but de vous présenter le montage ​des systèmes ​de fichier dans un système GNU/Linux, et plus particulièrement dans Ubuntu. Nous étudierons les cas normaux et problématiquesainsi que quelques commandes utiles.+Il peut être intéressant ​de monter manuellement ou automatiquement ces partitions. Il peut aussi être intéressant de spécifier ​des options ​de montage (mettre une partition en lecture seulepar exemple).
  
-<note tip>Il existe 2 logiciels graphiques très pratiques pour ceci : **[[:disk-manager]]** ainsi que [[:pysdm]].</​note>​+Les montages automatiques (au démarrage) sont définis dans le fichier ''/​etc/​fstab''​. Ce fichier peut-être modifié soit manuellement,​ soit automatiquement (le logiciel de référence étant ​[[gnome-disk-utility]], normalement installé par défaut)
  
-<note warning>​Les informations de cette page s'​adressent aux utilisateurs avancésmodifier le fichier fstab peut rendre votre système non fonctionnel en cas d'​erreurs.</​note>​+Nous allons découvrir ces outilsainsi que quelques commandes utiles.
  
-Remarque ​ce sujet du forum indique comment monter automatiquement une partition au démarrage.+Quelques liens [[montage|montage]],​ [[:​systeme_de_fichiers|les systèmes de fichiers sous Linux]] ainsi que le portail [[:​partitions|Partitions]].
  
- http://forum.ubuntu-fr.org/viewtopic.php?​pid=3813312#​p3813312+<note warning>​Le montage des partitions a un impact sur le système et nécessite donc les [[:sudo|droits d'​administration]]. \\ L'​utilisation des droits d'​administration permet de modifier le système, et risque de l'​abîmer. Il est donc préférable de sauvegarder votre fichier ''​/etc/fstab''​ avant manipulation.\\ 
 +Compte tenu des risques, ne faite rien que vous n'ayez pas bien compris.</note> 
 +===== Rappel sur la désignation des partitions ===== 
 +Les périphériques sont désignés par le système par des fichiers dans le répertoire ''/​dev/''​. \\
  
 +Les périphériques de stockage seront donc reconnus par ''/​dev/​sda'',​ ''/​dev/​sdb'',​ etc.\\
 +Les [[:​partitions#​regle_de_denomination|partitions]] sont désignées par leur numéro dans le disque (''/​dev/​sda1'',​ ''/​dev/​sda2'',​ ...)
  
-Voir aussi en plus simple ​[[:autofs]]+Les partitions peuvent ​aussi être reconnues par leur [[:uuid_et_label|UUID ou leur label]].
  
-===== Présentation =====+C'est une partition que l'on monte (sdb1, par exemple), JAMAIS un disque (sdb, par exemple) : cela ne fonctionne pas.
  
-Une unité de stockage (disque dur interne ou externeclé USBCDROMDVDROMdisquette, ...)pour être utilisée par un ordinateur doit être formatée. Cela signifie qu'on doit lui assigner un **[[:​système ​de fichiers]]**,​ indiquant les caractéristiques possibles des répertoires et fichiers ​((Il faut noter que dans la philosophie Unix, un répertoire est un fichier, mais ce n'est pas là notre propos. Consultez google pour plus d'​information à ce sujet.)) tels que le nom, la hiérarchisation,​ la taille ​maximale, les droits ​d'accès et d'​autres options.+==== Liste des partitions ==== 
 +Vous pouvez lister les partitions en lançant la commande : <​code>​ lsblk -o name,fstype,size,fsused,fsuse%,fsavail,​label,​mountpoint | grep -Ev "​loop"</​code>​ ou <​code>​ sudo fdisk -l </​code>​ 
 +Ce qui vous ressortira quelque chose comme : 
 +<​code>​Disk /dev/sda: 117.3 GB, 117298257920 bytes 
 +255 têtes63 secteurs/​piste,​ 14260 cylindres, total 229098160 secteurs 
 +Unités = secteurs de 1 512 = 512 octets 
 +Taille ​de secteur ​(logique / physique: 512 octets / 512 octets 
 +taille d'E/S (minimale / optimale) : 512 octets / 512 octets 
 +Identifiant de disque : 0x00067e35
  
-Liste rapide des systèmes de fichiers dont vous avez une description plus détaillée sur la page [[:système de fichiers]].+Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système 
 +/​dev/​sda1 ​           2048    41945087 ​   20971520 ​  ​83 ​ Linux 
 +/​dev/​sda2 ​       41945088 ​   58722303 ​    ​8388608 ​  ​82 ​ partition d'​échange Linux / Solaris 
 +/​dev/​sda3 ​       58722304 ​  ​121636863 ​   31457280 ​  ​83 ​ Linux 
 +/​dev/​sda4 ​  ​* ​  ​121636864 ​  ​206187183 ​   42275160 ​   7  HPFS/​NTFS/​exFAT
  
-^  Nom Usuel  ^  Nom dans le fstab  ^Nom détaillé ​ ^ +Disk /dev/sdb: 500.1 GB, 500107862016 bytes 
-|  Ext2FS ​ |  ext2  |Extended File System v2  | +255 têtes, 63 secteurs/​piste,​ 60801 cylindres, total 976773168 secteurs 
-|  Ext3FS ​ |  ext3  |Extended File System v3  | +Unités = secteurs de 1 * 512 = 512 octets 
-|  [[:ext4|Ext4FS]] ​ |  ext4  |Extended File System v4  | +Taille de secteur (logique / physique) ​512 octets / 4096 octets 
-|  FAT 16  |  fat  |File Allocation Table 16b | +taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets 
-|  FAT 32  |  vfat  |File Allocation Table 32b  | +Identifiant ​de disque : 0x000e4fe9
-|  NTFS  |  ntfs  |New Technology FileSystem ​ | +
-|  XFS  |  xfs  | | +
-|  ReiserFS ​ |  reiserfs ​ | | +
-|  ISO 9660  |  iso9660 ​ | format des CDROM | +
-|  HFS  |  |format ​de MacOS  |+
  
-et également ​//adfs,  affs ​autofscoda, coherent, cramfs, devpts, efs, hpfs, jfs, minix, msdos, ​ ncpfs, nfs, proc,  qnx4,  ramfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, xenix, xfs, xiafs//.+Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système 
 +/dev/sdb1            2048   ​976773119 ​  ​488385536 ​  ​83 ​ Linux 
 +</​code>​  
 +Vous pouvez alors lire la liste des périphériques de stockage (disques durclés usb,…) avec la liste des partitions et leur taille.
  
-<note tips>​Bien que le système vfat ne permette malheureusement pas de gérer ​les droits d'​accès aux fichiers, il a l'​avantage d'​être lisible (presque) partout. C'est donc un bon choix si l'on souhaite rendre des données accessibles sous plusieurs systèmes (partition de partage entre systèmes). +==== Note sur les UUIDs ==== 
-C'est le cas également pour le NTFS maintenant qui peut être lisible sur tous les systèmes d'​exploitation grâce au pilote ​[[:ntfs-3g]] installé sur la majorité des distributions Linux et installable sur MacOS.</​note>​+L'[[:uuid_et_label|UUID]] est défini pour chaque partition de façon quasi-unique, ​et assure qu'il n'y aura pas d'​ambiguïtés dans votre fstab.\\
  
-Dans une installation standardun service du système assure ​le montage automatique des systèmes ​de fichier ​dès qu'un périphérique externe en USB (par exemple) est détecté permettant ​d'afficher le contenu ​de cette nouvelle unité ​de stockage.+Pour obtenir les UUIDs de vos partitions, tapez 
 +<​code>​sudo blkid</​code>​ 
 +Vous obtiendrez la liste de vos partitions et pour chacune, son chemin d'​accès,​ son UUID, son étiquette, le type de système ​de fichier qu'elle contient : 
 +<​code>​ 
 +/dev/sda1: UUID="​8bf33340-e94c-4c4c-981d-35e73f8bc65c"​ TYPE="​ext4"​  
 +/dev/sda2: UUID="​ac56a704-260b-45f5-85ac-e1b451bb79bc"​ TYPE="​swap"​  
 +/dev/sda3: LABEL="​Home"​ UUID="​8244710a-5cce-49ad-8b93-a92b5d2e53a0"​ TYPE="​ext4"​  
 +/dev/sda4: UUID="​DCF041AFF0419126"​ TYPE="​ntfs"​  
 +/dev/sdb1: LABEL="​Home"​ UUID="​2c313d40-6bdc-4e42-917a-b04f88764aac"​ UUID_SUB="​c21f5351-4022-41af-b504-6b59b455bf23"​ TYPE="​btrfs"​  
 +</​code>​ 
 +On peut aussi taper la commande : 
 +<​code>​lsblk -fe7</​code>​ 
 +qui donne sensiblement les mêmes résultats : 
 +<​code>​NAME ​  ​FSTYPE LABEL       ​UUID ​                                ​FSAVAIL FSUSE% MOUNTPOINT 
 +sda                                                                            
 +├─sda1 ntfs   ​WIN10 ​      ​6C8CA3038CA2C6C4 ​                                    
 +├─sda2 ext4   ​MINT ​       727a95e9-70a4-4d6e-a739-cb884c4188df ​  ​19,​1G ​   40% / 
 +├─sda3 ext4   ​HOMEMINT ​   4bdc4735-801e-43fe-b3f1-58fd832638f5 ​  ​23,​6G ​   71% /home                                                                                                                                                                                     
 +└─sda4 ext4   ​DATAS ​      ​ca07415a-2704-497f-8091-1d9a4a58f3d0 ​ 297,​2G ​   43% /​media/​DATAS</​code>​ 
 +Ainsi, dans votre fstab, les trois lignes suivantes sont équivalentes :\\ 
 +<​file>​ 
 +/​dev/​sda3 ​                                    /home ext4 defaults ​   0 0 
 +UUID=8244710a-5cce-49ad-8b93-a92b5d2e53a0 ​    /home ext4 defaults ​   0 0 
 +LABEL=Home ​                              /home ext4 defaults ​   0 0 
 +</​file>​ 
 +La première ligne est déconseillée dans la mesure où le chemin d'​accès à la partition ​(/dev/sda3dépend du contexte dans lequel le fichier /​etc/​fstab ​est exploité ; la seconde est la plus solide, car l'​UUID ​d'une partition n'est qu'​exceptionnellement modifiée ; la troisième est la plus claire, mais l'​unicité ​de l'​étiquette n'est pas garantie, ni sa pérennité,​ l'​utilisateur ayant tout loisir ​de nommer ses partitions comme il l'​entend (des conflits peuvent survenir du fait de la présence au démarrage de temps à autre de périphériques amovibles).
  
-En mode [[:​console]] (sans bureau) ou quand rien d'​autre ne marche, nous allons utiliser un autre moyen : la commande ​**mount**.+===== La commande mount =====
  
-==== Rappel sur la désignation des partitions ====+Pour monter un périphérique,​ il faut connaître son nom, qui sera de la forme **/​dev/​sda1**,​ par exemple.
  
-Le système voit les périphériques au travers d'une arborescence située dans le répertoire système /dev/dont la dénomination dépend du type de périphérique et de l'​ordre ​de branchement(exemples ​pour les périphériques ​de stockages: ​/dev/hda /dev/hdb /dev/sda /dev/sdb ...)+La commande ​**mount** permet ​de manipuler tous les montages ​de systèmes de fichier ​de manière très précise. 
 +Par exemple, ​pour monter l'​unité ​de stockage **/dev/sdc3** dans le dossier **/media/stock** : 
 +<​code>​sudo mount /dev/sdc3 /media/stock</​code>​ 
 +Le système de fichier utilisé est détecté automatiquement.
  
-Les [[:​partitions#​regle_de_denomination|partitions]] sont désignées par leur numéro dans le disque. ​(exemples : /dev/hda1 /​dev/​hda2 ​...)+Le point de montage doit être un dossier, quelconque mais **existant** et **vide** au moment du montage ​(idéalement un sous-répertoire de **/media**, mais ce n'est pas strictement obligatoire).
  
-<​note>​ +<​note ​importante
-Avec la version 6.10 d'​Ubuntu (et suivantes), l'UUID est utilisé par défaut dans le fichier fstabInformations à ce sujet sur cette page: [[:​uuid_et_label]]+**__Point de montage dont le nom comporte un espace.__**
  
-Avec la version 7.10 d'Ubuntu (et suivantes), tout périphérique est assimilé comme étant en série. Ainsi, tous vos **hdX** seront transformé en **sdX**. Ceci  vient d'un changement dans le kernel. +__Pour ​la commande mount :__ l'​espace doit être précédé ​d'un caractère d’échappement ​**\**, ou le nom du dossier mis entre guillemets ​**""​** .
-</​note>​+
  
-<​note>​Si comme moi vous aviez supprimé les UUID de votre fichier /etc/fstab pour les remplacer par des bons /dev/hdX (qui ne bougent pas si vous repartitionnez votre disque), la transition hdX -> sdX n'a pas été transparente. Deux solutions pour remédier à ce problème ​ +__Pour Fstab :__ l'espace doit être remplacé ​par **\040** ​.
-  - vous éditez à la main votre fstab et remplacez vous même les hdX par des sdX +
-  - vous souhaitez revenir à la version avec les UUID (notamment pour éviter les futurs changements s'il y en a et revenir à la version choisie ​par défaut par Ubuntu), vous pouvez lancer le script /​usr/​lib/​udev/​migrate-fstab-to-uuid.sh dans un terminal (valable à partir de Gutsy). [[https://​bugs.launchpad.net/​ubuntu/​+source/​udev/​+bug/​93655/​comments/​12|hda -> sda transition not handled during upgrade]]+
 </​note>​ </​note>​
  
-<​note>​Les cartes mémoires se montent bien dans /dev, mais la plupart ne sont pas en /dev/sd*. +Nous allons voir comment spécifier des options ou le système de fichiers.
- On les trouve sous /​dev/​mspblk0. ​ De plus, les partitions ne sont pas notées 1, 2, ..., mais p1, p2, ... +
-La seconde partition d'une carte mémoire sera donc : /​dev/​mspblk0p2</​note>​+
  
 +==== Format de la partition ====
 +Le type de fichiers est normalement détecté par la commande ''​mount''​. Néanmoins il peut être nécessaire de lui imposer un format :
 +<​code>​sudo mount -t [type] /dev/sdc3 /​media/​stock</​code>​
 +[type] est le format de système de fichiers ([[:​systeme_de_fichiers|Les systèmes de fichiers]]). Voici les plus fréquents : \\
 +''​ext2,​ ext3, ext4, f2fs, fat''​ (Fat16), ''​vfat''​ (Fat32), ''​ntfs,​ ntfs3''​ (plus efficace, depuis 22.04), ''​reiserfs,​ btrfs, tmpfs, iso9660''​(Disques)'',​…''​
  
 +Exemples :
 +<​code>​
 +mount -t ext4 /dev/sdc3 /​media/​stock ​      # Système de fichiers en ext4
 +mount -t vfat /dev/sdc3 /​media/​partage ​    # Système de fichiers et Fat32
 +mount -t iso9660 /dev/sdd /​media/​cdrom ​    # CD
 +</​code>​
 +\\
 +On peut aussi monter des fichiers, comme par exemple des Isos (images disque) :
 +<​code>​mount -o loop ubuntu-cdrom.iso /​media/​cd-installation</​code>​
  
 +==== Droits par défaut du volume ====
 +=== Système de fichier linux ===
 +En ce qui concerne les systèmes de fichiers qui ont une gestion des permissions (comme Ext2, Ext3, ReiserFs etc...), si vous souhaitez pouvoir écrire dans cette partition en tant que simple utilisateur,​ vous devez [[/​permissions#​modifier_les_permissions|changer les permissions ou l'​appartenance du répertoire racine de la partition]].
  
- +Dans notre exemple précédent,​ si ''/​dev/​sdc3''​ est en ext3 :\\ 
- +Après avoir monté ​la partition dans ''​/​media/​stock'' ​:
-===== La commande mount ===== +
- +
- +
-La commande mount permet de manipuler tous les montages de systèmes de fichier de manière très précise. Elle est invoquée de la manière suivante et il vous faudra les [[:​sudo|droits d'administration]] pour l'utiliser. : +
- +
-<​code>​sudo mount /dev/hda3 /​media/​stock</​code>​ +
- +
-La précédente commande a pour effet de monter l'unité de stockage "/​dev/​hda3"​ dans le dossier "/​media/​stock"​. Le système de fichier utilisé est détecté automatiquement. +
- +
-<note warning>​Sous Ubuntu, l'utilisateur par défaut ne peut pas forcément accéder de cette manière aux dossiers montés. Pour cela, il faut définir un u-mask (voir ci-dessous).</​note>​ +
- +
-Le point de montage ​est un répertoire de l'​arborescence de votre système de fichier. Vous pouvez monter un disque dans n'​importe quel répertoire de votre système de fichier, il suffit de vérifier qu'il existe (le créer avant sinon) et qu'il soit vide bien entendu. Ubuntu monte automatiquement les disques dans des sous-dossiers du répertoire /media par exemple, dossiers qu'il crée automatiquement avant. +
- +
-Il est possible de passer des options à mount pour spécifier un système de fichier s'il ne le trouve pas ou pour imposer des droits particuliers sur le volume monté par exemple. Nous allons voir ici les principales d'​entre elles. +
- +
-==== Options de montage ==== +
- +
-**__Format de la partition__** ​:\\ Le type de fichier peut être détecté automatiquement par mount par une analyse des premiers bits de la partition ​demandée, néanmoins ​dans certains cas il peut être nécessaire de lui imposer un format.  +
-<​code>​sudo mount -t [type] /​dev/​hda3 ​/​media/​stock</​code>​ +
-<​note>​[type] peut être une des valeurs suivantes (voir tableau plus haut pour les formats courants) :\\ adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, hfs, hfsplus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs,  proc,  qnx4,  ramfs, ​ reiserfs, romfs, ​ smbfs, ​ sysv,  tmpfs, ​ udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs. </​note>​ +
-__exemples ​:__ +
 <​code>​ <​code>​
-  mount -t ext3 /​dev/​hda3 ​/​media/​stock +sudo chown utilisateur ​/​media/​stock
-  mount -t vfat /dev/hda3 /​media/​partage +
-  mount -t iso9660 /dev/hdd /​media/​cdrom+
 </​code>​ </​code>​
  
-<note tip>On peut également monter un fichiercomme un iso de cdrom: +Désormais cette partition appartient à l'​utilisateurpeu importe où elle sera montée ensuite.\\ 
-<​code>​mount -o loop sauvegardes.iso /​media/​loop</​code></​note>​ +(Les droits sont attachés au répertoire racine de la partition et non au répertoire ​du point de montage)\\ 
- +\\ 
-**__Droits par défaut ​du volume :__**\\ +=== Système de fichier non linux === 
-Cas concret : vous avez une partition en vfat sur votre disque dur et vous voudriez, en tant qu'​utilisateur lambda, pouvoir lire et écrire dessus. Le système de fichier vfat ne spécifiant aucun droit, nous devons les lui spécifier lors du montage. Il faut alors indiquer à mount la valeur de [[wpfr>​umask]] adéquate grâce à l'​option homonyme.+Cas concret : vous avez une partition en vfat sur votre disque dur et vous voudriez, en tant qu'​utilisateur lambda, pouvoir lire et écrire dessus. ​\\ Le système de fichier vfat ne spécifiant aucun droit, nous devons les lui spécifier lors du montage. Il faut alors indiquer à mount la valeur de [[wpfr>​umask]] adéquate grâce à l'​option homonyme.
  
 <​code>​sudo mount -o umask=0 /dev/hda7 /​media/​win_d</​code>​ <​code>​sudo mount -o umask=0 /dev/hda7 /​media/​win_d</​code>​
Ligne 113: Ligne 146:
 Vous pouvez également restreindre les droits en montant le système de fichier en lecture seule (c'​est-à-dire avec aucun droit en écriture). L'​option "-o umask=0222"​ est alors tout indiquée. Vous pouvez également restreindre les droits en montant le système de fichier en lecture seule (c'​est-à-dire avec aucun droit en écriture). L'​option "-o umask=0222"​ est alors tout indiquée.
  
-En ce qui concerne les systèmes de fichiers qui ont une gestion des permissions (comme Ext2, Ext3, ReiserFs etc...), si vous souhaitez pouvoir écrire dans cette partition en tant que simple utilisateur,​ vous devez changer les permissions ou l'​appartenance du dossier. Exemple: 
  
-<​code>​ +==== Autres options ==== 
-sudo mkdir /​media/​stock +D'​autres options peuvent être spécifiées au montage comme nous le verrons dans le paragraphe suivant. Les mêmes options (''​default'',​ etc) peuvent être spécifiées avec ''​mount'',​ après "''​-o''"​. Par exemple : 
-sudo mount -t ext3 /dev/hda6 /​media/​stock +<​code>​mount -t vfat -o defaults,​rw,​user,​umask=022,​uid=1000 ​/dev/sdc3 /​media/​stock</​code>​
-sudo chown utilisateur:​utilisateur /​media/​stock +
-</​code>​ +
-Avec la commande //chown//, nous changeons le propriétaire de la racine de la partition //hda6//, le système de fichier est Ext3, les droits seront donc conservés et désormais cette partition appartient à l'​utilisateur peu importe où elle sera montée. +
-===== Le fichier fstab =====+
  
  
-Le fichier ​**/etc/fstab** contient les points de montage ​pour chacun des systèmes de fichiers utilisés couramment sur le système et qui seront montés au démarrage. Un fstab est composé de plusieurs lignes décrivant chacune les conditions de montage de chaque système de fichier.+===== Le fichier fstab (montage ​automatique) =====
  
-<note important>​ +Le fichier **''​/etc/fstab''** liste les partitions qui seront montées __automatiquement au démarrage__ ​ou à la connexion du périphériqueavec toujours les mêmes options. \\  
-Contrairement a la commande mount qui accepte, en tant que point de montage, un dossier dont le nom comporte un espace (si l'espace est précédé du caractère d'echappement \ ou si le nom du dossier est mis entre guillemets),​ **dans le fichier ​fstab, les point de montage doivent être avoir un nom  __ne comportant pas d'espace__** (valable le 12/​07/​2011) +Il est composé ​de plusieurs lignes décrivant chacune les conditions de montage de chaque partition / système de fichier
-</​note>​ +Le fichier ​**fstab** est créé lors de l'installation,​ avec le montage ​de la partition principaleet de la [[swap|swap]]. Mais on peut y ajouter manuellement des partitions supplémentaires,​ qui seront alors automatiquement lues par le système au démarrage. 
-On retrouve dans ce fichier toutes ​les informations que nous avons déjà mentionnées. Certains systèmes de fichiers tels que /proc ou la swap sont un peu particulierset il est fortement recommandé ​de ne pas y toucher sans savoir ce que l'on fait+ 
-Les options de **dump** et de **pass** sont utilisées respectivement pour les sauvegardes (dump) et l'ordre de vérification au démarrage (pass). Laissez-y également les valeurs par défaut. +<note importantSi le nom d'un point de montage contient un espace, cet espace doit être remplacé ​dans ''/​etc/​fstab''​ par ''​**\040**''</​note>​
-Si vous ajoutez manuellement des  partitions par la suiteles valeurs ​de <​pass>​ doivent rester à 1 pour la racine, à 2 pour les autres partitions UNIX, et à 0 pour le swap et les partitions windows (cf. [[http://​pwet.fr/​man/​linux/​formats/​fstab|man fstab]])Une valeur de <passà 0 signifie qu'il n'y aura pas de vérification au démarrage (Déconseillé ​dans la plupart des cas).+
  
 +==== Les bases ====
 Le fichier /etc/fstab suivant résume une configuration classique : Le fichier /etc/fstab suivant résume une configuration classique :
 <​file>​ <​file>​
-  ​# /etc/fstab: static file system information. +# /etc/fstab: static file system information. 
-  +
-  # file system mount point     ​type        options ​                    ​dump pass +Use '​blkid'​ to print the universally unique identifier for a 
-  ​proc ​         /proc           ​proc ​       defaults ​                   0    0 +# device; this may be used with UUID= as a more robust way to name devices 
-  ​# / was on /dev/sda7 during installation +# that works even if disks are added and removed. See fstab(5). 
-UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb /               ​ext4 ​   errors=remount-ro 0       ​1+
 +# <file system>                              <mount point>  <type>   <options>       <dump>  <pass> 
 +# / was on /dev/sda7 during installation 
 +UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb ​   /               ​ext4 ​   errors=remount-ro 0     ​1
 # /boot was on /dev/sda5 during installation # /boot was on /dev/sda5 during installation
-UUID=c3cc32c0-b4bd-49f6-b23c-35fed37adea5 ​/boot           ​ext2 ​   defaults ​       0       2 +/​dev/​sda5 ​                                   ​/boot           ​ext2 ​   defaults ​         0       2 
-# /home was on /dev/sda8 during installation +# /musique ​was on /dev/sda8 during installation 
-UUID=c2d386a1-c2f9-4d2f-957a-65a5d9b4c4d7 ​/home           ​ext4 ​   defaults ​       0       2 +LABEL=ma-musique ​                            /musique ​       ​ext4 ​   defaults ​         0       2
-# /opt was on /dev/sda9 during installation +
-UUID=050d0aa7-e04c-4f3a-895d-4b228a0ba049 /opt            ​ext4    defaults ​       0       2+
 # swap was on /dev/sda6 during installation # swap was on /dev/sda6 during installation
-UUID=2c442228-1991-48c7-bad9-a80dfc8267cf none            swap    sw              0       0+UUID=2c442228-1991-48c7-bad9-a80dfc8267cf ​   none            swap    sw                0       0
 </​file>​ </​file>​
-Lorsqu'un système ​de fichier ​est présent ​dans le fichier ​/etc/fstab, tous les utilisateurs peuvent ​le monter en tapant "mount /media/stock" ​par exempleEn outreil est monté automatiquement ​au démarrage de la machine.+Ici, le disque principal est sda7, et son swap est sda6. Ces lignes ont été créées par l'installateur. Les partitions additionnelles montées sont sda5 et sda8, et ont été ajoutées à la main. 
 +  - la colonne **<file system>​** indique la partition elle-même. Il y a plusieurs solutions, mais les 4 principales sont : 
 +    - l'UUID ([[https://​fr.wikipedia.org/​wiki/​Universal_Unique_Identifier|Universal Unique Identifier]]) ​de la partition. Celle-ci sera obtenue via un **sudo blkid**, via [[gnome-disk-utility|gnome-disk]],​ ou via [[gparted|gparted]]. Un UUID ressemble à cela **UUID=2c442228-1991-48c7-bad9-a80dfc8267cf** 
 +    - La référence directe à la partition sous la forme **/​dev/​sda2** ou **/​dev/​sdb2** (**sd** signifie disque dur, la lettre ​est l'​ordre du disque ​dans le boot, et le N° est celui de la partition. **/dev/sdb2** est donc la 2e partition du 2e disque dur). Inconvénient de cette méthode : si vous changez ​le 1er disque de démarrage dans le boot, la signification de sdb2 (par exemple) changera en même temps. l'UUID est donc un identifiant plus stable et plus sûr. 
 +    - Le LABEL de la partition à monter. On peut en effet donner un nom (label, ou étiquette) à une partition, même si ce n'est pas obligatoire. Dans ce cas, l'​identifiant de la colonne **<file system>​** prendra la forme **LABEL=nom-partition**,​ où **nom-partition** est à remplacer par le LABEL réel. 
 +    - l'​adresse **IP** du disque réseau, collée au nom du répertoire qui s'y trouve et qu'on souhaite monter : **192.168.7.12/​rep_a_partager**. Dans ce cas, l'​identifiant de la colonne **<file system>​** prendra la forme **CIFS** (un forme particulière du protocole SMB1). 
 +  - la colonne **<mount point>** indique un répertoire quelconque sur la partition principale, et qui servira de point de montage. Pour la partition principale elle-même, c'est évidemment "​**/​**"​ (la racine). Pour une partition montée additionnelle,​ on choisit en général (ce n'est pas un emplacement obligatoire) un répertoire ​/media/xxx (où **xxx** est le nom que vous choisissez pour la partition de montage). Vous devez créer manuellement cette partition de montage __une fois pour toutes__ ​par un **sudo mkdir /​media/​xxx**Laissez-la videet n'y touchez plus jamais. Elle sert juste d'​ancrage au fstab pour son montage. 
 +  - La colonne **<​type>​** donne le type de système de fichiers de la partition montée. Pour une partition linux, c'est souvent ext4. 
 +  - La colonne **<​option>​** permet de choisir des options au montage. Sauf si vous êtes un expert, laissez **defaults** pour une partition ajoutée par vous au montage. 
 +  - la colonne **<​dump>​** règle les sauvegardes via l'​utilitaire **[[dump|dump]]**. La valeur classique est **0** (dump n'est presque jamais actif ou utilisé). 
 +  - la colonne **<​pass>​** règle la priorité de vérification des erreurs éventuelles du système de fichiers ​au démarrage. Laissez-y les valeurs par défaut ​de l'​installation. Si vous ajoutez manuellement des partitions, les valeurs de <​pass>​ doivent être: 
 +     * **1** pour la racine (votre partition principale) => vérif de cette partition en priorité,​ 
 +     * **2** pour les autres partitions Linux (les partitions "​externes"​ que vous souhaitez monter) => ce **2** fera les vérifs __après__ la partition racine (démarrage plus rapide), 
 +     * **0** pour le swap et les partitions windows (cf. [[man>​fstab]]) => pas de vérification.
  
 +Par exemple une ligne **fstab** type pour un montage d'une partition linux **ext4** sera :\\
 +<​file>/​dev/​sdb2 ​                                     /​media/​toto ​     ext4     ​defaults ​    ​0 ​    ​2</​file>​
 +ou mieux (l'​UUID est plus stable)
 +<​file>​UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb ​     /​media/​toto ​     ext4     ​defaults ​    ​0 ​    ​2</​file>​
 +Ces 2 exemples montent pareillement et automatiquement la 2e partition du 2e disque dur.\\
 +Autre exemple, celui d'un disque __réseau__ désigné par l'​adresse ''​IP/​nom_répertoire_à_partager''​ :
 +<​file>//​192.168.7.12/​rep_a_partager ​                 /​media/​toto ​     cifs     ​guest,​uid=1000,​iocharset=utf8 ​ 0  0</​file>​ (0 et non 2 pour la dernière position, car il s'agit d'une partition Windows).
  
-^ Options ^ Description ^ Compatible ^ +__Dans tous les cas__il ne faut pas oublier ​de créer "l'ancrage" ​''/​media/​toto'​' par un **sudo mkdir /media/toto** ​(remplacez **toto** ​par le nom qui vous convient).
-| //​defaults//​ | //​Correspond a rw,suid,​dev,​exec,​auto,​nouser et async// | FIXME | +
-| auto | Montage automatique lors d'un appel mount -a (par défaut) | FIXME | +
-| noauto | Pas de montage automatique | FIXME | +
-| nouser | Seul le compte root peut monter/​démonter le système de fichier (par défaut) | FIXME | +
-| user | Autorise ​l'utilisateur courant à monter/​démonter le système de fichier. Ceci entraîne l'utilisation des options noexec, nosuid, et nodev (à moins qu'elles ne soient explicitement surchargées,​ comme dans une ligne d'​option user,​exec,​dev,​suid). | FIXME | +
-| rw | Montage en lecture/écriture (par défaut) | FIXME | +
-| ro | Montage en lecture seule | FIXME | +
-| atime | Met a jour la date à chaque manipulation (par défaut) | FIXME | +
-| noatime | Pas de mise à jour de la date | FIXME | +
-| exec | Autorise l'exécution des programmes (par défaut) ​ | FIXME | +
-| noexec | Pas d'​exécution | FIXME | +
-| showexec | ? FIXME | FIXME | +
-| suid | Les bits [[http://fr.wikipedia.org/​wiki/​Setuid|SUID et SGID]] sont pris en compte ​(par défaut) | FIXME | +
-| nosuid | Les bits SUID et SGID ne sont pas pris en compte | FIXME | +
-| async | Montage asynchrone (par défaut) | FIXME | +
-| sync | Montage synchrone | FIXME | +
-| dev | Interpréte les fichiers spéciaux de périphériques présents sur le système (par défaut| FIXME | +
-| nodev | N'​interpréte pas les fichiers spéciaux de périphériques présents sur le système de fichiers | FIXME | +
-| uid= | spécifie le n° du user propriétaire des fichiers (si omis : root) | fat, FIXME | +
-| gid= | spécifie le n° du groupe propriétaire des fichiers (si omis : root) | fat, FIXME | +
-| umask= | spécifie les droits d'​usage des fichiers (et des dossiers ? FIXME) - voir [[permissions|Permissions (ou droits d'​accès)]] permission=777-umask (si omis : ? FIXME) | fat, hfs, hpfs, ntfs, udf | +
-| dmask= | spécifie les droits d'​usage des dossiers - (si omis : ? FIXME) | FIXME | +
-| fmask= | spécifie les droits d'​usage des fichiers - (si omis : ? FIXME) | FIXME | +
-| utf8 //(autres possibilités ?FIXME)// | (par exemple) spécifie l'​encodage utf8 pour les noms de fichiers | FIXME |+
  
-==== Note sur les UUIDs ==== +Lorsqu'​un système ​de fichiers ​(partition) est présent dans le fichier ​/etc/fstabil est monté automatiquement au démarrage de la machine. \\ 
-Il est préférable ​de noter les UUIDs des partitions plutôt que leur types bloc (exemple : ​/dev/sda4/​dev/​sdb2…). En effet, l'​UUID ​est unique à la partition, elle vous assure qu'il n'y aura pas d'​ambiguïté dans votre fstab.\\ +Les utilisateurs peuvent également le démonter manuellement ou le re-monter en tapant **umount** ou **mount ​/media/xxx** (où **xxx** est le nom de votre répertoire de montage). ​\\
-Pour obtenir les UUIDs de vos partitions, tapez  +
-<​code>​sudo blkid</​code>​ +
-Vous obtiendrez la liste de vos partitions, leurs types blocs, leurs UUIDs, leurs étiquettes,​ leurs types: +
-<​code>​ +
-/dev/sda5: UUID="​c3cc32c0-b4bd-49f6-b23c-35fed37adea5"​ TYPE="​ext2"​  +
-/dev/sda6: UUID="​2c442228-1991-48c7-bad9-a80dfc8267cf"​ TYPE="​swap"​  +
-/dev/sda7: UUID="​33b870b8-a81e-4203-a4fd-7affa9f412fb"​ TYPE="​ext4"​  +
-/dev/sda8: UUID="​c2d386a1-c2f9-4d2f-957a-65a5d9b4c4d7"​ TYPE="​ext4"​  +
-/dev/sda9: UUID="​050d0aa7-e04c-4f3a-895d-4b228a0ba049"​ TYPE="​ext4"​ +
-/dev/sdd1: LABEL="​Datas"​ UUID="​77F65A7545C503E9"​ TYPE="​ntfs"​  +
-</​code>​ +
-Ainsi, dans votre fstab, les deux lignes suivantes sont équivalentes,​ mais on préfèrera la seconde :\\ +
-<​file>​ +
-/dev/sdd1 /mnt/Datas ntfs defaults 0 0 +
-UUID=77F65A7545C503E9 /mnt/Datas ntfs defaults 0 0 +
-</​file>​+
  
 +Quand vous avez fini de créer votre **fstab**, vous pouvez le tester sans redémarrer votre PC, via un :
 +  sudo mount -a
 +Cette commande exécute le **fstab** comme si votre machine venait de démarrer. C'est plus rapide pour tester différentes configurations.
 +==== Utilisation avancée ====
 +Pour aller plus loin, voici la liste des options pour la colonne **<​option>​**.
 +Certaines options sont communes à tous les systèmes de fichiers, d'​autres sont spécifiques à la norme [[wpfr>​POSIX]] (tous les systèmes de fichiers Linux), d'​autres à certains systèmes de fichiers. Voici la plupart des options que vous pourrez rencontrer :
  
 +^ Options ^ Description ^ Compatible ^
 +| //''​defaults''//​ | //​Correspond à: ''​rw,​suid,​dev,​exec,​auto,​nouser,​async''//​ | Tous |
 +| ''​**rw**/​ro''​ | Montage en lecture/​écriture (par défaut) ou lecture seule | Tous |
 +| ''​**suid**/​nosuid''​ | Les bits [[https://​fr.wikipedia.org/​wiki/​Setuid|SUID et SGID]] sont pris en compte (ou non) \\ Relatif aux droits donnés aux exécutables sur la partition | Tous |
 +| ''​**dev**/​nodev''​ | Interprète ou non les fichiers spéciaux de périphériques présents sur le système (par défaut) | Tous |
 +| ''​**exec**/​noexec''​ | Autorise l'​exécution des programmes (par défaut) ​ | Tous |
 +| ''​**auto**/​noauto''​ | Montage automatique (ou non) lors d'un appel mount -a (par défaut) | Tous |
 +| ''​**nouser**''​ | Seul le compte root peut monter/​démonter le système de fichier (par défaut) | Tous |
 +| ''​**_netdev**''​ | Le système de fichiers est sur une machine qui nécessite un accès réseau. Cela indique au système d'​attendre que la configuration réseau soit active avant de procéder au montage | ?? |
 +| ''​**async**''​ | Montage asynchrone (par défaut) | Tous |
 +| ''​**atime**/​noatime''​ | Inscrit (ou non) la date d'​accès (préférez ''​noatime''​ pour les SSD) | Norme POSIX |
 +| ''​sw''​ | Spécifique à l'​activation des partitions swap | swap |
 +| ''​discard''​ | active le [[/​ssd_solid_state_drive#​la_commande_trimactivation_et_utilisation|TRIM]] sur les partitions SSD (à rajouter manuellement) | ext4, btrfs (SSD) |
 +
 +D'​autres options restent moins fréquentes (Liste non exhaustive) :
 +^ Options ^ Description ^ Compatible ^
 +| ''​users''​ | Autorise l'​utilisateur courant à monter/​démonter le système de fichier. Ceci entraîne l'​utilisation des options noexec, nosuid, et nodev (à moins que exec,​dev,​suid ne soient spécifiés). | Tous |
 +| ''​sync''​ | Montage synchrone (semblerait déconseillé) | ext2-3, fat, vfat, ufs |
 +| ''​uid=''​ | Spécifie le n° du propriétaire des fichiers pour les systèmes de fichiers non-Linux (où ce n'est donc pas spécifié). Vous pouvez trouver le votre dans "/​etc/​passwd"​. \\  * Si non spécifié : root \\  * Si ''​uid''​ ou ''​gid''​ spécifié sans nombre, utilisateur actuel. | Formats non-Linux |
 +| ''​gid=''​ | Pareil pour les groupes propriétaires (Les numéros de groupes sont dans ''/​etc/​group''​) | Formats non-Linux |
 +| ''​umask=''​ | Spécifie les permissions (droits d'​accès/​lecture/​écriture) sur la partition, même fonctionnement que ''​uid''​ et ''​gid''​. ​ | Formats non-Linux |
 +| ''​dir_mode=''​ | Spécifie les droits d'​usage des dossiers (si omis : ''​umask''​ actuel) ​ | CIFS uniquement |
 +| ''​dmask=''​ | Spécifie les droits d'​usage des dossiers (si omis : ''​umask''​ actuel) | Formats non-Linux |
 +| ''​file_mode=''​ | Spécifie les droits d'​usage des fichiers (si omis : umask actuel) ​ | CIFS uniquement |
 +| ''​fmask=''​ | Spécifie les droits d'​usage des fichiers (si omis : umask actuel) | Formats non-Linux |*
 +| ''​nofail''​ | Ne pas planter le boot si la partition est dans un état incohérent ​ ou absente. | |*
 +| ''​utf8''​ | Convertit l'​encodage unicode 16 bits des caractères en  utf8 pour les noms de fichiers | ISO9660 (Images CD/DVD), Ntfs, Fat32 |
 +|''​x-systemd.device-timeout=''​ |Configure le délai d'​attente par défaut pour les appareils. Defaut à 90s||
 +| ''​windows_names''​ | **Inutile à partir de 22.04**. Empêche ​ l'​usage des caractères non compatibles avec Windows dans les noms de fichiers : \\ / \ : ? * < > " barre verticale. Pour vérifier et corriger les noms non compatibles,​ lisez cette [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2068750|discussion]] | fat, ntfs |
 +<note important>​Les options disponibles :\\
 +  * en fonction des [[systeme_de_fichiers|systèmes de fichiers]] à monter : [[https://​manpages.ubuntu.com/​manpages/​jammy/​man8/​mount.8.html#​filesystem-specific%20mount%20options|man mount]].
 +  * en cas de montage « réseau » **CIFS** : [[https://​manpages.ubuntu.com/​manpages/​jammy/​en/​man8/​mount.cifs.8.html#​options|man mount.cifs]]
 +</​note>​
 +<note tip>​Attention l'​option **sync** ne concerne pas que le montage. En version 16.04.1, il semble que chaque ​ écriture sur partition NTFS  devienne synchrone avec le système de fichier et  la copie d'un fichier peut prendre 1000 (mille) fois plus de temps. Le débit chutant à **10 Ko/​s**</​note>​
 Voir aussi la page [[tutoriel:​comment_acceder_a_ses_partitions_windows|Comment accéder à ses partitions Windows depuis GNU/Linux ?]] Voir aussi la page [[tutoriel:​comment_acceder_a_ses_partitions_windows|Comment accéder à ses partitions Windows depuis GNU/Linux ?]]
-et [[installation:​monterpartagewindows|Monter des partages Windows au démarrage]]+et [[tutoriel:​monterpartagewindows|Monter des partages Windows au démarrage]]
  
-===== Problèmes =====+__Problèmes rencontrés lors de l'​ajout d'un disque dur secondaire__ ​ :\\ 
 +1) Une erreur peut survenir lorsque l'on tente d'​éditer le fichier fstab //(avec gedit par exemple)//​. 
 +Si le message suivant apparaît : <​code>​ (gedit:​...):​ Gtk-WARNING ** </​code>​ il est préférable d'​utiliser un éditeur de texte « graphique » qui propose un mode administrateur,​ par exemple : 
 +<​code>​gedit admin:///​etc/​fstab</​code>​ 
 +ou un éditeur de texte « dans » le terminal : 
 +<​code>​sudoedit /​etc/​fstab</​code>​ 
 +qui sous ×buntu équivaut à : 
 +<​code>​sudo nano /​etc/​fstab</​code>​ 
 +2) Accessibilité\\ 
 +Une fois que la partition du disque supplémentaire est ainsi ajoutée dans le fichier fstab : 
 +<​code>​ # /​sauvegarde ​ sur /dev/sdb1 ajoutée le... 
 +UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX ​ /​sauvegarde ​ ext4  rw,​suid,​dev,​noexec,​auto,​nouser,​async,​noatime ​ 0  2</​code>​
  
-**__Dossier cdrom0 inexistant__**\\ Il arrive que le répertoire ​/media/cdrom0 ​soit effacéDans ce cas, un mount renvoie ​une erreur expliciteIl est possible ​de le recréer tout simplement.+et son point de montage ainsi créé : 
 +<​code>​sudo mkdir /​sauvegarde</​code>​ 
 +Comme ce dernier appartient ( légitimement ) à root, aucun autre utilisateur n'a le droit d'y écrire.\\ 
 +On peut se rendre ​**propriétaire** du point de montage - sachant que par conséquent seul cet utilisateur aura le droit d'​écrire dans //toute// cette partition.\\ 
 +<note warning>​Le dossier qui sert de point de montage à une partition appartient par défaut à //​root:​root//​ avec droits //​rwxr-xr-x//​ ( ou 755 ) car il s'agit d'un élément //​matériel//​ ( une partition ) géré par le //système//​.\\ 
 +\\ 
 +C'est **sur les éléments de //​données//​** écrits dans cette partition **qu'​il faut ajuster les droits et permissions** afin de les adapter à votre utilisation : 
 +  * soit **sur les éléments eux-mêmes** pour les systèmes de fichiers **compatibles** Linux ( qui gèrent les droits et permissions nativement ) ; 
 +  * soit sur l'​ensemble des données montées, **via les options appliquées à leur montage**, pour les systèmes de fichiers **NON compatibles**. 
 +**Idéalement** sur une partition on crée 2 dossiers //par// utilisateur potentiel : 
 +  * un « principal » **lui appartenant**//dans// lequel il pourra écrire, modifier, supprimer… ranger toutes //ses// affaires ;\\ 
 +  * un dossier corbeille, **appartenant** à cet utilisateur ( sous Linux, il y a une corbeille par partition //et// par utilisateur)\\ 
 +**Rappelons qu'un //chmod 777// est DANGEREUX** :\\ 
 +un élément qui porte les droits //​rwxrwx**rwx**//​ accorde //tous les droits// à quiconque y accédant ( localement ou à distance )…</​note>​ 
 +Si on est __seul__ utilisateur du pc, ceci suffirait ( mais n'est pas idéal car restrictif ) : 
 +<​code>​sudo chown $USER:$USER /​sauvegarde</​code>​ 
 +Dans le cadre d'une utilisation __familiale__,​ avec plusieurs utilisateurs //toto, tata et titi//, et un groupe appelé, disons //​famille//,​ on procédera autrement ( Pour lire [[:/​tutoriel/​dossier_de_partage|les explications]]):​ 
 +  * on s'​assure que les droits et permissions du point de montage sont dans la situation saine et souhaitable pour du //​matériel//​ : 
 +<​code>​sudo chown root:root /​sauvegarde 
 +sudo chmod 755 /​sauvegarde</​code>​ 
 +  * on crée à la racine de cette partition les dossiers pour chaque utilisateur //toto, tata, titi// et //famille// : 
 +<​code>​sudo mkdir /​sauvegarde/​{toto,​tata,​titi,​famille}</​code>​ 
 +  * on attribue chacun de ces répertoires à ses propriétaires adéquats :\\ 
 +<​code>​sudo chown toto:​toto ​ /​sauvegarde/​toto 
 +sudo chown tata:​tata ​ /​sauvegarde/​tata 
 +sudo chown titi:​titi ​ /​sauvegarde/​titi 
 +sudo chown root:​famille ​ /​sauvegarde/​famille</​code>​ 
 +Pour que les utilisateurs //tata, titi, toto// membres du groupe //famille// puissent écrire dans le dossier « famille » on s'​assure que : 
 +  * ce dossier ( dont //les// propriétaires sont l'​utilisateur //root// et le groupe //famille// ) accorde le **droit d'​écriture au groupe //​famille//​**,​ 
 +  * les éléments créés dans ce dossier **« héritent » les droits et permissions du groupe** de ce dossier 
 +<​code>​sudo chmod 2775 /​sauvegarde/​famille ​    # le 2 signifiant bit sgid</​code>​ 
 +Dorénavant :\\ 
 +  * seul l'​utilisateur **toto** peut écrire, modifier, supprimer des éléments dans **son** dossier ''/​sauvegarde/​toto'',​ les //autres// peuvent seulement lire et accéder à ce dossier ; 
 +  * seul l'​utilisateur **tata** peut écrire, modifier, supprimer des éléments dans **son** dossier ''/​sauvegarde/​tata'',​ les //autres// peuvent seulement lire et accéder à ce dossier ; 
 +  * seul l'​utilisateur **titi** peut écrire, modifier, supprimer des éléments dans **son** dossier ''/​sauvegarde/​titi'',​ les //autres// peuvent seulement lire et accéder à ce dossier ; 
 +  * **seuls** les utilisateurs **membres** du groupe //famille// peuvent écrire, modifier, supprimer des éléments dans le dossier ''/​sauvegarde/​famille'',​ les //autres// peuvent seulement lire et accéder à ce dossier.
  
-<​code>​ +Si vous êtes un peu parano, et souhaitez que **seuls les membres du groupe //​famille//​** puissent accéder au dossier ''/​sauvegarde/​famille''​ alors :\\ 
-sudo mkdir /media/cdrom0 +<​code>​sudo ​chmod 2770 /sauvegarde/famille</​code>​ 
-mount /media/cdrom0 +En l'​état dans ce dossier ''​/sauvegarde/famille''​ tous les membres du groupe //famille// peuvent effacer n'​importe quel élément : //toto// pourrait effacer un élément appartenant à //titi// ou //tata//, et vice-versa. Si vous souhaitez restreindre **la possibilité d'​effacer à seulement l'​utilisateur propriétaire d'un élément** alors : 
-</​code>​+<​code>​sudo chmod 3770 /​sauvegarde/​famille ​    # 3 signifiant sticky bit + bit sgid = 1+2</​code>​ 
 +__sources :__\\ 
 +[[https://​www.redhat.com/​sysadmin/​suid-sgid-sticky-bit|les bits sgid suid et sticky]] ⋅ [[droits|Droits d'​accès sous Linux : gérer les accès aux fichiers]] ⋅ [[permissions|Gérer les droits d'​accès (propriétés et permissions) des fichiers et répertoires]]\\ 
 +[[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22544820#​p22544820|exemple commenté]] dans le forum ou ce [[organiser_data_utilisateurs#​mise_en_œuvre|point 4.1]] d'une doc' qui évoquent la création des **corbeilles**. 
 +\\ 
 +\\ 
 +Enfin, pour avoir le **lien** vers "​sauvegarde"​ dans le volet de gauche de votre gestionnaire de fichiers, il sera nécessaire de vous rendre manuellement dans ce répertoire,​ puis de lui attribuer un signet ou marque-page (le nom et la méthode varient selon votre gestionnaire de fichiers).\\ 
 +**OU**\\ 
 +plutôt que de créer ce point de montage ''/​sauvegarde''​ à la racine de votre système, créez le dans le dossier ''/​media''​ :\\ 
 +  * tout élément visible dans ce dossier conventionnel apparaît automatiquement dans le volet latéral de la plupart des explorateurs de fichiers ( sous « périphériques » ou « autres emplacements » selon l'​explorateur. )\\ 
 +  * par ailleurs les applications « confinées » ( type [[snap|snap]] ou [[flatpak|flatpak]] ) se banalisant, un tel point de montage directement à la racine système leur est inaccessible. 
 +==== Masquer le montage d'une partition.====
  
-**__Fichiers occupés__**\\ Un système de fichier ne peut être démonté tant que certains ​de ses fichiers sont utilisésC'est le cas par exemple lorsque vous avez un navigateur de fichiers qui affiche encore le volume en question, ou si vous êtes vous-même dans le répertoireDans ce cas, il faut s'​assurer que le répertoire courant n'​appartient ​pas au volume que l'on souhaite démonter. +Dans certains ​[[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2036205|contextes]], il peut être intéressant de ne pas monter automatiquement une partition ​et de la masquer aux techniques de montage ​en mode graphique   ​Cela ​n'exclut pas une possibilité ​de montage ​en ligne de commande.
- +
- +
-Il arrive aussi que ce soit un peu plus compliqué, ​et que l'on ne sache pas quelle est la ressource qui utilise le volume ​en questionDans ces cas-là, il faut trouver la ressource qui gêne, grâce par exemple à la commande lsof (en tant que super-utilisateur,​ cette commande permet de connaître tous les descripteurs de fichiers ouverts), filtrée pour n'afficher que les descripteurs sur le volume. En tuant le processus qui utilise le volume, le démontage devient possible. +
- +
-**__Ubuntu ne monte un périphérique USB__**\\ Il peut arriver lors de l'​installation d'​Ubuntu à partir d'une carte mémoire ou d'une clef USB qu'il devienne impossible ​de monter un périphérique USB (clef, disque dur externe...). +
-\\  Afin dé résoudre ce problème [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **/​etc/​fstab** et supprimez ​en la dernière ​ligne: <​file>/​dev/​sdb1 /​media/​cdrom0 udf,iso9660 user,​noauto,​exec,​utf8 0 0</​file>​  +
-===== Sauvegarde des fichiers et montage des partitions ===== +
- +
-Une fois les modifications apportées, enregistrez votre ou vos fichiers ​de configuration,​ afin de prendre en compte ces modifications. +
- +
-Vous pouvez redémarrer votre ordinateur dans le but de tester si les partitions sont montées automatiquement. ​ Si vous préférez redémarrer plus tard, vous pouvez simplement saisir les deux commandes suivantes dans un terminal :+
  
 +Par exemple, pour masquer la partition contenant le  logiciel de windows, les deux lignes à ajouter pourraient être
 <​code>​ <​code>​
-  ​sudo umount -a +##   ​Masquer le montage de la partition windows ​ qui est sur sda5 
-  sudo mount -a+/​dev/​sda5 none ignore defaults 0 0
 </​code>​ </​code>​
 +===== Le fichier mtab =====
  
-**Attention** la commande ​"​umount -a" ​peut être très dangereuse suivant l'organisation ​de votre fichier fstab  +Le fichier ///**etc/mtab**// contient ​la liste des montages effectués, que ce soit via fstab ou en ligne de commande ​avec mount. Il peut être utile de visualiser son contenu pour vérifier qu'un montage est effectif. \\ 
-===== Donner un nom explicite ​à votre partition =====+Mieux encore, il peut servir ​de base, après un test avec mount, pour modifier le fichier fstab. Voir le tutoriel ​à ce sujet : [[tutoriel/​monter_un_volume_automatiquement|tutoriel monter un volume automatiquement]]
  
-Vous pouvez nommer facilement vos partitions et ainsi organiser votre espace de travail. +===== Monter ​un répertoire ​avec l'​option ''​bind''​ de la commande ''​mount''​ =====
-Pour cela vous devez changer le nom de votre partition dans le fichier fstab et créer ​un repertoire ​avec le même nom dans /media.+
  
-Le répertoire /media appartient par défault ​à rootvous devez donc utiliser les droits du superutilisateur ​pour le modifier.+Il est parfois utile de monter non pas un volume, mais un dossier dans un autre. Ceci peut ressembler ​à un lien logique mais c'est beaucoup plus puissantnotamment : 
 +  * pour un [[:​chroot|chroot]] dans un compte FTP 
 +  * pour monter des fichiers dans un système de fichiers en lecture seule (où on ne peut donc pas créer de liens) (CD,…) 
 +  * pour monter des fichiers (fichiers compressés squashfs,​…) 
 +Cela est possible avec l'​option "​bind"​\\
  
-Exemple pour renommer hda1 en stock: +Par exempledans le cas où ''/​mnt/​read-only''​ est en lecture seule et où on veut remplacer ''/mnt/read-only/mauvais-fichier'' ​par ''/home/linux/bon-fichier''​ :
- +
-  sudo mkdir /​media/​stock +
-   +
-<note important>​ +
-Contrairement a la commande mount qui accepteen tant que point de montage, un dossier dont le nom comporte un espace (si l'espace est précédé du caractère d'echappement \ ou si le nom du dossier ​est mis entre guillemets),​ **dans le fichier fstab, les point de montage doivent avoir un nom  __ne comportant pas d'espace__** (valable le 12/07/2011) +
-</note> +
- +
-ensuite [[:​tutoriel:​comment_editer_un_fichier|éditer le fichier]] **/​etc/​fstab** et modifier le nom de votre partition. +
-Chercher /media/hda1 et remplacer hda1  ​par stock. +
- +
-Cependant, il est possible que de nombreux logiciels aient mémorisé le chemin de fichiers sous l'ancien nom /media/hda1/suiteblabla. Plutôt que de modifier tous ces chemins, il est possible de faire un lien symbolique de sorte que media/hda1 mène à /​media/​stock +
- +
-Vérifier que /media/hda1 n'est plus monté: +
-   ls /​media/​hda1 +
-Si le dossier est vide (hda1 n'est plus monté), effectuer:+
 <​code>​ <​code>​
-   sudo rmdir /media/hda1 +mount --bind ​/home/linux/bon-fichier ​/mnt/read-only/mauvais-fichier 
-   ​ln ​-/media/stock /media/hda1 +</​code> ​\\
-</​code>​+
  
-<note tipVersion 10.10, il est possible ​de changer le nom des partitions grâce ​à l'Utilitaire de disque qui se trouve dans Système=>​administration=>​utilitaire de disque </note>+Si on veut rendre un dossier privé public (comme un lien, en fait ) 
 +<code>mount --bind /​home/​moi/​dossier-à-partager /​home/​répertoire-accessible-à-tous</​code>​ 
 +Ici, les droits d'​écriture ne changent pas : si vous voulez donner le droit d'​écrire aux autres utilisateurs, il faudra modifier aussi les droits ​de ''/​home/​moi/​dossier-à-partager''​ et pas seulement à ''/home/​répertoire-accessible-à-tous''​.
  
-===== Utiliser l'​option « bind » avec la commande « mount » ===== 
  
-Après avoir monté un disquepar exemple ​dans /media/disque-test,​ il peut être intéressant de monter l'intégralité du contenu, ou un répertoire seulement, de ce disque dans un autre répertoire sans démonter /​media/​disque-test.+Pour rendre persistants ces montagesnous les spécifions ​dans ''​/etc/fstab'' comme habituellement.
  
-Cela permet par exemple :+Voici un exemple : 
 +<​file>​ 
 +# /etc/fstab: static file system information. 
 +# <file system> ​              <​mount point> ​                <​type> ​ <​options> ​ <​dump> ​ <​pass>​ 
 +[…] 
 +# Un montage bind : 
 +/​home/​linux/​bon-fichier ​  /​mnt/​read-only/​mauvais-fichier ​    ​none ​      ​bind ​     0   0 
 +</​file>​
  
-  * de « recopier » ce contenu dans un répertoire tout spécialement destiné à un partage FTP, 
-  * un utilisateur qui n'a pas accès au disque-test par le répertoire de montage peut ainsi se voir conférer des droits d'​accès à un sous répertoire du disque-test s'il a accès au répertoire lié (le répertoire lié et les fichiers qu'il contient doivent autoriser cet accès) ​ 
  
-Cela est possible ​avec l'​option "​bind"​ (bind signifie lier en anglais) de la commande « mount » qui s'​utilise ainsi en ligne de commande :+===== Problèmes éventuels ===== 
 +==== UUID non valides ==== 
 +Le fichier fstab peut vouloir monter des partitions ​avec des erreurs dans les identifiants UUID.
  
-  mount --bind /​media/​répertoire-à-lier /​home/​user/​répertoire-lié+Ce script permet de vérifier que tous les UUID sont correctes dans le fstab :
  
-  mount --bind ​/source-"​privée"​-à-rendre-visible ​/répertoire-accessible-à-tous+<file bash monfic.sh>​ 
 +#!/bin/sh
  
-  sudo mount --bind /media/disque/répertoire ​/home/user/répertoire-lié+fstabUUID="​$(sed ​-nE 's/UUID=([^ ]+) .*/\1/p' /​etc/​fstab)"​ 
 +validUUID="​$(ls -1 /dev/disk/by-uuid)"
  
-  ​+nbUUIDValid=0
  
-Attention : l'​utilisateur du répertoire lié peut aussi modifier les données auxquelles il a accès, si les droits qui lui sont conférés par le répertoire lié et les fichiers qu'il contient le lui permettent.+for uuid in $fstabUUID 
 +do 
 + if echo "​$validUUID"​ | grep -q "​$uuid"​ 
 + then 
 + echo "$uuid OK" 
 + nbUUIDValid=$((nbUUIDValid+1)) 
 + else 
 + echo "$uuid est dans fstab mais pas dans /​dev/​disk/​by-uuid"​ 
 + fi 
 +done
  
-On peut démonter ​le répertoire ​lié par la commande : 'umount ​/home/user/​répertoire-lié'+echo "​nombre d'UUID dans fstab : $(echo "​$fstabUUID"​ | wc -l)" 
 +echo "​nombre d'UUID validé(s) : $nbUUIDValid"​ 
 +</​file>​ 
 +==== Dossier de montage inexistant==== 
 +Il arrive que le répertoire ​de montage n'​existe pas. Dans ce cas, la commande ​''​mount''​ renvoie une erreur explicite. Il suffit de le recréer.\\ 
 +Toujours dans notre exemple ​(l'option ''​-p''​ permet de créer récursivement les dossiers parents s'il n'​existent pas) 
 +<​code>​ 
 +sudo mkdir -p /media/stock 
 +</code> 
 +==== Fichiers occupés ==== 
 +Un système de fichier ne peut être démonté tant que certains de ses fichiers sont ouverts par des processus. \\ 
 +Le cas le plus simple est que le répertoire ​de travail actuel est dans le volume que vous voulez démonter. Sinon, la commande ''​lsof''​ permet de lister tous les fichiers ouverts. En arrêtant les processus qui utilisent le volume, le démontage devient possible. \\ 
 +Par exemple : 
 +<​code>​sudo lsof | grep /​media/​stock </​code>​ 
 +(grep permet de n'​afficher que les lignes contenant "''/​media/​stock'​'")
  
-  sudo umount ​/home/user/répertoire-lié+==== Les logiciels utilisant un volume sont perdus ==== 
 +Imaginons que vous ayez modifié le dossier de montage de ''/​media/​moi/​stock''​ en ''​/home/moi/stockage''​. \\
  
-De toute façonlors d'​un ​redémarrage les montages vont disparaître. ​+Il est possible que des logiciels utilisent des fichiers dans ''/​media/​moi/​stock''​ ; Pour éviter des problèmes de fonctionnementvous pouvez (si vous pensez que c'est nécessaire) créer un lien symbolique de l'​ancien point de montage vers le nouveau : 
 +  * Assurez-vous que rien n'est monté dans ''/​media/​moi/​stock''​ : <​code>​ls /​media/​moi/​stock</​code>​ 
 +  * Supprimez l'ancien point de montage : <​code>​sudo rmdir /​media/​moi/​stock</​code>​ 
 +  * Créez ​un lien : <​code>​ln -s /​home/​moi/​stockage /​media/​moi/​stock</​code>​
  
-Pour faire perdurer ces montages, il faut alors spécifier ce montage dans le fichier fstab.+Voilà ! 
 +===== Autres pages sur le sujet ===== 
 +  * [[:​fuse|FUSE]] : Montage simplifié des systèmes de fichiers. 
 +  * [[:​sshfs|SSH Filesystem]] : Montage de système de fichiers à travers le réseau. 
 +  * [[:​fusauto|FUSAUTO]] : faciliter l'​usage de FUSE 
 +  * [[:​autofs|AutoFS]] : Automatisation du montage des systèmes de fichiers 
 +  * [[:​tutoriel:​monterpartagewindows|Monter un Partage Windows]]
  
-[[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **/​etc/​fstab**. 
  
-On indique le montage '​bind'​ de la façon suivante : 
-'/​media/​disque/​répertoire /​home/​user/​répertoire-lié none bind 0 0' 
  
-Voici un exemple : 
-<​file>​ 
-  # /etc/fstab: static file system information. 
-  # 
-  # file system ​  mount point     ​type ​        ​options ​                   dump  pass 
-  proc            /proc           ​proc ​        ​defaults ​                  ​0 ​    0 
-  /​dev/​hda2 ​      / ​              ​ext3 ​        ​defaults,​errors=remount-ro 0     1 
-  /​dev/​hda3 ​      /​home ​          ​ext3 ​        ​defaults ​                  ​0 ​    2 
-  /​dev/​hda6 ​      /​media/​stock ​   ext3         ​defaults ​                  ​0 ​    2 
-  /​dev/​hda1 ​      /​media/​win_c ​   vfat         ​defaults,​umask=0 ​          ​0 ​    0 
-  /​dev/​hda7 ​      /​media/​win_d ​   vfat         ​defaults,​umask=0 ​          ​0 ​    0 
-  /​dev/​hdb1 ​      /​media/​windows ​ ntfs         ​ro,​uid=1000,​gid=1000 ​      ​0 ​    2 
-  /​dev/​hda8 ​      /​media/​debian ​  ​reiserfs ​    ​defaults ​                  ​0 ​    2 
-  /​dev/​hda5 ​      ​none ​           swap         ​sw ​                        ​0 ​    0 
-  /​dev/​hdc ​       /​media/​cdrom0 ​  ​udf,​iso9660 ​ ro,​user,​noauto ​            ​0 ​    0 
- 
- 
-# mes répertoires liés 
-/​media/​Maxtor1 /​home/​user/​Maxtor1 none bind 0 0 
-</​file>​ 
- 
-Il suffit de retirer le dernier paragraphe du fichier fstab pour annuler l'​opération au prochain redémarrage. ​ 
- 
-===== Liste des partitions ===== 
- 
-Pour lister les partitions, utiliser en sudo la commande **fdisk -l**:  
-<​file>​ 
-  login@ubuntu:​login$ sudo fdisk -l /dev/hda 
-  Disk /dev/hda: 60.0 GB, 60011642880 bytes 
-  255 heads, 63 sectors/​track,​ 7296 cylinders 
-  Units = cylinders of 16065 * 512 = 8225280 bytes 
-  Device Boot      Start         ​End ​     Blocks ​  ​Id ​ System 
-  /​dev/​hda1 ​  ​* ​          ​1 ​       1275    10241406 ​   c  W95 FAT32 (LBA) 
-  /​dev/​hda2 ​           1276        1913     ​5124735 ​  ​83 ​ Linux 
-  /​dev/​hda3 ​           1914        2551     ​5124735 ​  ​83 ​ Linux 
-  /​dev/​hda4 ​           2552        5191    21205800 ​   5  Extended 
-  /​dev/​hda5 ​           2552        2653      819283+ ​ 82  Linux swap 
-  /​dev/​hda6 ​           2654        3291     ​5124703+ ​ 83  Linux 
-  /​dev/​hda7 ​           3292        4553    10136983+ ​  ​c ​ W95 FAT32 (LBA) 
-  /​dev/​hda8 ​           4554        5191     ​5124703+ ​ 83  Linux 
-</​file> ​ 
-===== Liens ===== 
- 
-  * Lien vers le montage de partitions Windows : [[:​tutoriel:​comment_acceder_a_ses_partitions_windows|Comment accéder à ses partitions Windows ?]] 
  
 +----
  
-//​Contributeurs :​ [[:​utilisateurs:​helly|helly]]//​.+//​Contributeurs :​ [[:​utilisateurs:​helly|helly]]// ​(Auteur principal) //​[[utilisateurs:​felixp|FélixP]]//​ (Retouche Octobre2013)
  • mount_fstab.1310486523.txt.gz
  • Dernière modification: Le 15/12/2011, 15:19
  • (modification externe)