Что означает каталоги по умолчанию в иерархии файловой системы Linux?

41

Установив различные дистрибутивы Linux для работы, я озадачен установщиками, предлагающими разметку разделов - для простоты я просто использую все доступное дисковое пространство.

Некоторые из предложенных разделов имеют загадочные имена, включая / var , swap , / usr и / home . Инсталляторы на самом деле не объясняют это мне - какой цели они служат, и какую, если таковая имеется, следует использовать?

Грант Пэйлин
источник

Ответы:

61

Краткий ответ об именах каталогов: наберите " man hier" в терминале :)

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

Там также больше чтения в Википедии:

Эти ссылки объяснят все о том, какие разделы называются, что и что они (или исторически) использовали для хранения.

Ответ об использовании отдельных разделов, а не только каталогов в одном разделе, возвращается к удобству обслуживания и расширяемости. Если у вас есть один раздел, скажем, /и /homeна нем, Джо пользователь может пополнить свою /home/joeпапку, и вся машина будет работать из дискового пространства и перестают работать (я упрощающий здесь, но это общий результат). Если у вас есть /и /homeна разных разделах, пользователь Joe может заполнить свою /home/joeпапку, и /homeраздел будет заполнен, но машина будет продолжать работать, потому что /это не влияет.

Поэтому распространите этот принцип почти на все разные каталоги, находящиеся в разных разделах, и вы сможете увидеть, как это будет полезно, особенно когда машина работает 24/7 в многопользовательской и мультисервисной роли.

Бен Уильямс
источник
12
+1 за man hierнаучи человека ловить рыбу и все такое.
Джордж Мариан
Да, спасибо за указатель на hier (7). Я всегда посещал веб-страницу FHS, не зная, что мне гораздо легче получить ответы.
Андол
Проблема в том, что, хотя они объясняют, как они предназначены для использования, некоторые фактически не используются таким образом по умолчанию, как в каталоге / srv.
Роналду Насименто
7

При установке во многих дистрибутивах вы можете разместить разные каталоги в разных разделах. Например, многие пользователи предпочитают, чтобы каталог / home находился в другом разделе, чем остальная часть установки. Это связано с тем, что все, что находится в каталоге / home, принадлежит пользователю - документы, видео и все другие данные, относящиеся к пользователю, - сюда. Поместив каталог / home в отдельный раздел, а фактические файлы ОС - в другой, если пользователь решит заново установить свою операционную систему Linux, он может просто переписать основной раздел и покинуть свой раздел / home (и все его файлов) в целости и сохранности.

Это также позволяет пользователю установить несколько дистрибутивов Linux на разные разделы, все совместно используют один и тот же / домашний раздел. Таким образом, пользователь может получить доступ к своим файлам независимо от того, какую версию Linux он использует.

Обычному пользователю не нужно особо беспокоиться о назначении отдельного / var, swap, / usr и т. Д. Все эти каталоги являются частью ОС и имеют мало общего с файлами пользователя.

Makario
источник
+1 за хорошую ссылку. Разве / swap не всегда отдельный раздел?
Джордж Мариан
@ Джордж Мариан: Это не нужно. Вместо настройки раздела можно настроить подкачку файловой системы (которая является файлом внутри файловой системы существующего раздела). Таким образом, система Ubuntu может работать на одном разделе.
txwikinger
3
Для тех, кто играет дома, стоит отметить, что возможность использовать файл подкачки в обычной файловой системе зависит от файловой системы. IE: не пробуйте это с btrfs, это позволит (в старых ядрах) молча испортить данные и (в более новых ядрах) выдать ошибку при попытке добавить своп.
РАОФ
5

Использование всего доступного дискового пространства является вполне допустимым (и, вероятно, рекомендуемым) вариантом для персональных компьютеров. Такое разделение файловой системы, на мой взгляд, является отложением с древних времен до того, как RAID или управление виртуальными томами стали практичными в программном обеспечении.

В UNIX-подобных системах файловая система запускается в корневом каталоге '/'. В терминах DOS / Windows это будет «C:»

В то время как в DOS / Windows вы добавляете диски к буквам D :, E: и т. Д. В UNIX-подобных системах вы «монтируете» диски в каталоги. В те времена, когда у вас было 10 или 10 мегабайтных жестких дисков, вы могли монтировать различные каталоги на разных дисках и разделах, чтобы создать иллюзию одного большого диска. В значительной степени RAID 0 для бедняков.

Есть много причин разделить различные корневые каталоги, но одна популярная идея состоит в том, что, поскольку разделы swap и / var были записаны максимально, они имеют наибольшие шансы на сбой. Разделяя их на разные разделы, очень просто добавить другой диск из резервной копии и заново смонтировать его.

Кроме того, наличие отдельного раздела / home может быть очень полезно, если вы запускаете несколько версий linux на одной машине. (Например Ubuntu и Red Hat). Поскольку программы Unix / Linux помещают настройки пользователя в его домашнюю директорию. Это работает гораздо лучше в теории, чем на практике, хотя. Потому что вам нужно хорошо понимать последствия разрешений.

Вот несколько важных каталогов для UNIX-подобных операционных систем и их пояснения.

  • /bin - Основные системные исполняемые файлы
  • /lib - Основные системные библиотеки (.so в Linux, .dlls в Windows).
  • /boot- Где ты живешь, ядро. Компьютер не запустится без этого.
  • /var- Каталог сервисов может хранить файлы. Как файлы журнала и почтовые ящики
  • /etc - файлы конфигурации системы
  • /usr- Необязательные пользовательские приложения. (Unix-система может загружаться без / usr (для целей восстановления), но это не очень интересно. В старых системах это то же самое, что и / home.)
  • /home- Домашние каталоги пользователя. Обычные пользователи могут писать только в свой домашний каталог.
  • swap (не каталог) Обычно это отдельный раздел в UNIX. Каталога подкачки нет, хотя вы можете создавать файлы подкачки в Linux.
wm_eddie
источник
2
Я бы сказал, что даже для настольного / персонального компьютера наличие / home в отдельном разделе - хорошая идея. Таким образом, у вас будет меньше головной боли, если вы заполните свой домашний каталог.
Джордж Мариан
@George Ничто не мешает вам ссылаться на домашний каталог на другом диске. В моей настройке, чтобы разрешить совместимость с окнами, мой домашний раздел - NTFS, и я символически связываю любые папки, которые я использую, с моей домашней папкой. Я бы поставил символическую ссылку на всю папку, но я хотел бы сохранить скрытые вещи в ~ / отделить на случай, если я решу сделать новую установку. Использование жестко закодированных файловых путей, связанных с отдельными разделами, возможно, было необходимо двадцать лет назад, но архитектурные ограничения, которые сделали их необходимыми, сегодня не существуют.
Эван Плейс,
1
@ evan Я в замешательстве. Вы имеете в виду ссылки на каталоги в свой домашний каталог или ссылки на свой домашний каталог где-то еще? Чем это отличается от установки / home для другого раздела? (Обратите внимание, что «другой раздел» может находиться на совершенно другом диске.) Я имел в виду защиту от поведения по умолчанию (например, загрузки, помещаемые в подкаталог вашей домашней папки), непреднамеренно заполняющего корневой раздел.
Джордж Мариан
@ Джордж И то, и другое, что вы предпочитаете. Я пытаюсь объяснить, зачем устанавливать жестко закодированные ссылки во время установки системы, если вы можете просто добавить несколько символических ссылок после этого, сделать то же самое и легко изменить в любое время?
Эван Плейс
@evan Честная точка зрения. У меня никогда не было особого везения с подобными вещами после установки, поэтому я всегда предпочитал делать это «по умолчанию».
Джордж Мариан
1

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

Часто предлагается, чтобы раздел подкачки был того же размера, что и ваша оперативная память.

jr0cket
источник
1

Вы можете сделать отдельные разделы во время установки. /homeраздел будет означать каждый раз вы устанавливаете Ubuntu ваши личные пользовательские настройки сохраняются.

/- это корень.
/var- (объяснено выше)
/dev- содержит «ссылки» на зарегистрированные устройства. т.е. / dev / Video0 - это карта захвата ...

/bin /sbin - содержать приложения

еще лучше, у Википедии есть отличная страница http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Самое большое, что я нахожу, это наличие второго раздела (самого большого) для ваших вещей, и, как я уже говорил, каждый раз, когда вы переустанавливаете или обновляете. Выберите этот раздел еще раз и убедитесь, что вы сняли флажок форматирования, а затем все возвращается. Даже твои обои!

MJ
источник
1

Ну, swapиспользуется своп-пространство. Это как файл подкачки в Windows. Это как бы дополняет оперативную память.

/home используется для пользовательских данных, таких как Мои документы в Windows,

/usr где большинство программ очень похоже на C: \ Windows, и

/var содержит данные, которые изменяются при нормальной работе системы.

Что касается того, почему они находятся в отдельных разделах, я думаю, что это в основном, если ваша ОС выходит из строя, ваши данные не идут вместе с ней. Но я действительно не уверен.

Коди Харлоу
источник
Различаются между /varпротив /etc?
Pacerier
1

Исторически сложилось, что рекомендуется иметь /home, swapи другие критические узлы находятся в разных разделах, на разных физических дисках или даже на разных физических машинах. Хотя для удобства (к лучшему или к худшему) и с появлением дешевых внешних или облачных резервных копий все теперь живет в одном большом разделе, и вы просто делаете резервные копии своих личных вещей в другом месте.

/usr, стоит для системных ресурсов Unix

/sbin, Системные Двоичные

Вопреки распространенному мнению, /etcне стоит и так далее . Вместо этого он расшифровывается как Extended Tool Chest . Но, вопреки распространенному мнению, это все еще является предметом споров.

Вот еще немного информации об этих папках и о том, как они организованы.

Эрик Карвалью
источник
0

Своп должен храниться отдельно, если вы его используете. И используйте 1,5-2,0 х ваш размер оперативной памяти для этого.

Остальное можно хранить вместе, и это не имеет большого значения (Linux / Unix не является Windows и имеет единую иерархию каталогов, независимо от того, является ли ваша директория / var отдельным разделом или нет, она выглядит точно так же). Основная цель создания разделов состоит в том, чтобы использовать разные файловые системы и разбивать возможные сценарии «переполнение диска» (например, если / var заполняет журналы какого-то сумасшедшего приложения, / home stil работает)

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

Мекк
источник