Next Previous Contents

5. Floppies, Hard Disks, and the Like

There are two ways to manage devices under Linux: the DOS way and the UNIX way. Take your pick.

5.1 Managing Devices the DOS Way

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.

5.2 Managing Devices the UNIX Way

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:

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.

5.3 Backing Up

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


Next Previous Contents