domenica 18 maggio 2008

lofs delirium

Un amico mi chiama sottoponendomi un problema che sta avendo.
Riguarda un'immagine iso montata sotto Solaris, che non si comporta come dovrebbe o ... come lui vorrebbe.
Dice di aver creato il lofs con lofiadm e di averlo montato con successo. Al momento di accedere al mountpoint, però, riceve un:

cd /mnt2
-bash: cd: /mnt2: Not a directory

mmh.
Allora si parte con le domande di rito:
Fai un ls -la di /mnt2:
ls -la /mnt2
brw------- 1 root sys 144, 1 mag 18 21:19 /mnt2

Mmmhh, un block device file. Qualcosa non quadra. Sarebbe necessario capire cosa ha fatto durante la procedura di creazione del loFS e del successivo mount.

Niente history... ma dopo qualche smanettamento infruttuoso m'illumino:
Smonto il filesystem e distruggo il device file; notando che /mnt2 non è una directory ma un device file, sono convinto che abbia montato il device specificando a mount non che si tratta di un'immagine iso, ma appunto di un lofs ... che si può assimilare a distrazione o più probabilmente al fatto di conoscere la procedura, essersi distratto e non aver ben capito cosa si stia facendo. Quindi mount l'ha montato come quello che è, ragionando correttamente (almeno lui).

Ora da vuoto, rifaccio tutto:
creo il device con lofiadm, /dev/lofi/1 , poi creo la dir /mnt2, e lo monto:
mount -F hsfs /dev/lofi/1 /mnt2

df -h|grep lofi
/dev/lofi/1 450M 450M 0K 100% /mnt2

cd /mnt2
ls
sparc worm x64

Perfetto. Funziona.
Il problema è riproducibile, dopo aver creato il lofs desiderato, montandolo cosi:

mount -F lofs /dev/lofi/1 /mnt2

e verificando che /mnt2 è un block device file e non il mountpoint sotto il quale si voleva montare la iso.
Distrazione o errato ragionamento.
Morale;
Montando un loFS, bisogna specificare il tipo di FS al quale esso fa riferimento, e non definendolo come loFS, quando si usa l'opzione -F di mount.

Nessun commento:

Visite