Por que colocar outras coisas além de / home em uma partição separada?

53

Então, recentemente, um instalador Debian 5.0.5 ofereceu-me de ter separadas /usr, /home, /vare /tmppartições (em um disco físico).

Qual é a razão prática para isso? Entendo que /homepode ser vantajoso colocar em uma partição separada, porque os arquivos do usuário podem ser criptografados separadamente, mas por que mais alguma coisa?

Alex B
fonte
10
Outro bom motivo para se manter /homeseparado é que ele permite que você reinstale o sistema e / ou alterne as distribuições livremente, sem perder seus arquivos pessoais.
David Z
4
@ David Zaslavsky: Eu não o recomendaria para trocar de distribuição. na maioria das vezes, os arquivos de configuração ocultos no diretório inicial entrarão em conflito.
Trovador
7
@Troubadour: Na verdade, acho que não. Esses arquivos de configuração são colocados lá por aplicativos específicos e geralmente não têm nada a ver com a distribuição em que você está. Por exemplo, o conteúdo de ~/.mozilla/firefoxpode ser usado igualmente bem pelo Firefox no Ubuntu ou Fedora ou Gentoo. ~/.bashrcsempre terá o mesmo efeito no Bash, independentemente do sistema subjacente que você executa. Fiz uma boa quantidade de trocas de distribuição e nunca tive realmente problemas com esses arquivos de configuração.
David Z
3
@ David Zaslavsky: Eu poderia ver problemas surgindo se a nova distribuição usasse versões anteriores de aplicativos que a anterior, pois eles talvez não soubessem ler esses arquivos de configuração. Dito isto, eu não tentei fazer nada disso sozinho.
intuído
Por outro motivo, se você estiver usando um disco rígido e um ssd, convém ter a maior parte da instalação no ssd, mas deseje colocar, por exemplo, / home e / var no disco rígido, para evitar um grande número de gravações no ssd.
Kevin

Respostas:

55
  1. Minimizando a perda: se /usrestiver em uma partição separada, um dano /usrnão significa que você não pode se recuperar /etc.
  2. Segurança: /não pode ser sempre ro ( /rootpode precisar ser rw etc.), mas /usrpode. Pode ser usado para fazer ro o máximo possível.
  3. Usando FS diferentes: talvez eu queira usar um sistema diferente para /tmp(não confiável, mas rápido para muitos arquivos) e /home(tem que ser confiável). O similary /varcontém dados, enquanto a estabilidade /usrnão /usrpode ser sacrificada, mas não tanto quanto /tmp.
  4. Duração do fsck: Partições menores significam que a verificação de uma é mais rápida.
  5. Mencionado preenchimento de partições, embora outro método seja cotas.
Maciej Piechotka
fonte
23

Um separado /usrpode ser útil se você tiver várias máquinas compartilhando o mesmo sistema operacional. Eles podem compartilhar uma única central em /usrvez de duplicá-la em todos os sistemas. /usrpode ser montado como somente leitura.

/vare /tmppode ser preenchido por programas ou daemons do usuário. Portanto, pode ser seguro tê-los em partições separadas que impediriam que /a partição raiz estivesse 100% cheia e atingisse gravemente seu sistema. Para evitar ter duas partições distintas para elas, não é incomum ver /tmpser um link simbólico para /var/tmp.

Didier Trosset
fonte
Eu acho que posso entender / var e / tmp, mas desde que o instalador se ofereceu para particionar um único disco, o utilitário de um separado /usré bastante limitado, então?
Alex B
Ele permite que você compartilhe /usratravés do NFS com outros sistemas. Mas você pode compartilhá-lo mesmo que não seja uma partição separada, isso é verdade ... pensando em voz alta ... A montagem somente leitura é uma razão suficientemente boa?
Didier Trosset
Como você atualiza esse tipo de configuração? Freqüentemente (pelo menos no Linux) os pacotes fazem alterações nos arquivos nos diretórios locais do sistema, por exemplo em /etc.
intuited
+1 para montagem somente leitura / usr. Remonte-o rw antes de fazer atualizações.
LawrenceC
13

Como usuários comuns podem fazer com que as coisas sejam gravadas /vare /tmp, portanto, potencialmente causar problemas para todo o sistema. Dessa forma, os processos do usuário podem preencher /vare /tmp, mas não o root fs. Um separado /usré útil para /usrsobre NFS ou outros fs remotos.

(Espero que esteja claro, ainda não tomei café)

KellyClowers
fonte
A primeira frase é a melhor explicação, obrigado.
greenoldman
11

