Монтирование устройства - роль / dev, / media и / mnt и команда mount [closed]

18

У меня есть несколько тесно связанных вопросов о том, что происходит, когда я вставляю компакт-диск. Файлы на компакт-диске /media/Ubuntu\ 11.04\ i386/, но из того, что я видел /dev/cdrom, также участвует.

  1. В чем разница /dev, /mediaи /mnt? Следующее - это то, что я нашел в интернете, но у меня все еще мало идей:

    • /dev - эта папка содержит файлы устройства
    • /media - это точка крепления для съемных устройств
    • /mnt - это временная точка монтирования
  2. Какова цель mount? Другими словами, если устройство было представлено операционной системой как файл устройства в разделе /dev, почему к нему нельзя получить доступ непосредственно через файл устройства без подключения?

    Используется ли крепление только для запоминающего устройства, а не для устройства, не являющегося запоминающим устройством, такого как графическая карта, сетевая карта, камера, ...?

  3. Где находится файл устройства под /dev монтируемым, под /mediaили под /mnt? Я помню, что видел оба, но мне любопытно, когда монтировать на что?

  4. Я обнаружил, что мой компакт-диск был автоматически подключен к /media/Ubuntu 11.04 i386. Я предполагаю, что файл устройства на компакт-диске есть /dev/cdrom, но я не могу подтвердить это, изучив /dev/cdromи /media/Ubuntu 11.04 i386:

    $ ls -l /media/Ubuntu\ 11.04\ i386/
    total 3522
    -r--r--r-- 1 Tim Tim     143 2011-04-27 13:04 autorun.inf
    ...
    $ ls -l /dev/cdrw
    lrwxrwxrwx 1 root root 3 2011-05-28 15:12 /dev/cdrw -> sr0
    $ ls -l /dev/cdrom
    lrwxrwxrwx 1 root root 3 2011-05-28 15:12 /dev/cdrom -> sr0
    

    Как я могу узнать, какой файл устройства для моего CD?

StackExchange для всех
источник
Разделите это, это много вопросов. На некоторые из них отвечает комментарий @Gilles, другие должны быть описаны в руководстве пользователя вашего дистрибутива.
vonbrand
@vonbrand Эти вопросы очень тесно связаны между собой. Я не согласен с его закрытием, учитывая, что у него были адекватные ответы. Я немного отредактировал вопрос и проголосовал за повторное открытие.
Жиль "ТАК - перестань быть злым"

Ответы:

12

Здесь много вопросов, и я постараюсь ответить на них. Я уверен, что те, кто более осведомлен, чем я, смогут помочь вам в дальнейшем. (Буду признателен, если эти люди тоже могут мне помочь.)

В * nix все является файлом. Например, ваш CD-ROM - это файл.

  • /dev- Здесь вы найдете физические устройства, а также вещи, которые вы обычно не считаете устройствами, такими как / dev / null .
  • /media& /mntявляются каталогами, в которые можно смонтировать физическое устройство, такое как компакт-диск, раздел жесткого диска, USB-накопитель и т. д.

Цель mount(и наоборот umount) состоит в том, чтобы позволить динамический монтаж устройств. Здесь я имею в виду, что, возможно, вы захотите монтировать устройство только при определенных обстоятельствах, а в других случаях оно недоступно. При восстановлении системы вы можете смонтировать всю файловую систему в / mnt. Вы можете время от времени монтировать образ диска (например, foo.iso). И т.п.

Вы можете подключить устройство в / dev по адресу / media или / mnt. Есть более или менее правильные способы сделать это. Например, из своего вопроса вы говорите:

/ media это точка монтирования для съемных устройств

/ MNT это временная точка монтирования

Это в значительной степени правильно. Прочтите здесь, как / media и / mnt следует использовать в соответствии со стандартом иерархии файловой системы . Я делаю это довольно неправильно, выбирая / media, когда на самом деле я должен использовать / mnt большую часть времени. Стоит также отметить, что внутренний жесткий диск со связанными разделами может называться, что несколько сбивает с толку, съемным носителем.

