Como posso alterar uma montagem de partição para var e ainda inicializar?

2

Minha primeira pergunta aqui na falha do servidor. Na minha pressa, eu configurei um servidor local com o Centos 6.2 e deixei o instalador do Centos manipular as partições.

Grande erro, eu sei.

De qualquer forma, o único problema que tenho é que a maioria do espaço no disco rígido foi alocada para o ponto de montagem / home. Nós não vamos usar isso ... vamos usar o / var. Eu tentei alterar o ponto de montagem da partição montada em / home para montar em / var ... mas, como tenho certeza de que você já está rindo de si mesmo, sim, isso impediu que meu sistema inicializasse. Acontece / var é importante;)

Agora, não sou totalmente imbecil, então consegui inicializar em um console de recuperação e alterá-lo de volta. Agora, é por isso que eu vim para vocês.

Como posso alterar o ponto de montagem para / var, mas ainda manter um sistema em funcionamento? Eu presumo que preciso copiar o conteúdo de / var para / home de alguma forma, mas não sei por onde começar.

    
por Brendan 17.02.2012 / 16:55

1 resposta

3

Sua descrição é um pouco confusa - mas parece que você tem uma partição / var e uma partição / home.

Você quer preservar as permissões quando copia - isso é crítico !

Se você quiser, é simplesmente montar / home como / var, então eu faria isso no ambiente original:

# rsync -Wav /var/ /home

Isso irá recriar diretórios como / var / lib, / var / tmp e outros em / home. Depois disso, / home será parecido com isto (exemplo de saída falso):

# ls -m /home
agentx, backups, cache, charlie, crash, lib, local, lock, log, louie, mail, opt,
run, spool, tina, tmp, www

Observe os três diretórios home (falsificados) presentes: / home / charlie / home / louie / home / tina.

Você deve poder excluir todos os diretórios home sem problemas sérios, a menos que haja um daemon que espere um diretório pessoal real. Em qualquer caso, para preservá-los (apenas no caso), eu faria isso antes de copiar / var:

# cd /home
# mkdir .sav
# mv charlie tina louie .sav

Isso moverá os diretórios iniciais selecionados para fora do caminho, mas os preservará para mais tarde.

Além disso, quando você move / home para / var, isso significa que / home agora terá que ser criado em / (root). Depois de inicializar com a nova configuração (com / home movido para / var), faça o seguinte:

# mkdir /home
# chmod 755 /home

Certifique-se de criar qualquer diretório / home que você precisa - ou copie-os do diretório /var/.sav. Para fazer o último, faça isso no seu novo ambiente:

# rsync -Wav /var/.sav/ /home

Observe também que o / var original ainda estará lá. Se estiver em um sistema de arquivos montado, ele ficará oculto, mas ainda ocupará espaço.

UPDATE: Em resposta às perguntas abaixo, veja algumas reflexões sobre como recuperar espaço de /var :

Você provavelmente não deve excluir os arquivos até que tenha executado com o ambiente alterado por algum tempo e nada tenha sido exigido do ambiente antigo. Isso é só por segurança.

Também por segurança, você provavelmente deveria fazer duas coisas. No ambiente antigo, faça isso:

# touch /var/var.old
# touch /home/var.new

Isso permitirá que você veja duas montagens quase idênticas, mas perceba qual é o que, de relance.

Para excluir os dados, você precisa acessar os dados no antigo /var . Esses dados não estarão diretamente acessíveis em /var depois de montar sua nova partição.

Existem duas maneiras de fazer isso:

  1. No ambiente original, crie um link físico para / var ( ln /var /var.old ) e, em seguida, no novo ambiente, faça rm -rf /var.old/* . Eu não tentei isso, mas com um link físico você ainda deve acessar o antigo /var e não o novo. Verifique procurando por var.old (se você ver var.new , então não funcionou).

  2. Em um shell de recuperação, faça mkdir /var.old ; mv /var/* /var.old . Uma vez Depois de inicializar no novo ambiente, acesse os dados em /var.old .

Note que ambos preservam o diretório /var que é necessário para a montagem.

    
por 17.02.2012 / 17:20