O problema é que um fs de raiz completa torna o sistema linux inoperável a uma extensão que até um administrador o corrige sem um CD de recuperação ou similar. Quando /tmpe, /varem particular, /homeestão em uma partição separada, o root fs nunca pode ser preenchido sem que um administrador faça isso. Entre /usrna mistura em que todas as instalações habituais serão colocadas e até a instalação de um novo software não pode causar esse problema.

txwikinger
fonte
A menos que ele instala em /opt:)
Troubadour
11
Bem. você também pode criar uma partição diferente ou criar um link para que / opt esteja realmente localizado na partição / usr. O princípio ainda é o mesmo.
precisa saber é o seguinte
10

Em geral, os argumentos para ter partições separadas são:

  1. Segurança: você pode, por exemplo, montar uma partição somente leitura para impedir que usuários (ou processos) mal-intencionados substituam ou substituam binários por trojans. Portanto, se o seu binário ssh vive em / usr / local / bin e / usr / local é montado como somente leitura, será difícil para qualquer um substituir esse binário.

  2. Flexibilidade / conveniência: por exemplo, se você configurar o / var em sua própria partição e ela ficar 80% cheia, poderá redimensioná-la ou até movê-la para outro disco, se necessário. Eu prefiro fazer isso do que lidar com um sistema cujo '/' esteja 100% cheio, porque os logs em / var foram de alguma forma danificados. Partições diferentes também podem ter sistemas de arquivos completamente diferentes, permitindo que seu sistema operacional use ext3 (por exemplo) e seu banco de dados use ext4, ou seu repositório de objetos para usar XFS ou seu aplicativo personalizado para usar ... dispositivos brutos!

jonesy
fonte
Qual é a maneira usual de lidar com as atualizações do sistema no primeiro caso?
intuited
6

Tradicionalmente, isso era feito dessa maneira devido às peculiaridades do hardware DEC em que foi desenvolvido. Era mais econômico comprar um disco pequeno e rápido para root e swap e um disco maior e mais lento para dados do usuário ( /usr). De certa forma, a convenção ficou emperrada.

No entanto, ainda existem algumas razões para fazer isso. Alguns comuns são:

  • Colocar / inicializar em uma partição pequena e separada, próxima ao início do disco. O firmware do BIOS do PC mais antigo inicializava apenas a partir das primeiras 1024 faixas do disco. É menos provável que seja um problema com o hardware moderno.

  • Colocando partições ocupadas, como /varou /tmpem discos separados para remover gargalos no acesso aos dados do usuário.

  • Diferentes sistemas de arquivos em diferentes partições. Por exemplo, você pode usar um sistema de arquivos de diário para, /usrmas não para partições que hospedam arquivos para um DBMS como Oracle - o DBMS faz seu próprio diário e o sistema de arquivos pode impor uma sobrecarga significativa.

  • A existência de dados do usuário em um disco ou partição separada facilita a migração para um disco maior sem grandes cirurgias na máquina.

  • Você pode montar dados compartilhados, como diretórios pessoais ou binários de aplicativos, através do NFS.

  • fsckleva muito tempo em grandes volumes para certos tipos de sistema de arquivos. Você pode desejar ter diferentes agendas de manutenção do sistema de arquivos para áreas do sistema (freqüentes) e áreas do usuário (menos frequentes).

ConcernedOfTunbridgeWells
fonte
5

Formatar um sistema de arquivos também pode ser mais rápido do que rm -rf'ing. Especialmente se você tiver milhares de arquivos pequenos para apagar. Squid cache que você deseja recriar totalmente ... toneladas de arquivos de imagem que você precisa para processar, mas que podem ser descartados após a criação do resultado final. arquivos .obj de grandes compilações ... etc.

Gabe.
fonte
4

Às vezes, uma pasta que eu coloco em uma partição separada é /usr/local/para que qualquer software que eu tenha construído e instalado separadamente do gerenciador de pacotes da minha distribuição possa ser reutilizado se eu alterar / atualizar minha distribuição ou por outra distribuição instalada ao lado. Obviamente, não é garantido que funcione em todas as combinações possíveis, mas não faz mal.

Trovador
fonte
2

Coloquei /tmpum tmpfs, para que o conteúdo seja armazenado na RAM em vez de no disco. Isso não seria útil para /etcou /usrno entanto.

Mas ser capaz de colocar diretórios diferentes em sistemas de arquivos diferentes pode ser benéfico; ou seja, /homeem um sistema de arquivos rápido / experimental como o ext4 vs um sistema de arquivos estável / confiável como o ext2 para /etc.

jonescb
fonte