Como posso desmontar a montagem incorreta?

5

Eu fiz uma coisa errada. Eu montei /dev/mapper/vgpool-lvstuff7 to / , isso é ruim. Como posso desmontar essa coisa?

    
por user2301881 10.06.2013 / 17:47

3 respostas

2

Eu sugiro uma reinicialização para corrigir as coisas.

Mas se você é contra isso, tente umount -l .

    
por 10.06.2013 / 20:31
1

Montar algo no / oculta todas as montagens existentes. Para se recuperar disso, você precisará de uma maneira de emitir uma chamada de sistema mount ou umount como root.

Se você executar umount / com o programa umount de vgpool-lvstuff7 , ele falhará porque o volume estará em uso pelo próprio programa que está fazendo a desmontagem. Eu acho que umount -l irá funcionar: assumindo que não existem outros programas rodando a partir de vgpool-lvstuff7 (se houver, mate-os primeiro), o volume será desmontado quando umount sair.

Outra abordagem em potencial é jogar com mount --bind e mount --move . Monte um sistema de arquivos tmpfs em algum lugar ( mkdir /z; mount -t tmpfs scratch /z; mkdir /z/root ) e tente copiar ou criar um programa mount e executar mount --bind / /z/root . O volume vgpool-lvstuff7 estará acessível em /z/root . Não tenho certeza se você pode mover a montagem de raiz nesse ponto.

Se você não tiver acesso ao programa mount , tudo bem, contanto que você tenha uma maneira de obter um shell de root e /proc . Você pode acessar a raiz original como /proc/1/root . Embora isso pareça um link simbólico inútil para / , na verdade é um link mágico - o desreferenciamento leva você à partição raiz real do programa com PID 1 (init). Então você sempre terá umount acessível em /proc/1/root/bin/umount .

Se você não tem /proc , outra maneira de obter o programa umount seria copiá-lo de algum lugar, ou mesmo apenas um pequeno binário que apenas chama o umount syscall, ou você poderia invocar o syscall de alguma linguagem interpretada, como perl.

    
por 11.06.2013 / 02:07
0

Verifique /proc/mounts , não df . Parece que df está confuso (provavelmente porque /etc/mtab está errado).

Se eles estivessem montados em / , então df mostraria as mesmas estatísticas (tamanho, em uso, livre, por cento) para ambos.

    
por 10.06.2013 / 22:16

Tags