Чтение онлайн

ЖАНРЫ

Linux программирование в примерах

Роббинс Арнольд

Шрифт:

8.1.3. Монтирование файловых систем:

mount

Команда

mount
монтирует файловые системы, соединяя их содержимое в системную иерархию файлов в их точках монтирования. Под GNU/Linux это иногда запутано, поскольку приходится иметь дело со всеми известными типами файловых систем и их опциями. Обычно запустить
mount
может лишь
root
, хотя в некоторых случаях можно сделать исключения, как в случае, обсуждаемом далее в главе.

Файловую систему вы указываете с помощью опции

– t
:

mount [опции] устройство
точка
_монтирования

Например (

#
является приглашением для
root
):

# mount -t iso9660 /dev/cdrom /mnt/cdrom /* Монтировать CD-ROM */

# mount -t vfat /dev/fd0 /mnt/floppy /* Монтировать гибкий диск MS-DOS */

# mount -t nfs files.example.com:/ /mnt/files /* Монтировать файловую систему NFS */

Можно использовать '

– t auto
', чтобы заставить
mount
угадать тип файловой системы. Это обычно работает, хотя если вы точно знаете, каков тип файловой системы, опция '
– t
' помогает указать тип и избежать вероятности ошибочного определения файловой системы,
mount
по умолчанию угадывает нужный тип, поэтому '
– t auto
' не является абсолютно необходимым.

Системы GNU/Linux предусматривают специальную разновидность монтирования посредством кольцевого (loopback) устройства. Таким способом образ файловой системы, содержащийся в обычном файле, может быть смонтирован, как если бы это было настоящее дисковое устройство. Эта возможность очень полезна, например, при использовании образов CD-ROM. Она позволяет создать образ и испытать его без необходимости прожига на болванке CD с последующим его монтированием. Следующий пример использует первый образ CD из дистрибутива GNU/Linux RedHat 9:

# ls -l shrike-i386-discl.iso /* Исследование файла образа CD */

– rw-r--r-- 1 arnold devel 668991488 Apr 11 05:13 shrike-i386-discl.iso

# mount -t iso9660 -o ro,loop shrike-i386-discl.iso /mnt/cdrom

/* Смонтировать его в /mnt/cdrom */

# cd /mnt/cdrom /* Перейти туда */

# ls /* Посмотреть файлы */

autorun README.it RELEASE-NOTES-fr.html

dosutils README.ja RELEASE-NOTES.html

EULA README.ko RELEASE-NOTES-it.html

GPL README.pt RELEASE-NOTES-ja.html

images README.pt_BR RELEASE-NOTES-ko.html

isolinux README.zh_CN RELEASE-NOTES-pt_BR.html

README README.zh_TW RELEASE-NOTES-pt.html

README-Accessibility RedHat RELEASE-NOTES-zh_CN.html

README.de RELEASE-NOTES RELEASE-NOTES-zh_TW.html

README.es RELEASE-NOTES-de.html RPM-GPG-KEY

README.fr RELEASE-NOTES-es.html TRANS.TBL

# cd /* Сменить */

# umount /mnt/cdrom /* Демонтировать */

Возможность монтирования таким способом образа ISO 9660 особенно полезна при тестировании сценариев, создающих образы CD. Вы можете создать образ в обычном файле, смонтировать его и проверить, что он подготовлен правильно. Затем, убедившись, что все в порядке, можно скопировать образ на записываемый CD («прожечь» CD). Возможность кольцевого устройства полезна

также для монтирования образов гибких дисков

8.1.4. Демонтирование файловых систем:

umount

Команда

umount
демонтирует файловую систему, удаляя ее содержимое из системной иерархии файлов. Использование следующее:

umount файл-или-устройство

Демонтируемая файловая система не должна быть занята. Это означает, что нет процессов с открытыми в файловой системе файлами и что ни у одного процесса текущий рабочий каталог не находится в этой файловой системе:

$ mount /* Показать, что смонтировано */

/dev/hda2 on / type ext3 (rw) /* / находится на настоящем устройстве */

none on /proc type proc (rw)

usbdevfs on /proc/bus/usb type usbdevfs (rw)

/dev/hda5 on /d type ext3 (rw) /* To же c /d */

none on /dev/pts type devpts (rw,gid=5,mode=620)

none on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

$ su /* Переключиться на суперпользователя */

Password: /* Пароль не отображается */

# cd /d /* Сделать /d текущим каталогом */

# umount /d /* Попытка демонтировать /d */

umount: /d: device is busy /* Doesn't work; it's still in use */

# cd / /* Сменить /d */

# umount /d /* Еще одна попытка демонтировать /d */

# /* Молчание золото: umount работает */

8.2. Файлы для администрирования файловой системы

Файл

/etc/fstab
[81] перечисляет файловые системы, которые могут быть смонтированы. Большинство из них монтируются автоматически, когда система загружается. Формат следующий:

устройство точка-монтирования тип-фс опции dump-freq fsck-pass

(

dump-freq
и
fsck-pass
являются административными особенностями, не относящимися к настоящему обсуждению). Например, на нашей системе файл выглядит следующим образом:

81

Ha GNU/Linux и большинстве систем Solaris и некоторые системы на основе System V Release 4 используют

/etc/vfstab
, возможно, с другим форматом — Примеч. автора.

$ cat /etc/fstab

# device mount-point type options freq passno

/dev/hda3 / ext3 defaults 1 1 /* Корневая файловая система */

/dev/hda5 /d ext3 defaults 1 2

none /dev/pts devpts gid=5,mode=620 0 0

none /proc proc defaults 0 0

none /dev/shm tmpfs defaults 0 0

# Windows partition:

/dev/hda1 /win vfat noauto,defaults,user,uid=2076,gid=10 0 0

Поделиться с друзьями: