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 in the distribution), 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
.
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 accessing disks.
UNIX has a different way to handle devices. 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 dos
, vfat
(recommended) 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 using /mnt
instead of A: or B:.
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/floppy ; mkdir /mnt/cdrom
# chmod 777 /mnt/floppy /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/floppy vfat user,noauto 0 0
Now, to mount a DOS floppy and a CD--ROM:
$ mount /mnt/floppy
$ mount /mnt/cdrom
/mnt/floppy 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