Next Previous Contents

## 6. 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.

## 6.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 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.

## 6.2 Managing Devices the UNIX Way

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:

- as root, do the following:

  > `

  >     # 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*

  > `

- add in /etc/fstab the following lines:

  > `

  >     /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.

## 6.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