Почему в Linux должны быть и `/ dev / cdrom`, и` / media / cdrom`? [duplicate]

Сначала вам нужно выполнить следующую команду:

dhclient -v -r

Затем изменить адрес ip :

ifconfig eth0 xx.xx.xx.xx

Изменить xx .xx.xx.xx с необходимым ip_adress

21
13.04.2017, 15:36
7 ответов

Почему у нас есть и / dev / cdrom , и / media / cdrom ?

Почему у нас есть и / dev / sda2 , и / home ?

По сути, / dev / cdrom - это файл . Когда вы обращаетесь к нему, вы обращаетесь к отдельным битам и байтам на компакт-диске (если он есть). В то время как / media / cdrom - это папка . Когда вы открываете его, вы получаете доступ к файлам , хранящимся на компакт-диске.

Точно так же / dev / sda2 представляет необработанное содержимое второго раздела на первом жестком диске. Вы должны писать прямо в него, например, если хотите отформатировать раздел. (Программа mkfs буквально открывает / dev / sda2 или что-то еще и записывает в него определенные битовые шаблоны.) Затем вы монтируете / dev / sda2 в, скажем, / home , и теперь вы можете получить доступ к фактическим файлам . Когда вы получаете доступ к файлам через точку монтирования, драйвер файловой системы читает и записывает файл базового устройства.

Именно так работает Unix.

14
27.01.2020, 19:43
  • Вы можете видеть, что / dev / cdrom на самом деле является специальным файлом блока , который является файлом устройства .

     $ ls -l / dev / cdrom 
    lrwxrwxrwx 1 root root 3 18 марта 17:00 / dev / cdrom -> sr0 
     $ ls -l / dev / sr0 {{1} } brw-rw ---- + 1 корневой компакт-диск 11, 0 18 марта 17:00 / dev / sr0 
     
  • Посетите Стандарт иерархии файловой системы :

    / media ] Точки монтирования для съемных носителей, таких как CD-ROM (появились в FHS-2.3).

     $ ls -ld / media / cdrom / 
    drwxr-xr-x 2 root root 4096 15 июня 2015 / media / cdrom / 
     

    Этот каталог содержит подкаталоги, которые используются как точки монтирования для съемных носителей , таких как дискеты, компакт-диски и zip-диски.

Итак, / dev / cdrom и / media / crdom - это совершенно разные вещи. один является файлом блока / устройства для CD-ROM, а другой - каталогом для его монтирования!

4
27.01.2020, 19:43

Хороший источник информации об этом (и многом другом) можно найти здесь https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

  • / media => Точки монтирования для съемных носителей, таких как CD-ROM (появилось в FHS-2.3).
  • / mnt => Временно смонтированные файловые системы.
1
27.01.2020, 19:43

Почему бы просто не получить доступ к файлам на компакт-диске через / dev / cdrom

В дополнение к уже предоставленным ответам вы не можете использовать / dev / cdrom для доступа к содержимому компакт-диска, потому что монтируете / dev / cdrom (файлы, присутствующие на компакт-диске) поверх / dev / cdrom (устройство) - запрещенная операция.

В Linux вы можете монтировать файловую систему только поверх существующего каталога, но не поверх существующего файла или устройства.

Если ОС разрешает такую ​​операцию, побочным эффектом будет доступ к исходному / dev / cdrom , который больше не будет возможен после монтирования.

Если вы действительно хотите получить доступ к своему компакт-диску через / dev / cdrom , вот хитрость, которая должна сработать:

umount /media/cdrom
mv /dev/cdrom /dev/cdrom-org
mkdir /dev/cdrom
mount /dev/cdrom-org /dev/cdrom

Конечно, в этом нет особого смысла.

1
27.01.2020, 19:43

Драйверы устройств Linux представлены в виде специальных файлов. Утилиты / приложения выполняют файловые операции с этими файлами (вызовы ioctl) для управления устройствами.

Одним из примеров утилиты, которая будет вызывать специальный файл для управления устройством, является «mount».

Утилита mount - это программа, предназначенная для представления данных на устройстве cdrom в виде структуры каталога / файла. Это хорошо понятный и удобный способ использования данных для пользователей путем простого чтения их из файловой структуры, созданной утилитой монтирования.

Устройство компакт-диска поддерживает множество других операций со специальным файлом, например для открытия / закрытия панели задач и т. д.

Многие специальные файлы, используемые для управления устройствами, хранятся в / dev, чтобы разработчикам / пользователям утилит было проще узнать, где их искать.

Кроме того, утилиты, которые представляют данные об устройствах (например, cdrom, SDCard, карту памяти и т. Д.) В виде структуры каталога / файла, делают это в / media, чтобы разработчикам / пользователям было проще узнать, где искать.

Таким образом, оба используются для своих собственных целей.

1
27.01.2020, 19:43

/ media / cdrom - это соглашение для точки монтирования , а / dev / cdrom - специальное устройство, которое может быть установлено на первом.

Вам нужны оба, потому что они служат разным целям: большинство приложений не читают напрямую со специального устройства, но могут читать из файловой системы (что-то, что смонтировано)

41
27.01.2020, 19:43

(Спасибо за множество ответов на мой вопрос. После некоторого поиска в Интернете я хочу поделиться своим пониманием.)

Согласно здесь :

В Unix-подобных операционных системах файл устройства или специальный файл представляет собой интерфейс для драйвера устройства , который появляется в файловой системе, как если бы это был обычный файл.

Согласно здесь :

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

Итак, я думаю, что здесь есть 2 разных уровня абстракции программного обеспечения:

  • / dev / cdrom - это специальный файл устройства. Он абстрагируется от оборудования CD-ROM как блочного устройства ввода-вывода. Эта абстракция предоставляется драйвером устройства.

  • / media / cdrom - точка монтирования файловой системы. Таким образом, он обеспечивает более высокий уровень абстракции оборудования CD-ROM, то есть файловой системы. Например, файловая система ISO-9660 . И эта абстракция обеспечивается драйвером файловой системы.

Итак, по сути, 2 разных местоположения файлов для 2 разных уровней абстракции. И в разных сценариях нам может понадобиться другой. Я думаю, что другие ОС, такие как Windows, также предоставляют такие разные возможности, только Linux объединяет их в единую файловую иерархию.

(Думаю, мне стоит поэкспериментировать, написав код на C в Linux для взаимодействия с / dev / cdrom и / media / cdrom . И посмотрите, как все пройдет дальше.)

(Я буду продолжать учиться и при необходимости уточнять свое понимание.)

20
27.01.2020, 19:43

Теги

Похожие вопросы