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

48

Então, recentemente, um instalador do Debian 5.0.5 me ofereceu separar as partições /usr , /home , /var e /tmp (em um disco físico).

Qual é a razão prática disso? Eu entendo que /home pode ser vantajoso para colocar em uma partição separada, porque os arquivos do usuário podem ser criptografados separadamente, mas por que qualquer outra coisa?

    
por Alex B 18.08.2010 / 14:18

9 respostas

50
  1. Minimizando perda: se /usr estiver em uma partição separada, um /usr danificado não significa que você não pode recuperar /etc .
  2. Segurança: / não pode ser sempre ro ( /root pode precisar ser rw, etc.), mas /usr pode. Pode ser usado para fazer ro o máximo possível.
  3. Usando FS diferente: talvez eu queira usar um sistema diferente para /tmp (não confiável, mas rápido para muitos arquivos) e /home (precisa ser confiável). Similary /var contém dados, enquanto /usr não é assim /usr estabilidade pode 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 o preenchimento de parções, embora outro método seja cotas.
por 19.08.2010 / 20:03
23

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

/var e /tmp podem ser preenchidos por programas do usuário ou daemons. Portanto, pode ser seguro tê-las em partições separadas que impediriam que / , a partição raiz, ficasse 100% cheio e atingisse mal o sistema. Para evitar ter duas partições distintas para elas, não é incomum ver /tmp sendo um symlink para /var/tmp .

    
por 18.08.2010 / 14:50
11

O problema é que um fs root completo torna o sistema linux inoperante, até mesmo um administrador consertá-lo sem um CD de recuperação ou similar. Quando /tmp e /var e em particular /home estão em uma partição separada, a raiz fs nunca pode ser preenchida sem um administrador fazendo isso. Leve o /usr para o mix em que todas as instalações habituais serão colocadas, e mesmo a instalação de um novo software não pode causar esse problema.

    
por 18.08.2010 / 15:49
11

Como os usuários comuns podem fazer com que os itens sejam gravados em /var e /tmp e, assim, podem causar problemas para todo o sistema. Dessa forma, os processos do usuário podem preencher /var e /tmp , mas não a raiz fs. Um /usr separado é útil para /usr sobre NFS ou outros fs remotos.

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

    
por 18.08.2010 / 14:57
10

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

  1. Segurança: você pode, por exemplo, montar uma partição como somente leitura para evitar que usuários mal-intencionados (ou processos) sobrescrevam ou substituam binários por trojans. Portanto, se o seu binário ssh mora 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 / var em sua própria partição e chegar a 80%, você poderá redimensioná-la ou até mesmo movê-la para outro disco, se necessário. Eu prefiro ter que fazer isso do que lidar com um sistema cujo '/' está 100% cheio porque os logs sob / var ficaram descontrolados de alguma forma. Partições diferentes também podem ter sistemas de arquivos diferentes, permitindo que seu SO use o ext3 (por exemplo) e seu banco de dados para usar o ext4, ou o repositório de objetos para usar o XFS, ou o seu aplicativo personalizado para usar ... dispositivos brutos!

por 18.08.2010 / 15:49
6

Tradicionalmente, foi feito desta forma devido às peculiaridades do hardware DEC em que foi desenvolvido. Foi mais econômico comprar um disco pequeno e rápido para root e swap e um disco maior e mais lento para os dados do usuário ( /usr ). De certa forma, a convenção simplesmente parou.

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

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

  • Colocando partições ocupadas como /var ou /tmp em discos separados para remover gargalos no acesso aos dados do usuário.

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

  • Ter dados do usuário em um disco ou partição separados facilita a migração para um disco maior sem grande cirurgia na máquina.

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

  • fsck demora muito em grandes volumes para determinados tipos de sistema de arquivos. Você pode desejar ter diferentes agendamentos de manutenção do sistema de arquivos para áreas do sistema (freqüentes) e áreas do usuário (menos freqüentes).

por 09.09.2011 / 20:28
5

Formatar um sistema de arquivos também pode ser mais rápido que rm-rf-lo. Especialmente se você tiver milhares de arquivos pequenos para apagar. Cache Squid você quer recriar completamente ... toneladas de arquivos de imagem que você precisa para processamento, mas pode ser jogado fora depois que o resultado final é criado. arquivos. obj de grandes compilações ... etc.

    
por 19.08.2010 / 00:33
4

Uma pasta que às vezes 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 distro possa ser reutilizado se eu mudar / atualizar minha distro ou outra distro instalada ao lado dele. Obviamente não é garantido que funcione em todas as combinações possíveis, mas não faz mal.

    
por 20.08.2010 / 15:21
2

Eu coloco /tmp em um tmpfs, então o conteúdo é armazenado na RAM em vez de no disco. Isso não seria útil para /etc ou /usr .

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

    
por 05.04.2011 / 18:56