3

Я прочитал страницу руководства команды "mount", которая выглядит так:

Все файлы, доступные в системе Unix, расположены в одном большом дереве, иерархии файлов, с корнем в / . Эти файлы могут быть распределены по нескольким устройствам. Команда mount служит для присоединения файловой системы, найденной на каком-либо устройстве, к большому файловому дереву.

Мои вопросы:

  • Где находится это "большое дерево"?

  • Предположим, у меня есть 2 диска, если я смонтирую их в какой-либо точке "большого дерева", помещает ли Linux некоторые "специальные метки" в точку монтирования, чтобы указать, что эти 2 "директории монтирования" действительно являются отдельными дисками?

4 ответа4

6

Где находится это "большое дерево"?

Он расположен в / :-). "Большое дерево" относится к тому факту, что у linux есть только одна общесистемная файловая иерархия (которая начинается с /). Это контрастирует, например, с MS-DOS и MS Windows, которые могут иметь несколько файловых иерархий (по одной на букву диска).

Предположим, у меня есть 2 диска, если я смонтирую их в какой-либо точке "большого дерева", помещает ли linux специальные отметки «в точке монтирования, чтобы указать, что эти 2" директории монтирования "действительно являются отдельными дисками?

Нет, в самих точках монтирования нет "специальных отметок". Однако ядро отслеживает, какая именно файловая система (жесткий диск) монтируется в какой момент, поэтому оно знает, откуда на самом деле считывать данные при доступе к файлу, например /usr /local /bla /blo /xxx. Эту информацию можно просмотреть, например, запустив mount , который перечисляет все смонтированные файловые системы вместе с их текущей точкой монтирования в файловой иерархии.

6

Вы получите больше информации об этом на страницах руководства Mount .

Что касается первого вопроса, как выглядит большое дерево :)

3

Если вы введете mount без аргументов, он скажет вам, какой каталог монтируется и где. Например, если ответ /dev/sda1 on / type ext3 (rw) , это означает, что корневой каталог первого раздела на вашем первом жестком диске фактически является корнем вашего "большого дерева".

Теперь предположим, что вы также получаете строку /dev/sdb1 on /home type ext3 (rw) . Это означает, что содержимое вашего каталога /home будет корневым каталогом первого раздела на вашем втором жестком диске. Могут быть и другие виртуальные файловые системы, которые не существуют ни в одном разделе, но динамически управляются системой. Например, вы загружаетесь с live CD и монтируете раздел, который используется как системный раздел. Допустим, вы печатаете.

mkdir /media/system
mount /dev/sda1 /media/system

Теперь вы увидите корневой каталог вашей системы (который вы регулярно используете, а не тот, в который вы загрузились с компакт-диска) в /media/system . Вы также увидите, что каталоги, такие как dev , пусты, потому что они обычно содержат виртуальную файловую систему.

Если вы спрашиваете, как система решает, где находится этот раздел, все это написано в /etc/fstab . Наберите man 5 fstab если вам нужна дополнительная информация об этом. Да, я знаю, что здесь есть проблема с куриным яйцом, потому что система должна найти /etc/fstab/sbin/mount , в этом отношении) перед монтированием каталогов. Ответ, я не знаю, но это работает довольно хорошо.

РЕДАКТИРОВАТЬ: Я могу добавить, что все разделы имеют уникальный идентификатор, называемый UUID. Вы можете монтировать с помощью этого идентификатора, набрав mount -U uuid_of_partition /media/mount_point . Обычно это делается в /etc/fstab , чтобы избежать проблемы, например, при изменении порядка дисков на вашем компьютере.

2

Где находится это "большое дерево"?

На твоем компьютере. Шутки в сторону. Все диски, добавленные вместе, плюс все устройства в памяти и псевдоустройства, терминалы, модемы, все образуют большое дерево, называемое "файловая система", которым является ваш компьютер.

Предположим, у меня есть 2 диска, ... устанавливает ли linux некоторые "специальные отметки" в точке монтирования, чтобы указать, что эти 2 "директории монтирования" действительно являются отдельными дисками?

Да.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .