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


53

Così di recente un installatore Debian 5.0.5 offerto me avere separati /usr, /home, /vare /tmppartizioni (su un disco fisico).

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


10
Un altro buon motivo per tenersi /homeseparati è che ti consente di reinstallare il tuo sistema e / o cambiare le distribuzioni liberamente senza perdere i tuoi file personali.
David Z,

4
@ David Zaslavsky: non lo consiglierei per cambiare distribuzione. poiché il più delle volte i file di configurazione nascosti nella home directory entreranno in conflitto.
Troubadour,

7
@Troubadour: in realtà non la penso così. Quei file di configurazione sono collocati lì da applicazioni specifiche e generalmente non hanno nulla a che fare con la distribuzione su cui ti trovi. Quindi, ad esempio, il contenuto di ~/.mozilla/firefoxpuò essere usato ugualmente bene da Firefox su Ubuntu o Fedora o Gentoo. ~/.bashrcavrà sempre lo stesso effetto su Bash, indipendentemente dal sistema sottostante che esegui. Ho fatto parecchie distribuzioni di commutazione e non ho mai avuto problemi con quei file di configurazione.
David Z,

3
@David Zaslavsky: Potrei vedere i problemi sorgere se la nuova distro usasse versioni precedenti delle applicazioni rispetto alla precedente, poiché potrebbero non sapere come leggere quei file di configurazione. Detto questo, non ho provato a fare nulla del genere da solo.
intuito il

Come altro motivo, se stai usando sia un hdd che un ssd, potresti voler avere la maggior parte dell'installazione su ssd, ma vuoi mettere, diciamo, / home e / var sull'hdd per evitare un numero elevato di scrive allo ssd.
Kevin,

Risposte:


55
  1. Riduzione al minimo della perdita: se si /usrtrova su una partizione separata, un danneggiato /usrnon significa che non è possibile ripristinare /etc.
  2. Sicurezza: /non può essere sempre ro ( /rootpotrebbe essere necessario essere rw ecc.) Ma /usrpuò. 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). Analogamente /varcontiene dati, mentre /usrlo fa non tanto /usrla stabilità può essere sacrificio, ma non tanto come /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.

23

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

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


Immagino di poter capire / var e / tmp, ma poiché l'installer si è offerto di partizionare un singolo disco, l'utilità di un separato /usrè piuttosto limitata allora?
Alex B,

Ti consente di condividere /usrtramite NFS con altri sistemi. Ma potresti condividerlo anche se non è una partizione separata, è vero ... pensare ad alta voce ... Il montaggio in sola lettura è una ragione sufficiente?
Didier Trosset,

Come si effettuano gli aggiornamenti con questo tipo di installazione? Spesso i pacchetti (almeno sotto Linux) apporteranno modifiche ai file nelle directory locali del sistema, ad esempio in /etc.
intuito il

+1 per / usr mount di sola lettura. Rimontarlo prima di eseguire gli aggiornamenti.
LawrenceC,

13

Perché gli utenti ordinari possono causare la scrittura delle cose /vare /tmp, quindi, potenzialmente causare problemi per l'intero sistema. In questo modo i processi utente possono riempire /vare /tmp, ma non il root fs. Un separato /usrè utile per /usrover NFS o altri fs remoti.

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


La prima frase è la migliore spiegazione, grazie.
Greenoldman,

11

Il problema è che un fs root completo rende il sistema Linux inutilizzabile in misura tale che persino un amministratore lo risolve senza un CD di ripristino o simile. Quando /tmpe, /varin particolare, si /hometrovano in una partizione separata, il root fs non può mai riempire senza che un amministratore lo faccia. Prendi /usril mix in cui verranno inserite tutte le solite installazioni e anche l'installazione di nuovo software non può causare questo problema.


A meno che non si installi in /opt:)
Troubadour,

1
Bene. è possibile creare una partizione diversa anche per questo o creare un collegamento in modo tale che / opt si trovi effettivamente nella partizione / usr. Il principio è sempre lo stesso.
txwikinger,

10

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 registri in / var sono andati in tilt in qualche modo. Partizioni diverse possono anche avere file system completamente diversi, consentendo al sistema operativo di utilizzare ext3 (ad esempio) e al database di utilizzare ext4, oppure il repository di oggetti per utilizzare XFS o l'app personalizzata per utilizzare ... dispositivi non elaborati!


Qual è il solito modo di gestire gli aggiornamenti di sistema nel primo caso?
intuito il

6

Tradizionalmente, è stato fatto in questo modo a causa delle peculiarità dell'hardware DEC su cui è stato sviluppato. È stato 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.

  • Inserimento di partizioni occupate come /varo /tmpsu 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 /usrma non per partizioni che ospitano file per un DBMS come Oracle: il DBMS fa 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.

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


5

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 di immagine che hai bisogno di elaborazione ma che possono essere eliminati dopo la creazione del risultato finale. File .obj da enormi compilazioni ... ecc.


4

Una cartella che a volte inserisco in una partizione separata è in /usr/local/modo tale 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 da un'altra distro installata lungo il lato. Ovviamente non è garantito che funzioni su tutte le combinazioni possibili ma non fa male.


2

Ho messo /tmpsu un tmpfs, quindi i contenuti sono memorizzati nella RAM anziché sul disco. Non sarebbe utile /etco /usrcomunque.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.