There are two ways to manage devices under Linux: the DOS way and the UNIX way. Take your pick.
Most Linux distributions include the Mtools suite, a set of commands that
are perfectly equivalent to their DOS counterpart, but start with an `m':
i.e., mformat
, mdir
, mdel
, mmd
, and so on. They can even
preserve long file names, but not file permissions. If you configure Mtools
editing a file called /etc/mtools.conf (a sample is provided),
you can also access the DOS/Win partition, the CD-ROM, and the Zip drive.
To format a fresh disk though, the mformat
command won't do. As root,
you'll have to issue this command beforehand:
# fdformat /dev/fd0H1440
Note: you can't access files on the floppy with a command like, say,
less a:file.txt
! This is the disadvantage of the DOS way of
mounting disks.
UNIX has a different way to handle devices than DOS/Win. There are no separate volumes like A: or C:; a disk, be it a floppy or whatever, becomes part of the local file system through an operation called ``mounting''. When you're done using the disk, before extracting it you must ``unmount'' it.
Physically formatting a disk is one thing, making a file system on it is
another. The DOS command FORMAT A:
does both things, but under Linux
there are separate commands. To format a floppy, see above; to create a file
system:
# mkfs -t ext2 -c /dev/fd0H1440
You can use minix
, vfat
, dos
or other formats instead of
ext2
. Once the disk is prepared, mount it with the command
# mount -t ext2 /dev/fd0 /mnt
specifying the right file system if you don't use ext2
. Now you can
address the files in the floppy. All you used to do with A: or B: is now
done using /mnt
instead. Examples:
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/$ _
When you've finished, before extracting the disk you must unmount it with the command
# umount /mnt
Obviously, you have to fdformat
and mkfs
only unformatted disks,
not previously used ones. If you want to use the drive B:, refer to
fd1H1440
and fd1
instead of fd0H1440
and fd0
in the
examples above.
Needless to say, what applies to floppies also applies to other devices; for instance, you may want to mount another hard disk or a CD-ROM drive. Here's how to mount the CD-ROM:
# mount -t iso9660 /dev/cdrom /mnt
This was the ``official'' way to mount your disks, but there's a trick in store. Since it's a bit of a nuisance having to be root to mount a floppy or a CD-ROM, every user can be allowed to mount them this way:
# mkdir /mnt/a: ; mkdir /mnt/a ; mkdir /mnt/cdrom
# chmod 777 /mnt/a* /mnt/cd*
# # make sure that the CD-ROM device is right
# 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
Now, to mount a DOS floppy, an ext2 floppy, and a CD-ROM:
$ mount /mnt/a:
$ mount /mnt/a
$ mount /mnt/cdrom
/mnt/a, /mnt/a:, and /mnt/cdrom can now be accessed by every user. Remember that allowing everyone to mount disks this way is a gaping security hole, if you care.
Two useful commands are df
, which gives information on the mounted file
systems, and du dirname
which reports the disk space consumed by the
directory.
There are several packages to help you, but the very least you can do for a multi-volume backup is (as root):
# tar -M -cvf /dev/fd0H1440 dir_to_backup/
Make sure to have a formatted floppy in the drive, and several more ready. To restore your stuff, insert the first floppy in the drive and do:
# tar -M -xpvf /dev/fd0H1440