Существует два способа обслуживания устройств в Linux: DOS-способ и UNIX-способ. Сделайте ваш выбор.
Большинство дистрибутивов Linux включают в себя пакет Mtools---набор
команд, которые эквивалентны своим копиям в DOS, но начинаются с буквы `m':
т.е., mformat
, mdir
, mdel
, mmd
, и так
далее. Они могут даже сохранять длинные имена, но не права доступа к
файлам. Если вы настроите Mtools, редактируя файл
/etc/mtools.conf (пример поставляется вместе с дистрибутивом
пакета), то вы также сможете иметь доступ к разделам DOS/Win, к устройствам
CD-ROM и Zip. Однако для форматирования нового диска команда
mformat
не будет работать. Как root, вам заранее необходимо
выполнить команду: fdformat /dev/fd0H1440
.
Вы не можете иметь доступ в файлам на гибком диске для команд, таких как,
например, less a:file.txt
! Это недостаток DOS-способа для доступа к
дискам.
В UNIX имеется другой подход к обслуживанию устройств. Не существует отдельных томов, таких как A: или C:; диск, будь он гибким или любым другим, становится частью локальной файловой системы через операцию, называемую ``монтирование''. Когда вы заканчиваете работать с диском, до его извлечения вы должны ``отмонтировать'' его.
Физически форматирование диска> -- это одно действие, а создание
файловой системы на нем> -- это другое. Команда DOS FORMAT A:
выполняет оба действия, но в Linux существуют разные команды. Для
форматирования гибкого диска> -- смотрите выше; для создания файловой системы
используется команда:
# mkfs -t ext2 -c /dev/fd0H1440
Вы можете использовать dos
, vfat
(рекомендуется) или
другие форматы вместо ext2
. Приготовив диск, примонтируйте его с
помощью команды
# mount -t ext2 /dev/fd0 /mnt
указывая правильную файловую систему, если вы не используете ext2
.
Теперь вы можете обращаться к файлам, используя /mnt
вместо A: или
B:. Примеры:
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/$ _
После того как вы закончите, до извлечения диска вы должны отмонтировать его, используя команду
# umount /mnt
Очевидно, что вы должны применять fdformat
и mkfs
только
для неформатированых дисков, никогда до этого не применявшихся. Если вы
хотите использовать диск B:, то ссылайтесь на fd1H1440
и
fd1
вместо fd0H1440
и fd0
в вышеприведенном
примере.
Излишне говорить, что то, что применяется для гибких дисков, также применяется для других устройств; например вы захотите примонтировать другой жесткий диск или устройство CD-ROM. Вот как примонтировать CD-ROM:
# mount -t iso9660 /dev/cdrom /mnt
Это был ``официальный'' способ монтирования ваших дисков, но существует один прием. Поскольку немного досадно, что необходимо быть root для монтирования гибкого диска или CD-ROM, то каждому пользователю разрешается монтировать их вот таким способом:
# 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
Теперь для монтирования гибкого диска в формате DOS и CD--ROM используются команды:
$ mount /mnt/floppy
$ mount /mnt/cdrom
/mnt/floppy и /mnt/cdrom могут сейчас быть доступны любому пользователю. Помните, что разрешение всем монтировать диски таким способом -- это зияющая дыра в безопасности, если вас это беспокоит.
Двумя полезными командами являются df
, которая дает информацию о
примонтированых файловых системах, и du dirname
, которая сообщает
размер дискового пространства, занимаемого каталогом.
Существуют разные пакеты, которые помогут вам в этом занятии, но по крайней мере вы должны знать, как делается многотомное резервирование данных (как пользователь root):
# tar -M -cvf /dev/fd0H1440 dir_to_backup/
Убедитесь, что имеется форматированый гибкий диск в устройстве и несколько дополнительных. Для восстановления ваших данных вставьте первый гибкий диск в устройство и выполните:
# tar -M -xpvf /dev/fd0H1440