it-swarm.it

Perché mettere cose diverse da / home in una partizione separata?

Di recente un installatore Debian 5.0.5 mi ha offerto di avere partizioni separate /usr, /home, /var E /tmp (Su ​​un disco fisico).

Qual è la ragione pratica per questo? Capisco che /home Può essere vantaggioso per mettere su una partizione separata, perché i file utente possono essere crittografati separatamente, ma perché per qualcos'altro?

56
Alex B
  1. Riduzione al minimo delle perdite: se /usr Si trova su una partizione separata, un /usr Danneggiato non significa che non è possibile ripristinare /etc.
  2. Sicurezza: / Non può essere sempre ro (/root Potrebbe essere necessario essere rw ecc.), Ma /usr Può. Può essere usato per creare ro il più possibile.
  3. Uso di FS diversi: potrei voler usare un sistema diverso per /tmp (Non affidabile ma veloce per molti file) e /home (Deve essere affidabile). /var Simile contiene dati mentre /usr Non è così /usr La stabilità può essere un sacrificio ma non tanto quanto /tmp.
  4. Durata di fsck: partizioni più piccole significano che controllarne una è più veloce.
  5. Menzionato riempimento di porzioni, anche se l'altro metodo sono le quote.
57
Maciej Piechotka

Un separato /usr può essere utile se hai più macchine che condividono lo stesso sistema operativo. Possono condividere un singolo centrale /usr invece di duplicarlo su ogni sistema. /usr può essere montato in sola lettura.

/var e /tmp può essere riempito da programmi utente o daemon. Pertanto può essere sicuro avere questi in partizioni separate che impedirebbero /, la partizione di root, piena al 100% e colpirebbe gravemente il tuo sistema. Per evitare di avere due partizioni distinte per questi, non è raro vedere /tmp essendo un link simbolico a /var/tmp.

25
Didier Trosset

Perché gli utenti ordinari possono far scrivere le cose in /var e /tmp, e quindi potenzialmente causare problemi per l'intero sistema. In questo modo i processi utente possono riempire /var e /tmp, ma non la radice fs. Un separato /usr è utile per /usr su NFS o altri fs remoti.

(Spero sia chiaro, non ho ancora preso un caffè)

13
KellyClowers

Il problema è che un full root fs rende il sistema Linux inutilizzabile in misura tale che anche un amministratore lo risolve senza un CD di ripristino o simile. Quando /tmp e /var e in particolare /home sono in una partizione separata, il root fs non può mai riempire senza un amministratore che lo fa. Prendere /usr nel mix in cui verranno inserite tutte le solite installazioni e anche l'installazione di nuovo software non può causare questo problema.

11
txwikinger

In generale, gli argomenti per avere partizioni separate sono:

  1. Sicurezza: ad esempio, è possibile montare una partizione di sola lettura per impedire agli utenti malintenzionati (o processi) di sovrascrivere o sostituire i binari lì con trojan. Quindi se il tuo binario ssh vive in/usr/local/bin e/usr/local è montato in sola lettura, sarà difficile per chiunque sostituirlo.

  2. Flessibilità/Convenienza: ad esempio, se si imposta/var sulla propria partizione e si riempie all'80%, è possibile ridimensionarlo o persino spostarlo su un altro disco, se necessario. Preferirei farlo piuttosto che avere a che fare con un sistema il cui '/' è pieno al 100% perché i log in/var sono andati in qualche modo in tilt. Partizioni diverse possono anche avere file system completamente diversi, consentendo al tuo sistema operativo di utilizzare ext3 (ad esempio) e al tuo database di utilizzare ext4, oppure il tuo repository di oggetti per usare XFS o la tua app personalizzata per usare ... dispositivi grezzi!

9
jonesy

Tradizionalmente, è stato fatto in questo modo a causa delle peculiarità dell'hardware DEC su cui è stato sviluppato. Era più economico acquistare un disco piccolo e veloce per root e swap e un disco più grande e più lento per i dati utente (/usr). In un certo senso la convenzione si è appena bloccata.

Tuttavia, ci sono ancora alcuni motivi per farlo. Alcuni comuni sono:

  • Inserimento/avvio in una piccola partizione separata vicino all'inizio del disco. Il firmware BIOS del PC meno recente si avviava solo dalle prime 1024 tracce del disco. È meno probabile che ciò costituisca un problema con l'hardware moderno.

  • Mettere partizioni occupate come /var o /tmp su dischi separati per rimuovere i colli di bottiglia nell'accesso ai dati dell'utente.

  • File system diversi su partizioni diverse. Ad esempio, potresti voler utilizzare un file system di journaling per /usr ma non per le partizioni che ospitano file per un DBMS come Oracle: il DBMS esegue il proprio journaling e il file system di journaling può imporre un sovraccarico significativo.

  • La presenza di dati utente su un disco o una partizione separati semplifica la migrazione su un disco più grande senza interventi chirurgici importanti sulla macchina.

  • Potresti voler montare dati condivisi come home directory o file binari dell'applicazione su NFS.

  • fsck richiede molto tempo su grandi volumi per alcuni tipi di file system. È possibile che si desideri avere diversi programmi di manutenzione del file system per le aree del sistema (frequenti) e le aree utente (meno frequenti).

La formattazione di un filesystem può anche essere più veloce di rm -rf'ing. Soprattutto se hai migliaia di piccoli file da cancellare. Squid cache che vuoi ricreare completamente ... tonnellate di file immagine che hai bisogno di elaborare ma che possono essere eliminati dopo la creazione del risultato finale. File .obj da enormi compilazioni ... ecc.

5
gabe.

Una cartella che a volte inserisco in una partizione separata è /usr/local/ in modo che qualsiasi software che ho creato e installato separatamente dal gestore pacchetti della mia distro possa essere riutilizzato se cambio/aggiorno la mia distro o con un'altra distro installata lungo il lato. Ovviamente non è garantito che funzioni su tutte le combinazioni possibili ma non fa male.

4
Troubadour

Metto /tmp su un tmpfs, quindi il contenuto è archiviato in RAM anziché su disco. Non sarebbe utile per /etc o /usr però.

Ma essere in grado di mettere diverse directory su diversi filesystem potrebbe essere utile; cioè /home su un filesystem veloce/sperimentale come ext4 contro un filesystem stabile/affidabile come ext2 per /etc.

2
jonescb