Montage de données

Cette page explique :

  • Comment monter des données
  • Monter des répertoires vituels
  • Monter des partages samba
  • Faire en sorte d'avoir les accents

Pour installer un serveur samba, voir Serveur de fichiers (SAMBA)

Monter des données

La commande mount :

gandalf:~# mount --help
Usage: mount -V                 : print version
       mount -h                 : print this help
       mount                    : list mounted filesystems
       mount -l                 : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
       mount -a [-t|-O] ...     : mount all stuff from /etc/fstab
       mount device             : mount device at the known place
       mount directory          : mount known device here
       mount -t type dev dir    : ordinary mount command
Note that one does not really mount a device, one mounts
a filesystem (of the given type) found on the device.
One can also mount an already visible directory tree elsewhere:
       mount --bind olddir newdir
or move a subtree:
       mount --move olddir newdir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using  -L label  or by uuid, using  -U uuid .
Other options: [-nfFrsvw] [-o options] [-p passwdfd].
For many more details, say  man 8 mount .
gandalf:~#

Donc en pratique cela donne :

mount -t ext3 /dev/hda5 /home/

Si vous voulez ajouter des options

mount -t ext3 -o [options] /dev/hda5 /home/

Pour enregistrer le montage automatique des répertoires, il faut renseigner /etc/fstab :

gandalf:~# cat /etc/fstab
# /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/hda1       none            swap    sw              0       0

/dev/scd0       /media/cdrom0   iso9660 ro,user,noauto  0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

/dev/hda5       /home           ext3    defaults        0       2
/dev/hda6       /space          ext3    defaults        0       2

/dev/hdc1       /space2         ext3    defaults        0       2
/dev/hdd1       /ftp            ext3    defaults        0       2

/dev/hdb2       /backup/hdb2    ext3    defaults,ro     0       0
/dev/hdb3       /backup/hdb3    ext3    defaults,ro     0       0
/dev/hdb5       /backup/hdb5    ext3    defaults,ro     0       0
/dev/hdb6       /backup/hdb6    ext3    defaults,ro     0       0
gandalf:~#

Les champs sont les suivants :

  1. file system : la source
  2. mount point : la destination
  3. type : le type de données : ext3, smbfs, iso9660 …
  4. options : les eventuelles options
  5. dump : si à 1 indique que le système doit être sauvegardé lorsqu'on utilise la commande dump
  6. pass : indique l'ordre de vérification des systèmes (fsck), le sytème de base doit avoir la valeur 1, les autres la valeurs 2, 0 indique de ne pas vérifer le système au démarrage

Utiliser des labels

Il est possible d'utiliser des labels plutôt que le device absolu de la partition. C'est très pratique car l'ordre de détection des device peut changer, le label garantit de monter la bonne partition.

Pour attribuer un label à une partition ext2 ou ext3, il suffit d'utiliser tune2fs :

# tune2fs -L nom_label /dev/sda1

Pour voir les infos d'une partition

# tune2fs -l /dev/sdb2
tune2fs 1.40-WIP (14-Nov-2006)
Filesystem volume name:   rootlinux
Last mounted on:          <not available>
Filesystem UUID:          27aa1e9a-aa8d-4862-8cea-635cb613f487
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed directory hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              1831424
Block count:              3662820
Reserved block count:     183141
Free blocks:              2949142
Free inodes:              1763544
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      894
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         16352
Inode blocks per group:   511
Filesystem created:       Tue Sep 11 12:17:02 2007
Last mount time:          Fri Apr  3 21:31:52 2009
Last write time:          Fri Apr  3 21:31:52 2009
Mount count:              13
Maximum mount count:      39
Last checked:             Sun Feb  8 20:06:59 2009
Check interval:           15552000 (6 months)
Next check after:         Fri Aug  7 21:06:59 2009
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8
First orphan inode:       1144671
Default directory hash:   tea
Directory Hash Seed:      cfd5e9ed-f112-4a25-8442-379fac956e5e
Journal backup:           inode blocks
#

Pour modifier le nom de la partition de swap :

# swapoff -a
# mkswap -L swap /dev/sda1
# swapon -a

Monter manuellement grâce aux labels en utilisant l'option -L :

mount -L nom_label /mnt

Dans /etc/fstab :

LABEL=data     /data          ext3    defaults        0       2

Utiliser les UUID

Debian utilise désormais les UUID par défaut. Pour lister les associations UUID et /dev/sdxy, utiliser la commande :

 ls -l /dev/disk/by-uuid/

Exemple d'utilisation dans /etc/fstab :

# / was on /dev/sda1 during installation
UUID=1ea62bb7-371d-4185-b193-cbddf9bb95ca /               ext4    errors=remount-ro 0       1

Monter des répertoires vituels

Il est possible de monter des répertoires dans d'autres répertoires. Le but de cette action est de disposer d'une pseudo arborescence répartie sur plusieurs disques. Contrairement à des liens symboliques l'utilisateur reste dans l'arborescence du répertoire racine, cela est très pratique dans le cas d'un FTP réparti sur plusieurs disques :

  • l'utilisateur est chrooté dans /ftp
  • grâce aux répertoires virtuels l'utilisateurs a accès aux autres disques sans avoir accès à /

La commande permettant de monter des répertoires virtuels est :

mount --bind [source] [destination]

Par exemple :

mount --bind /home/matthieu/photo /ftp/photo

Il n'est malheureusement pas possible de mettre un bind dans /etc/fstab/. Il faut donc ajouter les commandes au script de démarrage

Monter des partages samba

Packages

Sous Debian il faut installer smbfs et smbclient qui fournissent respectivement :

  • le type smbfs pour mount
  • la suite d'outils samba dont smbclient

Smbclient

Cet utilitaire permet de diagnostiquer si les partages windows fonctionnent :

livetux:/etc# smbclient -L gandalf
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.20b-Debian]

        Sharename       Type      Comment
        ---------       ----      -------
        ftp             Disk      FTP data
        cdrom           Disk      CDROM de gandalf
        floppy          Disk      Disquette de gandalf
        IPC$            IPC       IPC Service (gandalf server (Samba 3.0.20b-Debian))
        ADMIN$          IPC       IPC Service (gandalf server (Samba 3.0.20b-Debian))
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.20b-Debian]

        Server               Comment
        ---------            -------
        ALF-9CE262CF645
        GANDALF              gandalf server (Samba 3.0.20b-Debian)

        Workgroup            Master
        ---------            -------
        WORKGROUP            GANDALF
livetux:/etc#

Smbfs

Afin d'utiliser les partages comme des répertoires classique, il faut les monter. Dans un premier temps, nous allons expliquer les montages manuels avec l'utilisateur root. Nous expliquerons ensuite comment les automatiser.

Pour monter un répertoire il suffit d'utiliser la commande suivante :

  
livetux:/# mount -t smbfs //gandalf/ftp /ftp
Password:
livetux:/# ll /ftp
total 37
dr-xr-xr-x  1 root root 4096 2005-11-11 11:17 Appz
dr-xr-xr-x  1 root root 4096 2005-11-11 11:17 BD
dr-xr-xr-x  1 root root 4096 2005-11-11 11:17 Games
dr-xr-xr-x  1 root root 4096 2004-01-11 08:43 lost+found
dr-xr-xr-x  1 root root 4096 2005-11-11 11:17 MP3
dr-xr-xr-x  1 root root 4096 2005-11-11 11:17 OnDemand
dr-xr-xr-x  1 root root 4096 2005-11-11 11:17 Series-Anime
drwxr-xr-x  1 root root 4096 2005-11-11 11:22 upload
dr-xr-xr-x  1 root root 4096 2005-11-11 11:17 Video
-r-xr-xr-x  1 root root  453 2005-11-11 10:09 welcome.msg
livetux:/#

Les options utiles sont :

  • guest : monte un partage en tant qu'invité (pas de mot de passe)
  • username : nom d'utilisateur utilisé pour la connexion
  • password : mot de passe associé
  • uid : uid des fichiers montés
  • gid : gid des fichiers montés
  • fmask :

Important : pour obtenir les caractères accentués :

  • iocharset=iso8859-1 ou utf8 (mettre le même que locales)
  • codepage=cp850

Exemple de configuration /etc/fstab correspondante :

//bender/ftp    /bender/ftp     smbfs   defaults,username=leela,password=***,iocharset=utf8,codepage=cp850,auto  0       0

Bien gérer la langue française

Pour avoir des accents dans les noms de fichiers, certaines options sont parfois nécessaires. Il y a deux modes de configuration de Linux, avec iso8859-1 ou UTF8, cela se configure avec les locales (voir Linux en Français). Il faut indiquer cette configuration à samba.

Pour samba, il est important d'avoir les deux options :

iocharset=iso8859-1,codepage=cp850

ou

iocharset=utf8,codepage=cp850

Pour les cdrom (iso9660), il est important d'avoir l'option :

iocharset=iso8859-1

ou

utf8

Links

linux/config/mount.txt · Dernière modification: 2012/01/06 08:56 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki