Які точки монтажу існують у типовій системі Linux?


32

У мене 2 питання.

  1. Під час встановлення Linux ми визначаємо простір пам’яті для двох точок кріплення - root та swap. Чи є інші точки монтажу, створені без попередження користувачів?
  2. Чи правильне це твердження: "Монтаж входить у зображення лише при роботі з різними розділами. Тобто, ви не можете монтувати, скажімо, / proc, якщо це не інший розділ"?

1
+1 для назви питання! Якби всі новачки запитали так невинно ...
Калеб,

Ха-ха, саме мої думки теж! +1.
boehj

2
@John: Задати два питання в одному не рекомендується. Оскільки зараз є відповіді, які охоплюють обидва запитання, я думаю, ми дозволимо просунути, але наступного разу, будь ласка, задайте окремі запитання. Ваші труднощі з пошуку хорошого заголовка (ні, ваш заголовок не був хорошим підсумком вашого запитання) був зумовлений спробою поєднати кілька питань в одне.
Жиль "ТАК - перестань бути злим"

Відповіді:


47

За вашими запитаннями стоять помилкові уявлення.

  1. Зміна не змонтована.
  2. Монтаж не обмежується перегородками.

Перегородки

Розділ є slice¹ дискового простору , який , присвячений конкретної мети. Ось кілька загальних цілей для перегородок.

  • Файлова система , тобто файли організовані в вигляді дерева каталогів і зберігаються в форматі , наприклад, ext2, ext3, FFS, FAT, NTFS, ...
  • Місце обміну, тобто місце на диску, що використовується для підкачки (та зберігання зображень у сплячому режимі ).
  • Прямий доступ до додатків. Деякі бази зберігають свої дані безпосередньо на розділі, а не у файловій системі, щоб отримати малу продуктивність. (Файлова система так чи інакше є базою даних.)
  • Контейнер для інших перегородок. Наприклад, розширений розділ на ПК або фрагмент диска, що містить розділи BSD, або фізичний об'єм LVM (містить зрештою логічні томи, які самі по собі можна вважати розділами),…

Файлові системи

Файлові системи представляють інформацію в ієрархічній структурі. Ось декілька поширених видів файлових систем:

  • Дискові файлові системи, такі як ext2, ext3, FFS, FAT, NTFS,…
    • Резервна копія не повинна знаходитися безпосередньо на розділі диска, як показано вище. Наприклад, це може бути логічний том LVM або кріплення циклу .
  • Файлові системи, підтримувані пам'яттю, такі як Solaris та tmpfs Linux .
  • Файлові , які представляють інформацію з ядра, наприклад , як procі sysfsна Linux.
  • Мережеві файлові системи, такі як NFS , Samba ,…
  • Файлові системи, підтримувані додатками, з яких у FUSE є велика колекція . Файлові системи, що підтримуються додатками, можуть робити практично все: зробити FTP-сервер відображатися як файлова система, подати альтернативне уявлення про файлову систему, де імена файлів не залежать від регістру або перетворяться на інше кодування, показувати вміст архіву так, ніби вони були каталогами,…

Монтаж

Unix представляє файли в єдиній ієрархії, яку зазвичай називають "файлова система" (але в цій відповіді я не буду використовувати слово "файлова система" в цьому сенсі, щоб уникнути плутанини). Для доступу до них окремі файлові системи повинні бути прищеплені до цієї ієрархії

Ви робите доступ до файлової системи, встановивши її. Монтаж пов'язує кореневий каталог файлової системи, яку ви монтуєте, з існуючим каталогом в ієрархії файлів. Каталог, який має таку асоціацію, відомий як точка монтажу.

  • Наприклад, коренева файлова система монтується під час завантаження (до того, як ядро ​​запустить будь-який процес²) до /каталогу.
  • Файлова система proc, над якою встановлені деякі варіанти unix, такі як Solaris та Linux, виставляє інформацію про процеси /proc, так що /proc/42/environпозначає файл /42/environу файловій системі proc, який (принаймні в Linux) містить перегляд середовища оточення лише для читання № 42.
  • Якщо у вас є окрема файлова система, наприклад, для /home, тоді /home/john/myfile.txtпозначається файл, шлях якого йде /john/myfile.txtвід кореня домашньої файлової системи.

