MUNTATGE DEL SISTEMA DE FITXERS

El fet d'inserir un dispositiu d'emmagatzemament al sistema de fitxers s'anomena muntatge.

Només l'usuari root pot fer-ho des d'un programa amb les crides que detallem tot seguit:

#include <sys/mount.h>

int mount(const char *disp, const char *dir, const char *sf, unsigned long flm, const void *dd);

int umount(const char *nom);

int umount2(const char *nom, int flags);

Totes retornen 0 si van bé i -1 combinat amb errno si hi ha algún error.

mount: Monta el sistema de fitxers del dispositiu disp en el punt de muntatge que indica dir. El tipus de sistema de fitxers, l'indicarem amb la variable sf i pot ser qualsevol dels valors de la llista de /proc/filesystems, com ara ext3, ext2, iso9660 o vfat. La variable flm (flags de muntate) pot contenir, entre d'altres, els següents valors (per veure'ls tots podeu fer man 2 mount), que es poden combinar separant-los per | (la o lògica)::

MS_RDONLY Muntatge per a llegir i prou.
MS_NOSUID No fer cas dels bits de setuid i de setgid dels fitxers muntats.
MS_NODEV No permetre l'accés als fitxers de dispositiu muntats.
MS_NOEXEC No permet l'execució dels fitxers muntats.
MS_SYNCHRONOUS Fer les escriptures de seguida, no de manera diferida (semblant a l'efecte de O_SYNC a open).

Finalment, dd serà un apuntador a les opcions que necessiti el sistema de fitxers per ser muntat.

umount: Desmonta allò que es digui a nom, que pot ser tant el dispositiu com el punt de muntatge que prèviament s'hagi muntat.

umount2: És una novetat dels nuclis 2.1.116 que funciona com l'anterior excepte que aquí es passa un altre argument (flags) que pot prendre els valors següents:

MNT_FORCE Força el desmuntatge encara que el dispositiu estigui ocupat. (Des de 2.1.116 i només per NFS.)
MNT_DETACH Provoca un desmuntatge lent: fa que els fitxers muntats siguin inabastables per a nous accessos i s'espera que el dispositiu estigui descocupat per efectuar el desmuntatge. (Des de 2.4.11)

ATENCIÓ: Aquestes crides no modifiquen el fitxer /etc/mtab, de manera que allò que muntem no perdurarà.

Els següent exemple, no el podreu aplicar fil per randa, ja que no tindreu un dispositiu /dev/sda5 a muntar. Adapteu-lo per muntar per exemple un disquet i comproveu com un cop executat el disquet ja és accessible.

 

 

Autor: Lluís València López

Creative Commons License
Aquesta obra està subjecta a una Llicència de Creative Commons.