GNU/Linux >> Linux Esercitazione >  >> Linux

Come montare e smontare filesystem/partizione in Linux (esempi di comando di montaggio/smontaggio)

Una volta inseriti nuovi dischi rigidi nel sistema, in genere utilizzerai utility come fdisk o parted per creare partizioni. Dopo aver creato una partizione, utilizzerai il comando mkfs per creare la partizione ext2, ext3 o ext4.

Una volta creata una partizione, dovresti usare il comando mount per montare la partizione in un punto di montaggio (una directory), per iniziare a usare il filesystem.

Questo tutorial spiega tutto ciò che devi sapere sul comando mount e umount con 15 esempi pratici.

La sintassi generale del comando mount per montare un dispositivo:

mount -t type device destination_dir

1. Monta un CD-ROM

Il file del dispositivo per il CD esisterebbe nella directory /dev. Ad esempio, un dispositivo CD-ROM verrà montato come mostrato di seguito.

# mount -t iso9660 -o ro /dev/cdrom /mnt

Nell'esempio sopra, l'opzione “-o ro” indica che il cdrom deve essere montato con accesso in sola lettura. Inoltre, assicurati che la directory di destinazione (nell'esempio sopra, /mnt) esista prima di eseguire il comando mount.

2. Visualizza tutte le cavalcature

Dopo aver eseguito il montaggio di una partizione o di un filesystem, esegui il comando mount senza alcun argomento per visualizzare tutti i mount.

Nell'esempio seguente, dopo aver montato l'unità USB su un sistema, l'output di mount è simile al seguente. Come mostrato di seguito, il dispositivo USB (es:/dev/sdb) è montato su /media/myusb, che viene visualizzato come ultima riga nel comando mount.

# mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda6 on /mydata type ext2 (rw)
/dev/sda7 on /backup type vfat (rw)
gvfs-fuse-daemon on /home/bala/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=bala)
/dev/sdb on /media/myusb type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks)

Puoi anche usare il comando df per visualizzare tutti i punti di montaggio.

# df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda5      195069136 128345036  56958520  70% /
udev             2008336         4   2008332   1% /dev
tmpfs             806244       928    805316   1% /run
none                5120         0      5120   0% /run/lock
none             2015604       228   2015376   1% /run/shm
/dev/sda6       17729076    176200  16657596   2% /mydata
/dev/sda7       11707200    573312  11133888   5% /backup
/dev/sdb         3910656   2807160   1103496  72% /media/myusb

3. Monta tutto il filesystem menzionato in /etc/fstab

I filesystem elencati in /etc/fstab vengono montati durante il processo di avvio. Dopo l'avvio, l'amministratore di sistema potrebbe smontare alcune partizioni per vari motivi. Se vuoi che tutti i filesystem siano montati come specificato in /etc/fstab, usa -a opzione con mount come mostrato di seguito:

Esempio di voci di file /etc/fstab:

# cat /etc/fstab
#
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda5 during installation
/dev/sda5 /               ext4    errors=remount-ro 0       1
# /mydata was on /dev/sda6 during installation
/dev/sda6 /mydata         ext2    defaults        0       2
# /backup was on /dev/sda7 during installation
/dev/sda7 /backup         vfat    defaults        0       3

Esegui il comando mount con l'opzione -a per montare tutte le voci /etc/fstab.

# mount -a

# mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda6 on /mydata type ext2 (rw)
/dev/sda7 on /backup type vfat (rw)
gvfs-fuse-daemon on /home/bala/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=bala)

La stessa opzione -a può essere usata con umount per smontare tutti i filesystem menzionati in /etc/mtab

# umount -a
umount: /run/shm: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /run: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /dev: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

Alcuni filesystem non vengono smontati poiché sono occupati o attualmente in uso. Nota che i file /etc/mtab e /proc/mounts content sarebbero simili.

4. Monta solo un filesystem specifico da /etc/fstab

Quando passi solo il nome della directory da montare, cerca le voci del punto di montaggio, se non viene trovata, quindi cerca continuamente un dispositivo in /etc/fstab e viene montato.

# mount | grep /mydata

# cat /etc/fstab | grep mydata
##########/mydata was on /dev/sda6 during installation##########
 /dev/sda6 /mydata         ext2    defaults        0       2

Come visto sopra, la directory /mydata non è un punto di montaggio, ma è presente in /etc/fstab.

# mount /mydata

# mount | grep /mydata
/dev/sda6 on /mydata type ext2 (rw)

Se esegui di nuovo lo stesso, otterresti il ​​messaggio di errore come segue:

# mount /mydata
mount: /dev/sda6 already mounted or /mydata busy
mount: according to mtab, /dev/sda6 is already mounted on /mydata

Qui puoi anche passare il nome del dispositivo invece del nome della directory (da prelevare dal file /etc/fstab).

# mount /dev/sda6

Nota che i file /etc/mtab e /proc/mounts content sarebbero simili.

5. Visualizza tutte le partizioni montate di un tipo specifico

È possibile elencare solo il tipo specifico di filesystem montato usando l'opzione -l con -t come mostrato di seguito:

# mount -l -t ext2
/dev/sda6 on /mydata type ext2 (rw)

# mount -l -t ext4
/dev/sda5 on / type ext4 (rw,errors=remount-ro)

Come visto sopra, /dev/sda6 è l'unica partizione ext2 e /dev/sda5 è l'unica partizione ext4 di conseguenza.

6. Monta un floppy disk

Il file del dispositivo per il floppy disk esisterebbe nella directory /dev. Ad esempio, verrà montato un floppy disk come mostrato di seguito.

# mount /dev/fd0 /mnt
# cd /mnt

Dopo il montaggio riuscito, sarai in grado di accedere al contenuto del floppy disk. Una volta che hai finito, usa umount prima di rimuovere fisicamente il floppy disk dal sistema.

# umount /mnt

7. Associa i punti di montaggio a una nuova directory

Il punto di montaggio può essere associato a una nuova directory. In modo da poter accedere ai contenuti di un filesystem tramite più punti di montaggio contemporaneamente.

Usa l'opzione -B con olddir e newdir da associare come segue,

# mount -B /mydata /mnt

Ora il collegamento è terminato e potresti verificarlo come segue,

# mount | grep /mydata
/dev/sda6 on /mydata type ext2 (rw)
/mydata on /mnt type none (rw,bind)

Come visto sopra, la rilegatura è eseguita correttamente. Quindi, quando apporti modifiche al filesystem in un posto, puoi vederne il riflesso in un altro punto di montaggio come mostrato di seguito:

# cd /mydata
# ls
test
# mkdir dir1
# mkdir dir2
# ls
test    dir1    dir2
# cd /mnt
# ls
test    dir1    dir2

8. Accedi ai contenuti da un nuovo punto di montaggio

Il montaggio consente di accedere al contenuto di un punto di montaggio da un nuovo punto di montaggio. Non è altro che spostare un albero montato in un altro posto.

Nell'esempio seguente, sarà possibile accedere al punto di montaggio /mydata da /mnt utilizzando l'opzione -M come mostrato di seguito:

# mount -M /mydata /mnt/

Una volta terminato, non puoi utilizzare il vecchio punto di montaggio poiché è stato spostato su un nuovo punto di montaggio e questo può essere verificato come mostrato di seguito:

# mount | grep /mydata
# mount | grep /mnt
/dev/sda6 on /mnt type ext2 (rw)

9. Monta senza scrivere la voce in /etc/mtab

Durante il montaggio in sola lettura di /etc/, le voci del file /etc/mtab non possono essere modificate dal comando mount. Tuttavia, il montaggio può essere eseguito senza scrivere in /etc/mtab usando l'opzione -n ​​come segue,

# mount -n /dev/sda6 /mydata

Non puoi vedere alcuna voce per questo /mydata nell'output del comando mount e anche dal file /etc/mtab come segue:

# mount | grep /mydata
# cat /etc/mtab | grep /mydata

Accedi al contenuto di una directory montata /mydata:

# cd /mydata
# ls
dir1  dir2  test

10. Monta il filesystem con accesso in lettura o lettura/scrittura

