Linux программирование в примерах - Роббинс Арнольд
Шрифт:
Интервал:
Закладка:
Не все из этих файловых систем поддерживаются командой mount; список поддерживаемых см. в mount(8).
Журналирование является методикой, впервые использованной в системах баз данных для увеличения производительности обновлений файлов таким образом, что восстановление файловой системы в случае аварии могло быть сделано быстро и правильно. В момент написания этого были доступны несколько различных журналируемых файловых систем, конкурирующих за продвижение в мире GNU/Linux. Одной из них является ext3; у нее преимущество обратной совместимости с существующими файловыми системами ext2, очень просто конвертировать файловые системы туда-сюда между этими двумя видами (См. tune2fs(8).) ReiserFS и XFS также имеют своих твердых сторонников.
Файловые системы fat, msdos, umsdos и vfat все разделяют общий исходный код. В общем, можно использовать vfat для монтирования разделов Windows FAT-32 (или другой FAT-xx), a umsdos, если нужно использовать раздел FAT в качестве корневой файловой системы для GNU/Linux.
Файловые системы Coherent, MINIX, первоначальной System V и Xenix все имеют сходные структуры на диске. Тип файловой системы sysv поддерживает все из них; четыре имени coherent, minix, sysv и xenix являются псевдонимами один для другого. Имена coherent и xenix в конечном счете будут удалены.
Быстрая файловая система BSD в течение нескольких лет успешно развилась. Файловая система ufs поддерживает операции чтения/записи для версий, начиная с 4.4 BSD, которая является основой для трех широко распространенных операционных систем BSD: FreeBSD, NetBSD и OpenBSD. Она поддерживает также операции чтения/записи для файловой системы Sun Solaris как для SPARC, так и для систем Intel x86. Первоначальный формат BSD и формат операционной системы NeXTStep поддерживаются в режиме только для чтения.
Обозначения «RO» для befs и ntfs означают, что файловые системы этих типов можно смонтировать и читать, но в них невозможно записать файлы или удалить из них файлы. (Со временем это может измениться; проверьте документацию своей системы.) Файловые системы cramfs, iso9660, romfs и udf отмечены «RO», поскольку лежащее в их основе средство по своей сути является устройством только для чтения.
Две файловые системы, которых больше не существует, это ext, которая была оригинальной расширенной файловой системой, и xiafs, которая расширяла оригинальную файловую систему MINIX для использования длинных имен и больших размеров файлов, xiafs и ext2 появились примерно в одно время, но ext2 в конечном счете стала доминирующей файловой системой.[80]
8.1.3. Монтирование файловых систем: mount
Команда mount монтирует файловые системы, соединяя их содержимое в системную иерархию файлов в их точках монтирования. Под GNU/Linux это иногда запутано, поскольку приходится иметь дело со всеми известными типами файловых систем и их опциями. Обычно запустить mount может лишь root, хотя в некоторых случаях можно сделать исключения, как в случае, обсуждаемом далее в главе.
Файловую систему вы указываете с помощью опции -t:
mount [<i>опции</i>] <i>устройство точка</i>_монтирования
Например (# является приглашением для root):
# <b>mount -t iso9660 /dev/cdrom /mnt/cdrom</b> /* Монтировать CD-ROM */
# <b>mount -t vfat /dev/fd0 /mnt/floppy</b> /* Монтировать гибкий диск MS-DOS */
# <b>mount -t nfs files.example.com:/ /mnt/files</b> /* Монтировать файловую систему NFS */
Можно использовать '-t auto', чтобы заставить mount угадать тип файловой системы. Это обычно работает, хотя если вы точно знаете, каков тип файловой системы, опция '-t' помогает указать тип и избежать вероятности ошибочного определения файловой системы, mount по умолчанию угадывает нужный тип, поэтому '-t auto' не является абсолютно необходимым.
Системы GNU/Linux предусматривают специальную разновидность монтирования посредством кольцевого (loopback) устройства. Таким способом образ файловой системы, содержащийся в обычном файле, может быть смонтирован, как если бы это было настоящее дисковое устройство. Эта возможность очень полезна, например, при использовании образов CD-ROM. Она позволяет создать образ и испытать его без необходимости прожига на болванке CD с последующим его монтированием. Следующий пример использует первый образ CD из дистрибутива GNU/Linux RedHat 9:
# <b>ls -l shrike-i386-discl.iso</b> /* Исследование файла образа CD */
-rw-r--r-- 1 arnold devel 668991488 Apr 11 05:13 shrike-i386-discl.iso
# <b>mount -t iso9660 -o ro,loop shrike-i386-discl.iso /mnt/cdrom</b>
/* Смонтировать его в /mnt/cdrom */
# <b>cd /mnt/cdrom</b> /* Перейти туда */
# <b>ls</b> /* Посмотреть файлы */
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