[*] Disques et partitions
Sous linux, les disques sont nommés de la façon suivante :
- pour les disques IDE : hda pour le premier disque, hdb pour le deuxième, hdc pour le troisième,…
- pour les disques SCSI,S-ATA ou USB: sda pour le premier, sdb pour le deuxième, sdc pour le troisième,…
(sur d’autres distributions, ou avec une autre configuration du noyau, les disques IDE peuvent aussi s’appeler sda, sdb)
Les partitions sont simplement numérotées :
- hda1 : première partition du premier disque (IDE)
- hda2 : deuxième partition du premier disque
- hdb1 : première partition du deuxième disque
- hdb2 : deuxième parition du deuxième disque
- etc.
Les numéros 1, 2, 3 et 4 sont réservés aux partitions primaires, les numéros 5 et suivants sont utilisés pour les partitions logiques.
Si votre disque hda contient deux partitions primaires et deux partitions logiques, vous aurez alors hda1, hda2, hda5 et hda6. hda4 (FIXME : hda3 ?) représente la partition étendue (qui contient les partitions logiques), mais dans la pratique on ne s’en sert pas.
Les partitions sont représentés par des fichiers dans /dev. Vous pouvez donc voir tous vos disques et partitions en tapant dans une console :
$ ls /dev | grep [sh]d
D’autres commandes peuvent vous donner des infos sur vos partitions :
# fdisk -l
$ df -ah
Ça peut être utile pour s’assurer que telle ou telle partition est bien celle que vous pensez.
[*] La commande mount
La commande mount(8) permet de monter une partition dans un répertoire donné.
A l’installation, vous avez défini une partition racine (/). Les autres partitions peuvent alors être montés dans n’importe quel dossier vide de la partition racine. On appelle ce dossier le point de montage (logique non ?). En plus des partitions séparées du système (généralement /home, parfois /usr, /var, /tmp et/ou /boot), on utilise généralement le dossier /media pour mettre les points de montages des disques amovibles (/media/cdrom, /media/usb,…) et /mnt pour les points de montages temporaires, ou de partitions d’un autre système (/mnt/documents_win, /mnt/tmp,…), mais vous pouvez monter vos partitions où vous voulez.
Elle peut s’utiliser très basiquement :
mount <partition> <point de montage>
Par exemple : mount /dev/sda1 /media/usb0 montera la partition sda1 dans le dossier /media/usb0.
Il faudra parfois lui donner quelques paramètres :
-t : renseigne le type de la partition
Ici rien de sorcier : il suffit de remplacer par le type de la partition (ext3, ext4, xfs, reiserfs,…). Sauf pour les partitions windows :
- pour le FAT, on doit mettre « vfat ». A part ça rien de sorcier.
- pour le NTFS, c’est un peu plus subtil. « ntfs » correspond à l’ancien driver ntfs, qui permet de le lire sur une partition NTFS, mais pas d’écrire dessus. Il peut être utile si vous voulez monter la partition en lecture seule (il y a aussi l’option ro sinon, voir plus bas).
Pour pouvoir écire sur du NTFS, il vous faut installer le paquet ntfs-3g et renseigner comme type « ntfs-3g ».
-o : ajoute des options au montage.
On peut vouloir choisir des options au montage, il faudra alors indiquer les options, séparées par une virgule :
- « rw »ou « ro »: monte la partition en lecture/écriture (read-write) ou en lecture seule (read-only).
- « exec » ou « noexec » : permet ou ne permet pas de lancer des fichiers exécutables (programmes ou script) situés sur la partition.
- « loop » : permet de monter une image disque dans un dossier (loopback)
- il y en a d’autres, voir la partie sur fstab (plus bas)
Exemples :
# mount -t vfat -o ro,noexec /dev/sda1 /media/usb0
monte sda1, de type FAT, sur /media/usb0, en lecture seule, et ne permet pas à un éventuel script situé sur la partition de s’exécuter.
# mount -t iso9660 -o loop debian-503-amd64-netinst.iso /mnt/tmp
monte le fichier iso dans /mnt/tmp
Nota Bene :
- mount ne créé pas de dossier. Les points de montages doivent donc exister. En toute logique, il doivent aussi être vide.
- les droits appliqués au montage (ro, noexec) sont prioritaires sur les droits des fichiers.
[*] Partitions Windows et droits
Si chmod 644 fichier c’est du chinois pour vous, allez lire siteduzero.com/tutoriel-3-12 … #ss_part_4
Les partitions NTFS et FAT ne gèrent pas les droits Unix. Il vous sera donc impossible de modifier les droits des fichiers ou dossiers avec chown(1) ou chmod(1).
Mais on peut définir des droits au montage, qui seront appliqués sur toute la partition, à l’aide de trois options :
- « uid= » et « gid= » : détermine à quel utilisateur et à quel groupe appartient la partition. Vous pouvez voir l’uid et le gid de votre utilisateur avec la commande id ou en le lisant dans fichier /etc/passwd (awk -F : ‘// {print “uid=”$3" gid="$4}’ /etc/passwd).
- « umask= » : détermine les droits sur la partition. L’umask, c’est le nombre à retirer de 666 pour avoir les droits en octal. Par exemple un « umask=022 » donnera des droits 644 (666-22), soit rw-r–r--, un umask=466 donnera des droits 200, soit le droit de lecture à l’utilisateur seulement (r--------). Pour les droits d’exécutions, utilisez l’option exec (m’enfin, sur une partition win )…
FIXME : Pourquoi dans le man, ces options apparaissent pour ntfs et pas pour vfat (alors qu’elles fonctionnent pour vfat) ?
[*] Le fichier /etc/fstab
Le fichier fstab(5) permet d’enregistrer les points de montage et arguments à donner à mount, pour toutes vos partitions.
Vous devriez avoir un en-tête (commenté par un #) de cette forme :
device mount point type options dump pass
qui nomme 5 colonnes dans le fichier. Les colonnes sont séparées par au moins un espace.
Chaque ligne correspond à un montage (une commande mount, si vous voulez).
device : périphérique
On ne peut plus simple : c’est le nom de la partition à monter (ex : « /dev/hda1 »)
Vous pouvez aussi renseigner l’UUID de la partition : viewtopic.php?f=8&t=18271 (utile pour renseigner une clé usb qui doit être montée différemment des autres par exemple)
mount point : point de montage
Le dossier où doit être monté la partition.
type : type de la partition
correspond à l’option -t de mount.
Il existe le type « auto » qui comme son nom l’indique, demande à mount de déterminer automatiquement le type de la partition (si vous avez plusieurs type de clé USB, par exemple). Il est tout de même préférable d’indiquer le type quand on peut.
options : les options de montage.
correspond à l’option -o de mount.
Quelques options utiles avec fstab :
- « auto » ou « noauto » : monte ou ne monte pas le périphérique automatiquement au démarrage de la machine, ou lorsque l’on lance mount -a
- « users » : permet aux autres utilisateurs que root de monter/démonter la partition.
- « user » : même chose, mais seul l’utilisateur qui a monté la partition pourrra la démonter.
/!\ pour certaines options (exec ou dev, par exemple), il vous faut monter la partition en root pour qu’elles soient prise en compte.
/!\ ntfs-3g doit être suid-root (chmod +s $(which ntfs-3g)) pour être utilisée avec «user(s) ». FIXME : C’est tout ? - « defaults » : correspond à « rw,suid,dev,exec,auto,nouser,async »
Si vous ajoutez d’autres options, elles auront priorités. i.e « default, ro » équivaut à «ro,suid,dev,exec,auto,nouser,async »
dumb : sauvegarde
si différent de zéro, indique à dump qu’il peut sauvegarder la partition. Laissez le à zéro.
pass : vérification
indique à fsck s’il doit faire la vérification de disque au démarrage. Laissez « 1 » pour la partition racine, « 2 » pour les partitions linux (sauf swap et systèmes de fichiers exotiques) « 0 » pour les autres.
Exemple :
/dev/hda1 /mnt/win ntfs-3g defaults,noauto,uid=1000,gid=1000,user 0 0
permettra de faire mount -t ntfs-3g -o defaults,noauto,uid=1000,gid=1000 /dev/hda1 /mnt/win en root, en tapant seulement mount /dev/hda1 ou bien mount /mnt/win avec n’importe quel utilisateur.
[*] Le fichier /etc/mtab
Toutes les partitions montées sont enregistrées dans /etc/mtab. Il est utilisé par mount pour savoir quelles partitions sont déjà montées et lesquelles ne le sont pas.
Il permet de démonter une partition avec umount en tapant seulement umount /dev/nom_de_la_partition ou bien umount /point/de/montage
[*] Monteurs automatiques
Si vous êtes dans un environnement de bureau (Gnome, KDE, XFCE,…) vous avez probablement un programme qui se charge de monter automatiquement vos partitions. Généralement, vous pouvez tout de même indiquer vos partitions dans fstab pour utiliser certaines options de montage, si le montage automatique ne se fait pas comme vous voulez…
Si vous utilisez un simple gestionnaire de fenêtres, vous pouvez utilisez :
- disk-manager si vous voulez un GUI « user-friendly »
- ivman, si vous voulez quelque chose de simple et sans fioritures. Le projet ne semble plus actif, mais vous pouvez vous orientez vers son fork qui l’est plus : havelt.