Po co umieszczać rzeczy inne niż / home na osobnej partycji?

53

Tak niedawno Debian 5.0.5 instalator zaproponował mi mieć oddzielne /usr, /home, /varoraz /tmppartycje (na jednym dysku fizycznym).

Jaki jest tego praktyczny powód? Rozumiem, że /homeumieszczenie na osobnej partycji może być korzystne, ponieważ pliki użytkownika mogą być szyfrowane osobno, ale po co w ogóle?

Alex B.
źródło
10
Innym dobrym powodem do /homeoddzielenia jest to, że pozwala na ponowną instalację systemu i / lub przełączanie dystrybucji bez utraty osobistych plików.
David Z
4
@David Zaslavsky: Nie polecałbym tego do zmiany dystrybucji. ponieważ często ukryte pliki konfiguracyjne w katalogu domowym powodują konflikty.
Troubadour,
7
@Troubadour: Właściwie nie sądzę. Te pliki konfiguracyjne są tam umieszczane przez określone aplikacje i generalnie nie mają nic wspólnego z dystrybucją, na której się znajdujesz. Na przykład zawartość ~/.mozilla/firefoxmoże być równie dobrze używana przez Firefox na Ubuntu, Fedorze lub Gentoo. ~/.bashrczawsze będzie miało taki sam wpływ na Bash, bez względu na to, z jakiego systemu korzystasz. Zrobiłem sporo przełączania dystrybucji i nigdy tak naprawdę nie miałem problemu z tymi plikami konfiguracyjnymi.
David Z
3
@David Zaslavsky: Widziałem problemy, które pojawiałyby się, gdyby nowa dystrybucja korzystała z wcześniejszych wersji aplikacji niż poprzednie, ponieważ mogą nie wiedzieć, jak odczytać te pliki konfiguracyjne. Biorąc to pod uwagę, sam nie próbowałem nic takiego robić.
intuicyjnie,
Jako kolejny powód, jeśli używasz zarówno dysku twardego, jak i dysku ssd, możesz chcieć mieć większość instalacji na dysku ssd, ale chcesz umieścić, powiedzmy, / home i / var na dysku twardym, aby uniknąć dużej liczby zapisuje na ssd.
Kevin

Odpowiedzi:

55
  1. Minimalizowanie strat: jeśli /usrznajduje się na osobnej partycji, uszkodzenie /usrnie oznacza, że ​​nie można odzyskać /etc.
  2. Bezpieczeństwo: /nie zawsze może być ro ( /rootmoże być konieczne rw itp.), Ale /usrmoże. Można go wykorzystać do uzyskania jak największej ilości ro.
  3. Używanie różnych FS: Mogę chcieć użyć innego systemu /tmp(nie jest niezawodny, ale szybki dla wielu plików) i /home(musi być niezawodny). Podobieństwo /varzawiera dane, chociaż /usrnie jest tak, że /usrstabilność może być poświęceniem, ale nie tyle /tmp.
  4. Czas trwania fsck: mniejsze partycje oznaczają, że sprawdzanie jednej jest szybsze.
  5. Wspomniano o wypełnianiu partycji, chociaż inną metodą są kwoty.
Maciej Piechotka
źródło
23

Osobny /usrmoże być przydatny, jeśli masz kilka komputerów z tym samym systemem operacyjnym. Mogą dzielić jeden centralny /usrmoduł zamiast duplikować go w każdym systemie. /usrmożna zamontować tylko do odczytu.

/vari /tmpmogą być wypełniane przez programy użytkownika lub demony. Dlatego może być bezpiecznie mieć je w osobnych partycjach, które uniemożliwiłyby /, aby partycja root była zapełniona w 100% i źle uderzyła w twój system. Aby uniknąć dwóch odrębnych partycji, często zdarza się, że /tmpjest to dowiązanie symboliczne /var/tmp.

Didier Trosset
źródło
Chyba rozumiem / var i / tmp, ale skoro instalator zaoferował partycjonowanie jednego dysku, to użyteczność oddzielnego dysku /usrjest wtedy dość ograniczona?
Alex B
Umożliwia udostępnianie /usrprzez NFS innym systemom. Ale możesz się nim podzielić, nawet jeśli nie jest to osobna partycja, to prawda ... myślenie na głos ... Czy montowanie tylko do odczytu jest wystarczającym powodem?
Didier Trosset
Jak przeprowadzasz aktualizacje z tego rodzaju instalacją? Często (przynajmniej pod Linuksem) pakiety wprowadzają zmiany do plików w lokalnych katalogach systemowych, na przykład w /etc.
intuicyjnie
+1 za / usr montowanie tylko do odczytu. Zamontuj go ponownie przed wykonaniem aktualizacji.
LawrenceC,
13

Ponieważ zwykli użytkownicy mogą powodować zapisywanie rzeczy do /vari /tmp, a tym samym potencjalnie powodować problemy dla całego systemu. W ten sposób procesy użytkownika mogą wypełnić /vari /tmp, ale nie root fs. Oddzielne /usrjest przydatne dla /usrponad NFS lub innych zdalnych plików.

(Mam nadzieję, że to jasne, nie piłem jeszcze kawy)

KellyClowers
źródło
Pierwsze zdanie jest najlepszym wyjaśnieniem, dziękuję.
greenoldman
11

