Intereting Posts
Пусть ifconfig ждет, пока IPv6-адрес не будет ориентировочным Когда все аппаратные ресурсы бесплатны, это может привести к медленному запуску Linux Как просмотреть глобальную конфигурацию runtime systemd? Как найти PID процесса nginx Как запустить Abinit через MPI? собственный файл журнала smartd в системе systemd + journald Что такое осиротевший инод? Где заданы предпочтения шрифтов по умолчанию в современном рабочем столе Unix (которые влияют на выбор шрифта нестандартным Emacs 24)? mutt sidebar: развернуть / свернуть папки Почему моя программа «set» не выполняется? Отображение сеанса экрана Bash для удаленного экрана для пользователя mplayer: Проблемы с открытием звуковых файлов, работы gnome-mplyaer, почему? Извлечение файла из каталога внутри файла tar без создания этого каталога При входе в систему пользователь автоматически запускает неработающий скрипт при входе в систему, советует, как восстановить доступ к компьютеру? Почему mkfifo ведет себя как LIFO?

Файловые системы против разделов и каталогов

Я новичок в Linux, поэтому простите меня за возможную путаницу, с которой вы можете столкнуться в этом вопросе.

Из того, что я понимаю, файловая система определяет, как раздел хранит / управляет файлом, со стандартами, такими как ext2, ext3, reiserfs, xfs и т. Д. Иногда я вижу, что люди, похоже, ссылаются на каждый « directory » как

  /boot filesystem /usr/bin filesystem /root filesystem /bin filesystem 

Почему мы будем ссылаться на них как на filesystems ?

Если каждый из них является разделом, это меня смущает, потому что, насколько мне известно, /usr и /usr/bin имеют тенденцию находиться в одном разделе, но я видел, что люди ссылаются на /usr filesystem /usr/bin filesystem и /usr/bin filesystem .

Если filesystem здесь эквивалентна directory Window, мне это не ясно, поскольку, по-видимому, файловая система – это нечто большее, чем просто каталоги. Кроме того, насколько я знаю, Linux не имеет концепции directory ; все файлы.

Как я писал в https://superuser.com/a/293160/38062 :

Проблема здесь – это слово «файловая система». В мирах POSIX / Unix / Linux это означает несколько разных вещей.

  1. «Файловая система» – это иногда вся система файлов, внедряемая в / и предоставляемая программному обеспечению приложений ядром операционной системы. С этим значением люди говорят о операционных системах POSIX, имеющих, например, « дерево единой файловой системы ».
  2. «Файловая система» иногда является одним (или более) срезом (-ами) DASD (-ов) – одной или нескольких коллекций смежных дисковых секторов, отформатированных как один том с заданным форматом – как разграниченный некоторым разделением диска схема. С этим значением говорят люди, скажем, «форматирование файловой системы my /usr ». « /usr » – это (ожидаемая) точка монтирования тома или (в некоторых схемах разбиения) идентификационная метка.
  3. «Файловая система» иногда представляет собой абстрактное объединяемое дерево файлов и каталогов, представленное драйвером файловой системы (т.е. слоем VFS) для остальной части системы. С этим значением говорят люди, скажем, «монтирование файловой системы /proc » или «использование файловой системы tmpfs для /tmp ».

Вы видите значение # 1, когда видите « /usr/bin filesystem». Это дерево файловой системы, внедренное в каталог /usr/bin . Да, у Linux очень много концепций каталогов.

Значение №2 и значение №3 – это то, что вы неправильно читаете. Люди не говорят о /usr/bin как набор данных на диске, разграниченный дисковым разделением / разделением. Также они не говорят о /usr/bin как о конкретном типе драйвера файловой системы или о конкретном формате тома диска.

дальнейшее чтение

  • Рамеш Бангия (2010). "файловая система". Словарь информационных технологий . Laxmi Publications, Ltd. ISBN 9789380298153. p. 224.
  • Файловая система . «Базовые определения». Базовые спецификации Open Group . Выпуск 7 IEEE 1003.1. Открытая группа. 2013.
  • Бинь Нгуен (2004-08-16). "файловая система". Словарь Linux . Версия 0.16. п. 616.

