Навіщо ставити інші речі, ніж / home, на окремий розділ?


53

Так нещодавно інсталятор Debian 5.0.5 запропонував мені мати окремі /usr, /home, /varі /tmpрозділи (на одному фізичному диску).

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


10
Ще одна вагома причина для /homeвідокремлення - це те, що вона дозволяє вам перевстановити систему та / або перемкнути дистрибутив вільно, не втрачаючи ваші особисті файли.
David Z

4
@David Заславський: Я б не рекомендував це для переключення дистрибутивів. так як найчастіше конфліктні файли у вашому домашньому каталозі конфліктуватимуть.
Трубадур

7
@Troubadour: Насправді я так не думаю. Ці файли конфігурації розміщуються там певними програмами і, як правило, не мають нічого спільного з тим, на якому розповсюдженні ви перебуваєте. Так, наприклад, вміст ~/.mozilla/firefoxFirefox може однаково добре використовуватися в Ubuntu або Fedora або Gentoo. ~/.bashrcзавжди матиме однаковий ефект на Bash, незалежно від того, яку базову систему ви використовуєте. Я зробив досить багато комутаційних дистрибутивів і ніколи насправді не мав проблем із цими файлами конфігурації.
David Z

3
@David Заславський: Я міг бачити проблеми, які виникають, якщо новий дистрибутив використовує більш ранні версії програм, ніж попередні, оскільки вони можуть не знати, як читати ці конфігураційні файли. Попри це, я нічого не намагався робити щось подібне.
інтуїтив

Як інша причина, якщо ви використовуєте як hdd, так і ssd, ви можете мати основну частину установки на ssd, але хочете поставити, скажімо, / home та / var на hdd, щоб уникнути великої кількості записів до ssd.
Кевін

Відповіді:


55
  1. Мінімізація втрат: Якщо ви /usrперебуваєте на окремому розділі, пошкоджений /usrне означає, що ви не можете відновити його /etc.
  2. Безпека: /не завжди може бути ro ( /rootможе знадобитися rw тощо), але /usrможе. З його допомогою можна зробити максимально ро.
  3. Використання різних FS: я, можливо, хочу використовувати іншу систему для /tmp(не надійної, але швидкої для багатьох файлів) і /home(повинна бути надійною). Similary /varмістить час дані /usrне так /usrстабільності може бути жертвою , але не так багато , як /tmp.
  4. Тривалість fsck: Менші розділи означають, що перевірка одного відбувається швидше.
  5. Згадування заповнення розділів, хоча інший метод - квоти.

23

Окремий /usrможе бути корисним, якщо у вас є кілька машин, які використовують одну і ту ж ОС. Вони можуть ділитися єдиним центральним, /usrа не дублювати його в кожній системі. /usrможе встановлюватися лише для читання.

/varі /tmpможе заповнюватися програмами користувача або демонами. Тому можна безпечно розміщувати їх в окремих розділах, які б перешкоджали /, щоб кореневий розділ був на 100% заповнений, і сильно вдарив би про вашу систему. Щоб не мати двох чітких розділів для них, не рідкість бачити, /tmpяк бути символьним посиланням /var/tmp.


Я думаю, я можу зрозуміти / var та / tmp, але оскільки інсталятор запропонував розділити один диск, корисність окремого /usrтоді досить обмежена?
Алекс Б

Це дозволяє обмінюватися /usrчерез NFS з іншими системами. Але ви можете поділитися цим, навіть якщо це не окремий розділ, це правда ... мислення вголос ... Чи є монтування лише для читання достатньо вагомою причиною?
Дідьє Троссет

Як ви робите оновлення з таким налаштуванням? Часто (принаймні під Linux) пакети вносять зміни у файли в системних локальних каталогах, наприклад в /etc.
інтуїтивно

+1 для / usr кріплення лише для читання. Перед тим, як робити оновлення, перезавантажте його rw.
LawrenceC

13

Тому що звичайні користувачі можуть спричинити записування на речі /varі /tmp, таким чином, потенційно спричинити проблеми для всієї системи. Таким чином користувацькі процеси можуть заповнювати /varі /tmp, але не кореневі файли. Окремий /usrкорисний для /usrNFS або інших віддалених файлів.

(Я сподіваюся, що це зрозуміло, я ще не пив кави)


Перше речення - найкраще пояснення, дякую.
greenoldman

11

Проблема полягає в тому, що повний root fs робить систему Linux непридатною до розширення, що навіть адміністратор виправляє її без відновлення компакт-диска або подібного. Коли /tmpі, /varзокрема, /homeзнаходяться в окремому розділі, корінь fs ніколи не може заповнити, якщо адміністратор цього не зробить. Займіться /usrсумішшю, в якій будуть розміщені всі звичайні установки, і навіть встановлення нового програмного забезпечення не може спричинити цю проблему.


Якщо не встановлено /opt:)
Трубадур

1
Ну. ви можете також зробити інший розділ для цього, або створити посилання таким чином, щоб / opt фактично знаходився в / usr розділі. Принцип все-таки той самий.
txwikinger

10

Загалом, аргументами для наявності окремих розділів є:

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

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


Який звичайний спосіб обробляти оновлення системи в першому випадку?
інтуїтивно

6

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

Однак для цього все ж є деякі причини. Кілька поширених:

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

  • Розміщення зайнятих розділів, таких як /varабо /tmpна окремих дисках, для видалення вузьких місць доступу до даних користувачів.

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

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

  • Ви можете встановити спільні дані, такі як домашні каталоги або бінарні програми на NFS.

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


5

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


4

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


2

Я /tmpнадягаю tmpfs, тому вміст зберігається в оперативній пам’яті, а не на диску. Це не було б корисно для того /etcчи /usrіншого.

Але можливість розміщення різних каталогів у різних файлових системах може бути корисною; тобто /homeна швидкій / експериментальній файловій системі, як ext4 проти стабільної / надійної файлової системи, як ext2 for /etc.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.