Mover / etc para separar a partição

3

Como colocar /etc em uma partição separada? Obviamente eu não posso fazer isso editando /etc/fstab como eu fiz com /home , porque ... está em /etc . Eu quero /etc e /home em uma partição (sda7), e o resto na outra (sda6). Eu acho que /etc deve ser um link simbólico para /mnt/part2/etc ( /mnt/part2 sendo ponto de montagem de sda7), e mesmo com /home . Mas como dizer ao sistema para montar part2 sem acesso a fstab ?

Estou usando o Arch Linux x64, se isso ajudar.

    
por Xirdus 30.05.2013 / 20:26

5 respostas

9

Uma das primeiras coisas que um sistema Linux está fazendo é montar todos os sistemas de arquivos no ponto de montagem correto para permitir que todas as outras partes do sistema encontrem seus arquivos.

O sistema de arquivos raiz geralmente é fornecido na linha de comando do kernel. Ele montará este sistema de arquivos e procurará em / etc / fstab por todos os outros pontos de montagem.

Se você realmente quiser fazer algo estranho antes que isso aconteça, você pode usar o initrd para esse tipo de configuração.

    
por 30.05.2013 / 20:44
7

I want /etc and /home on one partition

Não, você não faz. É como pedir que seu cérebro seja transplantado para o joelho :-) Qualquer que seja seu problema, tornar /etc uma partição separada ou mesclá-la com /home não é a solução. Qual é o problema real que você quer resolver ?

    
por 30.05.2013 / 23:57
7

A resposta simples é que você não faz. /etc é onde todas as coisas de configuração são: como o sistema pode operar se não souber onde encontrar sua configuração? Por que você ainda quer fazer isso?

    
por 30.05.2013 / 20:30
2

Não é uma resposta direta, mas pode ajudar:

O diretório /etc armazena a configuração para o seu sistema operacional, portanto, deve ser considerado uma boa idéia ter sua configuração com o sistema operacional, que está na mesma partição. Para manter um backup sensato ou talvez até compartilhar configurações, você poderia usar o git:

  • crie um repositório git do seu /etc e clone / coloque-o em qualquer lugar que você queira armazená-lo
  • escreva um script de inicialização que execute git pull em "start" para obter a versão mais recente dessa partição especial em /etc
  • coloque o script logo após a partição ser montada em sua ordem de inicialização, em algum lugar no nível de execução S
  • faça o script executar git commit e git push no desligamento / reinicialização para salvar sua configuração atual

Duas vantagens:

  1. quando algo quebra você sempre terá sua configuração onde o sistema operacional espera que seja
  2. você terá o controle de versão e poderá reverter e debig suas configurações se você errar
por 30.05.2013 / 22:25
0

Esta é uma idéia terrível e terrível, e não posso pensar honestamente em uma única situação em que seria até desejável.

No entanto, se você realmente quiser fazer isso, sua melhor aposta seria escrever um patch de kernel para fazer com que ele tome um segundo argumento semelhante a root=/dev/sda1 que permite especificar etc=/dev/sda2 como bem, então tente montar /etc daí após montar a raiz e antes de tentar executar init .

Observe que qualquer erro único nesse ponto tornaria o sistema inteiro não inicializável, a menos que você tivesse a sanidade necessária para configurar um retorno seguro /etc na partição raiz.

    
por 31.05.2013 / 12:06