Конечно, Linux использует концепцию каталогов. Концепция каталогов такая же, как в Windows.

Понятие файловых систем также очень похоже на то, что используется в Windows. Обычно Windows использует NTFS или FAT – Linux обычно использует ext2, ext3, ext4 и т. Д., Это все разница.

Другое дело, что в Linux файлы / каталоги из всех доступных partiotions организованы в одно дерево. В Windows вы ссылаетесь на разные разделы, используя букву fe «a:», «c:», в полном пути Linux к любому доступному файлу начинается с «/» – корневого каталога. Например, на вашем hdd есть отдельный раздел с файлами, которые были загружены для загрузки системы: вы запускаете команду «mount» с соответствующими аргументами, а содержимое этого раздела становится доступным по пути «/ boot /». Таким образом, пути fe "/ boot" и "/ home" могут относиться к данным на разных разделах, эти разделы могут иметь разные файловые системы. Вероятно, вызвало ваше недоразумение.

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

(Небольшая и, вероятно, не важная коррекция: иногда файловая система является виртуальной и нет никакого соответствующего раздела. Например, «/ proc» содержит что-то, что очень похоже на файлы, но эти «файлы» являются виртуальными, они не находятся на любой жесткий диск и содержит информацию о запущенных процессах, а также имеется специальная файловая система procfs, которая обеспечивает обычный файловый интерфейс для этих данных)

Диск разделен на один или несколько разделов . Для Windows обычно есть только один, возможно, где-то скрывается раздел восстановления. Раздел является логически смежной областью диска, например «секторами 1-10 000 000».

На разделе можно создать файловую систему. Для Windows это NTFS или FAT; для Linux это одна из дополнительных версий или различных других опций.

Внутри файловой системы находятся файлы и каталоги. У Linux есть каталоги, я понятия не имею, как вы поняли, что это не так.

Как операционная система представляет пользователю несколько разделов на нескольких дисках? В Windows это делается с буквами диска : C: D: и т. Д. В Linux нет букв дисков, и все делается с точками подключения : в конкретном каталоге перенаправляйте доступ к другой файловой системе. (+) Часто, если вы вставляете CD или USB-накопитель, он появится где-то под /media или /mnt .

/usr и /usr/bin обычно находятся в одной файловой системе, но не обязательно. Люди могут иметь в виду «файловая система, которая содержит каталог /usr/bin », когда они используют эту формулировку.

(+) Вы также можете сделать это с помощью точек соединения NTFS, но люди редко делают это. Пока у них не закончились буквы диска.

Можно сохранить всю систему Linux на одном разделе, причем все подкаталоги находятся в одной файловой системе.

Также возможно распространить его на несколько разделов, причем определенные поддеревья каталога находятся в разных файловых системах. Например, обычным является размещение /home , /tmp , /usr и /var в отдельных файловых системах. Чтобы решить один из ваших вопросов, иногда /usr/bin будет также использоваться в собственной файловой системе.

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

Когда система загружается, сначала доступна только корневая файловая система. Программы, которые там хранятся, выполняются во время процесса загрузки. Одна из этих программ, mount , выполняется несколько раз, используя данные из файла /etc/fstab , таблицы файловой системы. Чтобы взять один пример: изначально /home – это обычный каталог в корневой файловой системе. Затем мы запускаем эту команду как root:

 mount /dev/sda7 /home 

Это сообщает системе, что файловая система на разделе /dev/sda7 должна быть смонтирована в каталоге /home . Итак, теперь все в этой файловой системе находится под /home .

Вы можете увидеть, что в данный момент установлено, запустив df .

Мы иногда называем их filesystems , потому что иногда эти каталоги являются точками монтирования. Так много для единственного вопроса, который вы задали …

filesystem может ссылаться на две разные вещи … или на самом деле два очень разных аспекта одного и того же:

  1. Логическая структура, используемая для организации данных на носителе данных.
  2. Методология, используемая ОС для обеспечения процессов унифицированного доступа к данным.

Концепция файлов и каталогов – это метафора. На компьютер есть только данные, и все носители – это не что иное, как устройства, которые могут хранить данные. Некоторые устройства позволяют считывать и записывать данные (например, HDD), другие устройства позволяют считывать данные (например, CD-ROM), и есть даже устройства, которые позволяют записывать только данные (например, принтер). Мы используем метафору файлов и каталогов для структурирования данных, чтобы мы могли одновременно получать доступ к небольшим фрагментам данных, а не ко всему.

Файловые системы, которые мы помещаем на носители, например ext4, xfs, fat, составляют структурирующую часть. Мы используем их для размещения меток на кусках данных (файлов) и для обеспечения последовательного структурированного списка всех ярлыков (каталогов). Структурированный список – фактически дерево. Самый важный аспект заключается в том, что дерево имеет ровно одно начало, его корень. Поддержание этой структуры и обеспечение данных и остается доступным – задача, и именно поэтому существует не только один вкус файловой системы.

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

  1. ОС предлагает только один (программный) интерфейс для доступа и взаимодействия с файлами и каталогами. Для программ / процессов не имеет значения, является ли файловая система на устройстве хранения ext2, xfs, fat или что-то еще. Progams / обрабатывает файлы доступа и каталоги единым способом.

  2. ОС организует все носители данных, то есть их файловые системы, в одной структуре сверху. Программы получают доступ к файлам и каталогам через эту структуру сверху и не должны напрямую взаимодействовать с устройствами хранения. Таким образом, программам не нужно заботиться о том, на каком устройстве действительно находятся данные. Эта надстрочная структура часто упоминается как «виртуальная файловая система» ядра.

Добавление файловой системы устройства хранения в виртуальную файловую систему называется «монтированием» файловой системы. Когда ваша Linux запускается, ядро ​​создает виртуальную файловую систему (VFS). Сразу после создания он пуст и состоит только из его точки входа, иначе его корня, транскрибируется / . Затем ядро ​​монтирует файловую систему в корне VFS. Это либо ramdisk, либо сразу файловая система на разделе на жестком диске. Поскольку он добавлен в корневой каталог VFS, этот раздел часто называют корневой файловой системой.

Теперь вот часть размытия строк, и мы видим, что файловые системы на устройствах хранения и VFS ядра фактически являются двумя аспектами одной и той же задачи ОС: с установкой корневой файловой системы VFS содержит много файлов и каталогов, все из которых существуют в корневом разделе. Однако каждый каталог может стать «точкой монтирования». Точка монтирования – это место, где VFS помещает точку входа в файловую систему на устройстве хранения. Это означает, что всякий раз, когда мы монтируем файловую систему в каталоге, мы говорим VFS, что вместо доступа к данным, хранящимся в этом каталоге, мы предпочитаем доступ к данным на другом устройстве хранения. Точками монтирования являются, как правило, пустые каталоги, поэтому мы не делаем данные недоступными, монтируя другие файловые системы сверху.

Когда вы устанавливаете свою ОС, зависит от вас, хотите ли вы поместить все данные в одну файловую систему, которая затем станет вашей корневой файловой системой, или вы хотите разделить свои данные между несколькими файловыми системами. Последнее требует, чтобы ваша ОС смонтировала все отдельные файловые системы, чтобы все данные были доступны. Как вы разделяете вещи, речь идет о том, как вы разрабатываете свою систему. Вот почему иногда каталоги, которые вы знаете из вашей установки, называются файловыми системами.

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

Чтобы сохранить оставшуюся часть этой публикации короткой: Разделы – это еще один способ структурирования данных на устройствах хранения. С разделами вырезается непрерывное пространство для хранения с физического устройства хранения и предлагает их в качестве отдельных устройств хранения для ОС (на которые можно установить файловые системы в VFS). Одной из причин этого может быть то, что у одного есть только один жесткий диск, но он хочет использовать много разных файловых систем. Раздел, на котором живет корневая файловая система, часто называется корневым разделом.

Вы немного путаете. Filesystem указывает механизм, с помощью которого файлы расположены и организованы на запоминающем устройстве или в массовой памяти, например, на жестком диске или на компакт-диске, а в некоторых случаях также и на ОЗУ.

Даже окна используют файловые системы, такие как NTFS или, ранее, FAT .

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

Таким образом, FS не эквивалентно каталогу, а также в Linux есть каталоги, которые являются особым видом файла