Problem polega na tym, że pełny root fs sprawia, że ​​system Linux nie działa w takim stopniu, że nawet administrator naprawia go bez płyty CD lub podobnej. Kiedy /tmpiw /varszczególności /homeznajdują się na osobnej partycji, root fs nigdy nie może się zapełnić bez wykonania tego przez administratora. Weź udział /usrw miksie, w którym zostaną umieszczone wszystkie zwykłe instalacje, a nawet instalacja nowego oprogramowania nie może spowodować tego problemu.

txwikinger
źródło
Chyba że instaluje się w /opt:)
Troubadour,
1
Dobrze. możesz również utworzyć inną partycję dla tego lub utworzyć link, który / opt faktycznie znajduje się na partycji / usr. Zasada jest nadal taka sama.
txwikinger
10

Ogólnie rzecz biorąc, argumenty przemawiające za oddzielnymi partycjami to:

  1. Bezpieczeństwo: możesz na przykład zamontować partycję tylko do odczytu, aby uniemożliwić złośliwym użytkownikom (lub procesom) nadpisywanie lub zastępowanie plików binarnych trojanami. Więc jeśli twój plik binarny ssh mieszka w / usr / local / bin, a / usr / local jest zamontowany tylko do odczytu, zastąpienie tego pliku binarnego będzie trudne.

  2. Elastyczność / Wygoda: na przykład, jeśli skonfigurujesz / var na własnej partycji i zapełni się ona w 80%, możesz zmienić jej rozmiar, a nawet przenieść na inny dysk, jeśli zajdzie taka potrzeba. Wolałbym to zrobić niż radzić sobie z systemem, którego „/” jest w 100% pełny, ponieważ logi w / var w jakiś sposób oszalały. Różne partycje mogą również mieć całkowicie różne systemy plików, umożliwiając systemowi operacyjnemu korzystanie z ext3 (na przykład), bazy danych z użyciem ext4, lub repozytorium obiektów do korzystania z XFS, lub niestandardowej aplikacji do korzystania z ... surowych urządzeń!

Jones
źródło
Jaki jest typowy sposób obsługi aktualizacji systemu w pierwszym przypadku?
intuicyjnie
6

Tradycyjnie robiono to w ten sposób ze względu na specyfikę sprzętu DEC, na którym został opracowany. Bardziej opłacalne było kupowanie małego, szybkiego dysku do rootowania i wymiany oraz większego, wolniejszego dysku do danych użytkownika ( /usr). W pewnym sensie konwencja po prostu utknęła.

Jednak nadal istnieją pewne powody, aby to zrobić. Kilka typowych to:

  • Umieszczanie / boot na osobnej, małej partycji blisko początku dysku. Starsze oprogramowanie BIOS komputera uruchamia się tylko z pierwszych 1024 utworów na dysku. Jest mniej prawdopodobne, że będzie to problem z nowoczesnym sprzętem.

  • Umieszczanie zajętych partycji takich jak /varlub /tmpna osobnych dyskach w celu usunięcia wąskich gardeł w dostępie do danych użytkownika.

  • Różne systemy plików na różnych partycjach. Na przykład, możesz chcieć użyć systemu plików dziennika dla, /usrale nie dla partycji, które hostują pliki dla DBMS, takiego jak Oracle - DBMS wykonuje własne dzienniki, a system plików dziennika może nakładać znaczne koszty ogólne.

  • Posiadanie danych użytkownika na osobnym dysku lub partycji ułatwia migrację na większy dysk bez konieczności przeprowadzania dużych operacji na komputerze.

  • Możesz zamontować współdzielone dane, takie jak katalogi domowe lub pliki binarne aplikacji przez NFS.

  • fsckw przypadku niektórych typów systemów plików zajmuje dużo czasu na dużych woluminach. Możesz chcieć mieć różne harmonogramy konserwacji systemu plików dla obszarów systemu (często) i obszarów użytkownika (rzadziej).

ConcernedOfTunbridgeWells
źródło
5

Formatowanie systemu plików może być także szybsze niż rm -rf'owanie go. Zwłaszcza jeśli masz tysiące małych plików do usunięcia. Pamięć podręczna kalmarów, którą chcesz w pełni odtworzyć ... tony plików graficznych, które potrzebujesz przetworzyć, ale można je wyrzucić po utworzeniu wyniku końcowego. Pliki .obj z wielkich kompilacji ... itd.

Gabe.
źródło
4

Folder, który czasami umieszczam na osobnej partycji, jest /usr/local/taki, że wszelkie oprogramowanie, które zbudowałem i zainstalowałem oddzielnie od menedżera pakietów mojej dystrybucji, może zostać ponownie użyte, jeśli zmienię / zaktualizuję moją dystrybucję lub inną dystrybucję zainstalowaną obok niej. Oczywiście nie gwarantuje się działania we wszystkich możliwych kombinacjach, ale nie szkodzi.

Trubadur
źródło
2

Włożyłem /tmpna tmpfs, więc zawartość są przechowywane w pamięci RAM, a nie na dysku. To nie byłoby użyteczne dla /etclub /usrkrytyki.

Jednak możliwość umieszczenia różnych katalogów w różnych systemach plików może być korzystna; tzn. /homena szybkim / eksperymentalnym systemie plików, takim jak ext4, na stabilnym / niezawodnym systemie plików, takim jak ext2 /etc.

jonescb
źródło