Під Linux можна отримати доступ до однієї файлової системи через більш ніж один шлях завдяки прив'язці кріплень .

Типова файлова система Linux має багато змонтованих файлових систем. (Це приклад; різні дистрибутиви, версії та установки призведуть до встановлення різних файлових систем.)

  • /: коренева файлова система, встановлена ​​до завантаження ядра першого процесу. Завантажувач повідомляє ядро, що використовувати як кореневу файлову систему (зазвичай це розділ диска, але може бути щось інше, наприклад експорт NFS).
  • /proc: proc filessytem, ​​з інформацією про процес та ядро.
  • /sys: файлова система sysfs з інформацією про апаратні пристрої.
  • /dev: файлова система в пам'яті, де файли пристрою автоматично створюються udev на основі наявного обладнання.
  • /dev/pts: файлова система спеціального призначення, що містить файли пристроїв для роботи емуляторів терміналів .
  • /dev/shm: файлова система в пам'яті, що використовується для внутрішніх цілей стандартною бібліотекою системи.
  • Залежно від того, які системні компоненти у вас запущені, ви можете бачити інші файлові системи спеціального призначення, такі як binfmt_misc(використовується зовнішньою виконуваною підсистемою ядра формату файлу ), fusectl(використовується FUSE ), nfsd(використовується сервером NFS ядра),…
  • Будь-яка файлова система, явно зазначена в /etc/fstab(а не позначена noauto), монтується як частина завантажувального процесу.
  • Будь-яка файлова система, автоматично встановлена HAL (або еквівалентною функціональністю) після вставки знімного пристрою, наприклад USB-ключа.
  • Будь-яка файлова система, явно встановлена ​​за допомогою mountкоманди.

¹ Неформально кажучи тут.
² Інітрд та інше виходять за рамки цієї відповіді.
³ Це на відміну від Windows, яка має окрему ієрархію для кожної файлової системи, наприклад, c:або \\hostname\sharename.


5
+10 Жиль, де ви отримуєте час? Мій єдиний коментар полягає в тому, що я маю дати людям деяку слабкість у питанні заміни, тому що це криво заплутано, щоб мій розділ для заміни був внесений до списку, /etc/fstabколи його не можна встановлювати.
Калеб

безумовно, дурне питання ... але не можу зупинити себе. Ви сказали, що "Монтаж асоціює каталог з коренем файлової системи". Так де знаходиться "/" каталог?
Іван

2
@John: Зовсім не дурне питання, слова "файлова система" та "root" мають тут два різних значення: тут є окремі файлові системи (кожна зі своїм коренем), і є вся ієрархія каталогів (з її коренем, /каталогом) . Я переформулював цю частину своєї відповіді, сподіваюся, зараз це має бути зрозумілішим.
Жил "ТАК - перестань бути злим"

Ця відповідь настільки неймовірно корисна - це енциклопедична. Я теж хочу, щоб я міг зробити тут +10. Дивовижна відповідь.
boehj

13
  1. Кожен дистрибутив Linux має власне розташування розділів за замовчуванням; деякі з них використовують десятки розділів, деякі - лише одну. 3 та 4 є досить поширеними домовленостями (/ boot, /, swap та / home). Деякі старі верстки часто мали / var на окремому розділі, а екстремальні системи підтримують все в / var / * та / opt / * на окремих розділах! Найкраще узагальнення, яке я можу зробити у відповідь на ваше запитання, - це те, що в світі Unix нічого не робиться без того, як користувачі помітять або не зможуть це змінити !
  2. Ви можете монтувати речі, які не є перегородками. Наприклад, / proc зазвичай не є розділом, це псевдофайлова система, що надається ядром, яка дозволяє читати і записувати дані про запущені процеси так, ніби вони були файлами. Ви також можете монтувати файли (наприклад, ISO) так, як ніби вони були накопичувачами за допомогою петлевого пристрою, прив'язуйте папки для монтування в інші місця та виконайте різні інші трюки з ніндзя.

1
Усі розділи, які автоматично встановлені на завантажувальному пристрої, є в /etc/fstab. Якщо ви додасте там розділ, він буде там у наступному завантаженні.
LawrenceC
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.