Per montare la partizione in sola lettura, usa l'opzione -r che è sinonimo di -o ro.

# mount /dev/sda6 /mydata -r
# mount  | grep /mydata
/dev/sda6 on /mydata type ext4 (ro)

il filesystem ext3 ed ext4 ti permetterebbe comunque di eseguire operazioni di scrittura quando il filesystem è sporco. Quindi, potresti dover usare "ro,noload" per impedire questo tipo di operazioni di scrittura.

# mount /dev/sda6 /mydata -t ext4 -o ro -o noload
# mount | grep /mydata
/dev/sda6 on /mydata type ext4 (ro,noload)

Per montare una partizione con accesso in lettura/scrittura, utilizzare l'opzione -w che è la stessa di "-o rw" (es:default).

11. Rimontare il filesystem montato

Per montare il filesystem già montato, usa l'opzione remount ed è normalmente usata per rimontare il filesystem con accesso in lettura/scrittura quando è stato precedentemente montato con accesso in lettura.

Il punto di montaggio /mydata verrà rimontato con accesso in lettura/scrittura dall'accesso in lettura come mostrato di seguito:

# mount | grep /mydata
/dev/sda6 on /mydata type ext4 (ro,noload)
# mount -o remount,rw /mydata
# mount | grep /mydata
/dev/sda6 on /mydata type ext4 (rw)

12. Monta un'immagine ISO in una directory

L'immagine ISO può essere montata come mostrato di seguito:

# mount -t iso9660 -o loop pdf_collections.iso /mnt
# cd /mnt
# ls
perl/    php/    mysql/

13. Smonta più di un punto di montaggio

Umount ti consente di smontare più di un punto di montaggio in una singola esecuzione di unmount di comando come segue:

# umount /mydata  /backup
# mount | grep /mydata
# mount | grep /backup

14. Smontaggio pigro di un filesystem

Questa è un'opzione speciale in umount, nel caso in cui desideri smontare una partizione dopo che le operazioni sul disco sono state eseguite. Puoi emettere il comando umount -l con quella partizione e lo smontaggio verrà eseguito al termine delle operazioni sul disco.

Ad esempio, considera uno scenario in cui un'attività (ad esempio:script o qualsiasi altro comando) sta eseguendo un'operazione di copia su un disco e allo stesso tempo ti è consentito eseguire uno smontaggio con -l, in modo che lo smontaggio venga eseguito una volta la copia è finita (es:l'operazione sul disco).

# umount /mydata -l

15. Smonta forzatamente un filesystem

umount fornisce l'opzione per smontare forzatamente un filesystem con l'opzione -f quando il dispositivo è occupato come mostrato di seguito:

# umount -f /mnt

Se questo non funziona per te, puoi procedere allo smontaggio pigro.

Nel frattempo, puoi anche dare un'occhiata all'output del comando ps che il processo sta attualmente utilizzando il punto di montaggio come mostrato di seguito:

# ps ajx | grep /mydata
 2540  3037  3037  2468 pts/2     3037 D+       0   0:00 cp -r /home/geekstuff/ProjectData/ /mydata

Puoi anche eseguire il comando fusore per scoprire quale processo contiene la directory per le operazioni.

# fuser -cu /mydata
/mydata:              3087(root)

Ti dà l'id del processo con il nome utente (nient'altro che il proprietario del processo). Se sai qual è quel processo, potresti voler interrompere quel processo e quindi provare a smontare di nuovo.


Linux
  1. Come montare e smontare le unità su Linux

  2. Come verificare se una partizione è montata come "noexec"?

  3. Come trovare il tipo di un file Img e montarlo?

  4. Come creare un file e montarlo come filesystem?

  5. Come montare e smontare un file system in Linux

Come montare una partizione temporanea nella RAM in Linux

Come clonare e ripristinare la partizione Linux usando il comando dd

Come montare la partizione Windows crittografata con Bitlocker in Linux

Come formattare e montare dischi di dimensioni superiori a 2 TB su Linux

Comando di montaggio Linux con esempi

Come montare e utilizzare un'unità exFAT su un sistema Linux