Я нахожусь на OS X здесь, поэтому я не могу проверить прямо сейчас (BSD немного по-другому относится к оптическим приводам), но / dev / cdrom - это файл устройства для вашего CD-ROM. Как и / dev / cdrw. Смотрите '->' в ls -lвыводе в вашем вопросе? Это означает, что и / dev / cdrom, и / dev / cdrw символически связаны с / dev / sr0. ' sr ' - имя драйвера устройства; 'sr0' - это имя файла устройства.

/media/Ubuntu 11.04 i386это просто образ .iso, который был автоматически смонтирован в /media.

Я надеюсь, что это немного помогает.

boehj
источник
1
Благодарность! Мне все еще интересно, чем отличаются «точка монтирования для съемных устройств» и «временная точка монтирования»?
StackExchange для всех
2
По функциям они одинаковы. Теоретически различие заключается в том, что одни и те же съемные устройства могут появляться неоднократно, и, если возможно, желательно, чтобы они были подключены к одному и тому же каталогу. Каждый раз, когда вы вставляете компакт-диск, приятно иметь этот диск по уникальному пути, например "/ media / My_CD_Title". Карта памяти вашей камеры может быть "/ media / SD_Card". В противоположность этому временная точка монтирования, вероятно, будет иметь один и тот же путь, но вы подключаете к ней разные диски в зависимости от необходимости, и только ваши знания о том, что вы там смонтировали, идентифицируют диск, потому что он находится в том же месте, что и временный диск LAST. ,
Калеб
1
Принимая во внимание, что, как /mntправило, используются мои системные администраторы - скажем, когда мы хотим восстановить резервную копию или перенести раздел на новый диск, мы создаем (например) /mnt/homebackupи монтируем образ резервной копии диска в эту точку монтирования, копируем потерянные файлы обратно чтобы /homeзатем отпустить точку монтирования.
Шадур
10

Ответ от boehj объясняет основы штук в игре здесь. Единственное, что я хотел бы добавить, это разница между устройством и смонтированной файловой системой. Дело в том, что вы можете получить доступ к узлу устройства напрямую. Например, вы можете использовать, dd if=/dev/sda of=/dev/sdbчтобы сделать ваше второе устройство ATA точной копией первого, или вы можете cat /dev/sr0 > mycd.isoскопировать компакт-диск и сделать его ISO-образ.

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

Калеб
источник
Благодарность! Разделы и файловые системы на устройстве хранения также рассматриваются как устройства? Есть ли у них драйверы, кроме того, что у запоминающего устройства есть?
StackExchange для всех
Да, разделы адресуются как устройства, как и все устройства хранения данных (что бы вы ни подразумевали под этим). Все устройство будет работать под одним аппаратным драйвером, но, конечно, каждый раздел может иметь свою собственную файловую систему, поэтому команда mount может использовать разные драйверы ядра для обработки разных файловых систем.
Калеб
1
Вау. cat /dev/sr0 > mycd.iso- Никогда не думал об этом.
просит
1
Спасибо обратили мое внимание catи ddснова: узлы устройств. Я полностью пропустил эти вещи.
Boehj
2

Опираясь на ответ boehj, mountон используется за кулисами во время загрузки, чтобы проверить, /etc/fstabгде каждый существующий раздел, о котором он должен знать, должен быть смонтирован в фактическую файловую систему.

В отличие, например, от Windows, где вы не получаете большого выбора, кроме того, какую букву получает раздел, это позволяет любому устройству или разделу монтироваться в любом месте дерева файловой системы, если вы того пожелаете - например, университет сетевые компьютеры обычно имеют только /bin/и /libи несколько временных разделов, монтируемых локально, в то время как /usr/(содержащие почти все программное обеспечение, которое не требуется на этапе загрузки) и /home/(содержащие домашние каталоги всех пользователей) будут монтироваться из централизованно доступной NFS сервер.

Он также отвечает за спокойно монтаж различных временных и виртуальные файловые системы , такие как /dev/shm/, /sys/, /dev/pts/, и на более современных системах /run/. Скорее всего, вы редко, если когда-либо будете делать что-то напрямую с этим, но многие программы полагаются на то, что они существуют за кулисами. Взгляните на вывод команды «голый» mount, или /etc/fstab- вы можете узнать что-то интересное.

Shadur
источник