Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I devices: uso di floppy e cdrom

Impariamo ad utilizzare floppy e cd-rom sotto Linux. I comani per "montare" i componenti esterni
Impariamo ad utilizzare floppy e cd-rom sotto Linux. I comani per "montare" i componenti esterni
Link copiato negli appunti

In questa lezione vedremo come utilizzare floppy e cdrom. Se Windows ci ha abituati a poter utilizzare i media subito dopo avere inserito i media nel vano, con Linux il discorso si fa leggermente diverso.

Sebbene esistano dei programmi che "si accorgono" della presenza di, ad esempio, un cdrom nel lettore, di norma Linux deve essere istruito su fatto che l'utente vuole leggere o scrivere dati in un device che non sia un disco.

mount

Anche qui, abbiamo un comando che serve proprio a "far vedere" a linux i device: questo comando è mount, la cui sintassi di base è:

mount device dir

dove device è il media che si deve montare (ad esempio il cdrom, che potrebbe essere identificato come
/dev/hdd) e "dir" è la directory nella quale verrà montato il device stesso (ad esempio, /cdrom); "dir" viene spesso definito anche come "mount point".

Vediamo un semplice esempio: creiamo, se non esiste, la directory /cdrom; nel caso questa già esista, proviamo ad entrarci: noteremo che, a meno di stranezze, questa è vuota. Adesso inseriamo il cd nel lettore e, sempre supponendo che nel nostro sistema il lettore cdrom sia lo slave secondario (/dev/hdd) lanciamo il comando:

mount /dev/hdd /cdrom

Se tutto va per il verso giusto, il lettore dovrebbe mettersi in funzione e un

ls /cdrom

ci permetterà di esplorare i contenuti del cd. Lo stesso discorso vale per il floppy: in questo caso, però, il device è /dev/fd0 (la prima unità floppy) e come mount point è meglio scegliere la directory /floppy.

le opzioni di mount

Il comando mount ci mette a disposizione molte opzioni, alcune utili altre addirittura essenziali per montare correttamente i media; vediamone qualcuna:

Opzione Descrizione
-r monta il filesystem in read-only, come avviene per i cdrom
-w monta i device in read-write, siano esempio i floppy
-t permette di specificare il filesystem del media: ad esempio, per i cdrom si usa spesso "-t iso9660", per i floppy formattati sotto windows si usa -t vfat e via di seguito. Ovviamente, il filesystem deve essere supportato dal kernel, pena l'impossibilità di montare il device
-o permette di specificare delle opzioni per il mount: probabilmente per le operazioni di base tale opzioni non sono necessarie ma possono essere molto utili per operazioni più complesse (ad esempio, il mount di device di rete)

Una volta montato un device, noterete che anche premendo il pulsante di eject (escluso il floppy) il media non uscirà. Questo perchè non abbiamo istruito Linux a "lasciare libero" il nostro device. Anche qui, c'è un comando che serve appositamente a questo: umount, la cui sintassi è semplicemente:

umount dir

dove con "dir" dobbiamo andare ad indicare la directory nella quale è montato il media. Riprendiamo l'esempio fatto sopra, ipotizzando di avere già montato il cd in /cdrom: per smontarlo, basterà solamente lanciare:

umount /cdrom

A questo punto, con il pulsante eject del drive sarà possibile estrarre il disco dal lettore.

Può però accadere, a volte, che l'umount fallisca dicendoci "device is busy", ossia che qualcosa tiene occupato il device. Spesso, questo accade perchè un utente si trova all'interno del mount point: se provate ad esempio a dare:

mount /dev/hdd /cdrom
cd /cdrom
umount /cdrom

otterrete proprio il messaggio: "/cdrom: device is busy". Ricordate quindi di "uscire" dal mount point quando volete smontare il device.

Sfruttare gli alias per velocizzare il mount

Finiamo questo capitolo con un paio di trucchetti: il primo riguardante il cdrom ed il secondo il floppy.

A volte continuare a lanciare una serie di comandi per montare i cd può risultare fastidioso: per questo si possono utilizzare gli alias: scrivete nel vostro ~/bashrc o ~/bash_profile o entrambi (a seconda che vogliate utilizzare questi alias da X, da console o da entrambi) quanto segue:

alias cdin='cd; mount /dev/hdd /cdrom; cd -'
alias cdout='cd; umount /cdrom; cd -; eject'

Adesso, lanciando solamente cdin o cdout potrete montare e smontare i device senza troppi problemi!

Ma vediamo soprattutto il secondo, che è una serie di quattro comandi: il primo (cd) ci porta nella nostra home (altrimenti, se per caso siamo nel mount point, sarà impossibile smontare il device), il secondo smonta il device; il terzo ci riporta alla directory dove eravamo prima del "cd" ed il quarto espelle il cd! Notiamo soprattutto il comando eject solitamente è un programma (e quindi un pacchetto) che va installato a parte, altrimenti l'apertura del drive fallirà riportandovi un errore; alternativamente, esiste anche il comando cdeject presente nel pacchetto cdtool.

Passiamo ora al floppy: immaginate di dover copiare un file da un floppy ad un altro: bisognerà quindi:

  1. montare il primo floppy
  2. copiare il file
  3. smontare il floppy
  4. montare il secondo floppy
  5. copiare il file

Questa sarebbe la procedura standard se non esistesse il comando fdflush che permette al drive di "accorgersi" del cambiamento del floppy. Quindi, la procedura sopra illustrata si riduce al dover:

  1. montare il primo floppy;
  2. copiare il file
  3. inserire il secondo floppy e lanciare "fdflush /dev/fd0
  4. copiare il file

Una solo passo in meno, ma una grande comodità in più! L'unica nota, per chiudere, è che non tutti i drive riescono ad accorgersi del cambiamento del floppy: se eseguendo la procedura descritta sopra, dopo aver lanciato fdflush, vedete ancora il contenuto del primo disco, probabilmente il comando fdflush è inutile nel vostro sistema!

Ti consigliamo anche