Há duas maneiras de se gerenciar dispositivos no Linux: a maneira do DOS e a do UNIX.
A maioria das distribuições do Linux inclui o pacote Mtools, um conjunto
de comandos que são equivalentes às suas contrapartida do DOS, mas
começam com `m': i.e., mformat
, mdir
, mdel
, mmd
,
e assim por diante. Eles até preservam nomes-de-arquivos longos, mas
não as permissões de arquivos. Se você configurar Mtools, editando um
arquivo chamado /etc/mtools.conf (um exemplo é fornecido
com o pacote), poderá também acessar a partição DOS/Win, o CD-ROM e o
Zip drive.
Entretanto, o comando mformat
não funciona para formatar um
disquete novo (nunca formatado). Antes, você terá que rodar o seguinte
comando, como root:
# fdformat /dev/fd0H1440
Observação: você não pode acessar arquivos no disquete com um comando
como, digamos,
less a:arquivo.txt
! Esta é a desvantagem da maneira DOS de montar
disquetes.
O UNIX lida com dispositivos de uma forma diferente do DOS/Win. Não há volumes separados como A: ou C:; um disco, seja um disquete ou o que quer que seja, se torna parte do sistema de arquivos local através de uma operação chamada "montagem". Quando você terminar de usar o disco, você precisa "desmontá-lo" antes de ejetá-lo.
Formatar um disco fisicamente é uma coisa, fazer um sistema de arquivos
nele é outra. O comando FORMAT A:
do DOS faz ambas as coisas,
mas no Linux há comandos separados. Para formatar um disquete, veja
acima; para criar um sistema de arquivos:
# mkfs -t ext2 -c /dev/fd0H1440
Você pode usar minix
, vfat
, dos
ou outros formatos ao invés
de ext2
. Uma vez que o disquete esteja preparado, monte-o com o
comando:
# mount -t ext2 /dev/fd0 /mnt
especificando o sistema de arquivos correto se você não for usar
ext2
. Agora você pode se referir aos arquivos do disquete.
Tudo o que você usava com A: ou B: agora é feito usando
/mnt
. Exemplos:
DOS Linux
---------------------------------------------------------------------
C:\GUIDO>DIR A: $ ls /mnt
C:\GUIDO>COPY A:*.* $ cp /mnt/* .
C:\GUIDO>COPY *.ZIP A: $ cp *.zip /mnt
C:\GUIDO>EDIT A:FILE.TXT $ jstar /mnt/file.txt
C:\GUIDO>A: $ cd /mnt
A:>_ /mnt/$ _
Quando você tiver terminado, antes de ejetar o disquete você deve desmontá-lo com o comando
# umount /mnt
Obviamente, você precisa executar fdformat
e mkfs
somente em discos ainda não formatados. Se você quiser usar o drive B:
use /fd1H1440/ e fd1
ao invés de fd0H1440
e fd0
nos exemplos acima.
Evidentemente, o que se aplica a disquetes se aplica a outros dispositivos; por exemplo, você pode querer montar outro disco rígido ou drive de CD-ROM. Eis como montar o CD-ROM:
# mount -t iso9660 /dev/cdrom /mnt
Esta é a maneira "oficial" de montar seus discos, mas há um truque. Já que é um pouco aborrecedor ter que ser root para montar um disquete ou CD-ROM, você pode permitir que todo usuário os monte assim:
# mkdir /mnt/a: ; mkdir /mnt/a ; mkdir /mnt/cdrom
# chmod 777 /mnt/a* /mnt/cd*
# # assegura que o dispositivo de CD-ROM está correto
# chmod 666 /dev/hdb ; chmod 666 /dev/fd*
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0
/dev/fd0 /mnt/a: msdos user,noauto 0 0
/dev/fd0 /mnt/a ext2 user,noauto 0 0
Agora, para montar um disquete do DOS, um disquete com sisteme de arquivos ext2, e um CD-ROM:
$ mount /mnt/a:
$ mount /mnt/a
$ mount /mnt/cdrom
Agora, /mnt/a, /mnt/a:, e /mnt/cdrom podem ser acessados por todos os usuários. Lembre-se que permitir que todos montem discos dessa maneira é um furo de segurança, se você se importa.
Dois comandos úteis são df
, que dá informação sobre os sistemas de
arquivos montados, e du nomedir
, que relata o espaço em disco
ocupado pelo diretório.
Há vários pacotes para lhe ajudar, mas o mínimo que você pode fazer para backup multi-volume é (como root):
# tar -M -cvf /dev/fd0H1440 dir_to_backup/
Assegure-se de ter um disquete formatado no drive, e vários outros prontos. Para restaurar suas coisas, insira o primeiro disquete no drive e faça:
# tar -M -xpvf /dev/fd0H1440