it-swarm-ru.tech

Зачем помещать вещи, отличные от / home, в отдельный раздел?

Поэтому недавно установщик Debian 5.0.5 предложил мне иметь отдельный /usr, /home, /var а также /tmp разделы (на одном физическом диске).

Какова практическая причина этого? Я это понимаю /home может быть выгодно поместить в отдельный раздел, потому что пользовательские файлы могут быть зашифрованы отдельно, но зачем вообще что-то еще?

56
Alex B
  1. Минимизация потерь: если /usr находится в отдельном разделе, поврежден /usr не означает, что вы не можете восстановить /etc.
  2. Безопасность: / не всегда может быть ro (/root может потребоваться RW и т. д.) но /usr Можно. Это может быть использовано, чтобы сделать ро как можно больше.
  3. Использование разных FS: я могу использовать другую систему для /tmp (не надежно, но быстро для многих файлов) и /home (должно быть надежным). Схожий /var содержит данные, а /usr не так /usr стабильность может быть жертвой, но не настолько, как /tmp.
  4. Продолжительность fsck: Меньшие разделы означают, что проверка одного происходит быстрее.
  5. Упоминается заполнение разделов, хотя другим методом является квота.
57
Maciej Piechotka

Отдельный /usr может быть полезно, если у вас есть несколько компьютеров с одной ОС. Они могут совместно использовать один центральный /usr вместо дублирования в каждой системе. /usr может быть смонтирован только для чтения.

/var а также /tmp может быть заполнено пользовательскими программами или демонами. Поэтому может быть безопасно иметь их в отдельных разделах, которые будут препятствовать /, корневой раздел, будет заполнен на 100% и сильно ударит по вашей системе. Чтобы избежать наличия двух отдельных разделов для них, нередко видеть /tmp является символической ссылкой на /var/tmp.

25
Didier Trosset

Потому что обычные пользователи могут заставить вещи быть записанными в /var а также /tmp, и, следовательно, потенциально может вызвать проблемы для всей системы. Таким образом, пользовательские процессы могут заполняться /var а также /tmp, но не корневой фс. Отдельный /usr полезно для /usr через NFS или другой удаленный фс.

(Надеюсь, это понятно, я еще не пил кофе)

13
KellyClowers

Проблема в том, что полный root fs делает систему linux неработоспособной до такой степени, что даже администратор исправляет ее без CD восстановления или подобного. Когда /tmp а также /var и ​​в частности /home находятся в отдельном разделе, корневой фс никогда не сможет заполниться, если этого не сделает администратор. Взять /usr в миксе, в который будут помещены все обычные установки, и даже установка нового программного обеспечения не может вызвать эту проблему.

11
txwikinger

Как правило, аргументы для наличия отдельных разделов:

  1. Безопасность: вы можете, например, смонтировать раздел только для чтения, чтобы злоумышленники (или процессы) не могли перезаписывать или заменять двоичные файлы там троянами. Поэтому, если ваш двоичный файл ssh находится в/usr/local/bin, а/usr/local смонтирован только для чтения, заменить этот двоичный файл будет непросто.

  2. Гибкость/удобство: например, если вы настроили/var на свой собственный раздел, и он заполнен на 80%, вы можете изменить его размер или даже перенести его на другой диск, если это необходимо. Я бы предпочел сделать это, чем иметь дело с системой, у которой '/' заполнена на 100%, потому что журналы в/var в некотором роде потеряли свою актуальность. Разные разделы могут также иметь разные файловые системы, что позволяет вашей операционной системе использовать ext3 (например) и вашей базе данных использовать ext4, или вашему хранилищу объектов для использования XFS, или вашему пользовательскому приложению для использования ... необработанных устройств!

9
jonesy

Традиционно, это было сделано из-за особенностей аппаратного обеспечения DEC, на котором оно было разработано. Было выгоднее купить маленький быстрый диск для root и swap и больший, более медленный диск для пользовательских данных (/usr). В некоторых отношениях конвенция просто застряла.

Однако есть еще несколько причин для этого. Несколько общих из них:

  • Помещение/boot на отдельный маленький раздел рядом с началом диска. Более старая прошивка BIOS ПК загружалась только с первых 1024 дорожек диска. Это менее вероятно, будет проблемой с современным оборудованием.

  • Ввод занятых разделов, таких как /var или /tmp на отдельные диски для устранения узких мест при доступе к пользовательским данным.

  • Разные файловые системы на разных разделах. Например, вы можете использовать журналирующую файловую систему для /usr, но не для разделов, которые размещают файлы для СУБД, такой как Oracle - СУБД выполняет собственные журналирования, а файловая система журналирования может налагать значительные накладные расходы.

  • Наличие пользовательских данных на отдельном диске или разделе позволяет легко перенести их на большой диск без каких-либо серьезных операций на компьютере.

  • Вы можете подключить общие данные, такие как домашние каталоги или двоичные файлы приложений, по NFS.

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

7
ConcernedOfTunbridgeWells

Форматирование файловой системы также может быть быстрее, чем rm -rf'ing. Особенно, если вам нужно стереть тысячи маленьких файлов. Кеш Squid вы хотите полностью воссоздать ... тонны файлов изображений, которые вам нужны для обработки, но которые можно выбросить после создания конечного результата. файлы .obj из огромных компиляций ... и т. д.

5
gabe.

Папка, которую я иногда помещаю в отдельный раздел - /usr/local/, чтобы любое программное обеспечение, которое я собрал и установил отдельно от диспетчера пакетов моего дистрибутива, могло быть повторно использовано, если я изменил/обновил свой дистрибутив или другой дистрибутив, установленный рядом с ним. Очевидно, что не гарантируется работа со всеми возможными комбинациями, но это не вредит.

4
Troubadour

Я кладу /tmp в tmpfs, поэтому содержимое хранится в RAM, а не на диске. Это не будет полезно для /etc или /usr Однако.

Но возможность размещать разные каталоги в разных файловых системах может быть полезной; то есть /home в быстрой/экспериментальной файловой системе, такой как ext4, по сравнению со стабильной/надежной файловой системой, такой как ext2 для /etc.

2
jonescb