umount / home não funciona

7

Eu estou tentando mesclar minha partição / home separada com minha / partição no linux mint 13. Foi-me dito para desmontar / home, montá-lo em um local diferente e copiar o conteúdo para o diretório / home na partição /.

Eu tentei, mas não posso desmontar / home. Quando tento fazer isso, recebo uma mensagem:

umount: /home device is busy (which processes use this device can be possibly be found with lsof or fuser)

Como posso desmontar meu / home e montá-lo em um local separado (/ dev / sda2 / mnt / home) para poder copiar o conteúdo para / home?

    
por DutchArjo 10.05.2014 / 21:47

7 respostas

10

umount: /home device is busy

Isso significa que você (ou alguém) está usando arquivos no sistema de arquivos /home . A solução mais simples é ter todos os usuários normais logout do sistema e, em seguida, fazer login novamente como root.

(Pode ser necessário configurar o sistema para "Permitir login do administrador do sistema local" no aplicativo Janela de Login, na guia Segurança.)

Se umount ainda reclamar, então, como a mensagem de erro diz, dê uma olhada na saída de:

lsof /home

e

fuser -mv /home

Esses comandos mostrarão a você quais processos têm arquivos abertos no sistema de arquivos /home , para que você possa fechá-los.

Observe que algo aparentemente tão inocente quanto ter um terminal / console aberto com /home como o diretório de trabalho atual fará com que /home esteja em uso e pare de umount /home .

    
por 10.05.2014 / 21:55
2

Como a mensagem de erro sugere que a execução lsof ou fuser mostre qual processo está usando /home , tente:

$ fuser -v /home/
                     USER        PID ACCESS COMMAND
/home:               root     kernel mount /home

Com lsof , a saída pode ser maior.

A solução simples para você está tentando modificar /etc/fstab para montar /home em partição diferente. Algo parecido com isto:

/dev/sdb3    /home    ext4    defaults,noatime    0 2

Não deixe de comentar ou remover a entrada antiga, reinicie e veja a alteração.

    
por 10.05.2014 / 22:03
1

Outro pensamento é reiniciar usando o disco de recuperação, obter um shell de root, montar todas as partições e então fazer o cp -r dos dados antigos para o novo local, fazer uma sincronização e desmontar todas as partições e reinicializar. BTW, você também pode modificar a tabela / etc / fstab para fazer as coisas do jeito que você quer no partiton root montado (não no rescue / etc / fstab).

Reinicie depois disso e tudo está bem.

    
por 11.05.2014 / 02:16
1

I trying to merge my separate /home partition with my / partition in linux mint 13. I was told to umount /home, mount it on a different location and copy the contents to the /home directory on the / partition.

Você pode mover seu diretório pessoal para uma nova pasta.

usermod -m -d /new_home/your_username your_username

Você deve fazer isso para todos os seus usuários, depois disso, você pode desmontar / home sem problemas.

    
por 11.05.2014 / 04:00
1

está resolvido. Eu não estava logado corretamente, eu acho. Depois que o login raiz foi ativado nas configurações de segurança da tela de inicialização, consegui umount / sda5. montado / sda5 para / mnt / home e de lá fazer

cp -va /mnt/home/* /home

Redimensionado e tudo mais e tenho meu / home agora na partição /.

O redimensionamento deve ser feito com o boot do cdrom gparted.

está funcionando bem agora!

    
por 11.05.2014 / 14:39
1

Você, sem dúvida, tem alguns processos que estão usando arquivos em seu diretório inicial. Todos os seus processos provavelmente têm como diretório de trabalho, por exemplo. Seu gerenciador de sessão pode estar fazendo login em ~/.xsession-errors e assim por diante.

Se você já fez a mudança

Quando você moveu seu diretório home para um sistema de arquivos diferente, copiou os arquivos e removeu os antigos. Mas você não pode fazer com que os processos em execução mudem para os novos arquivos (a menos que eles tenham um recurso para fazer isso).

Você precisará fazer logout e voltar. Quando você fizer login agora, os processos estarão usando o novo diretório inicial.

Você pode ver quais processos ainda estão usando seu diretório inicial antigo (ou qualquer outra coisa no sistema de arquivos inicial) executando fuser /home ou lsof /home . Depois de eliminar esses processos, você poderá desmontar /home . Você pode usar fuser -k /home para matar todos eles (verifique cuidadosamente o que eles são antes de fazer isso!).

Melhor maneira de fazer o movimento

Idealmente, você deve mover seu diretório pessoal enquanto não estiver conectado, porque seus processos em execução podem querer salvar dados (por exemplo, salvar sua sessão atual) e alguns usarão o arquivo que já estão abertos. Você pode fazer o movimento fazendo login em um console de texto ( Ctrl + Alt + F1 ) e efetuando login como root (certifique-se de ter uma senha raiz configurada). Mova o conteúdo de /home para um novo diretório, desmonte o sistema de arquivos vazio e mova os diretórios:

mkdir /home.new
mv /home/* /home.new/
umount /home
rmdir /home.new
mv /home.new /home

Ou você pode mover a /home mount:

mkdir /home.old
mount --move /home /home.old
mv /home.old/* /home/
umount /home.old
rmdir /home.old
    
por 12.05.2014 / 02:38
1

Eu estava com esse problema no mecanismo do Google Compute, onde configurei / home como uma partição separada.

Neste caso você nunca pode logar como root, você deve logar como usuário, então mudar para root, então nunca foi possível umount /home

Minha solução foi fazer o login como meu usuário normal

ssh myuser@myvm

Então, uma vez lá dentro, mudei para root e fechei minha própria sessão assim:

cd /
exec sudo su

Primeiro eu fui para a pasta raiz no caso de minha pasta inicial reclamar sobre estar em uso. Então eu substituo minha sessão bash atual por uma sessão raiz, prefixando exec to sudo su

Agora eu consegui umount /home sem problemas.

    
por 12.12.2017 / 17:28