como eu posso ligar simbolicamente minha pasta pessoal de outra unidade?

10

Mais especificamente, quero que a pasta de usuário da minha conta inicial seja outro disco que tenha mais espaço, mas mantenha minhas outras contas menores no meu ssd. Eu era capaz de copiar minha pasta de usuário para outro disco, mas agora eu preciso vinculá-lo à pasta home no meu ssd, eu quero que seja acessível a partir de uma inicialização normal, e por favor não me diga que o que eu fiz não foi o melhor coisa, eu só quero uma resposta. Como faço para criar um link que vai de / home / username para / extra-home / username e é reconhecido pelo sistema ao carregar as pastas do usuário?

    
por sbergeron 13.05.2014 / 23:55

3 respostas

14

Lembre-se de que suas permissões precisarão ser as mesmas. Além do symlink, em distros e sistemas de arquivos mais recentes, como root você também pode usar o bind-mount:

mkdir /home/username mount --bind --verbose /extra-home/username /home/username

Isto é útil para permitir o acesso "através" do diretório / home aos subdiretórios através de daemons que são configurados para evitar pathing através de links simbólicos (apache, ftpd, etc.).

Você precisa se lembrar (ou script de inicialização) para vincular-se a reinicializações, é claro.

    
por Joe Atzberger 15.05.2014 / 03:26
8

De acordo com esta pergunta no Super User, isso é possível.

Você pode criar um link simbólico usando:

ln -s /extra-home/username /home/username

Se não funcionar por algum motivo, basta excluir o link simbólico, mover o diretório de volta e reinicializar o computador.

    
por Louis Matthijssen 14.05.2014 / 00:04
2

Eu tentaria isso:

Enquanto estiver conectado como um usuário diferente, em um shell raiz (por exemplo, sudo -i ), copie o conteúdo de /home/username para /extra-home/username e verifique se o novo local é de propriedade de username :

# cp -p /home/username /extra-home/
# chown username:username /extra-home/username

Mova o diretório original /home/username/ para um lugar seguro:

# mv /home/username /root/

Crie o link simbólico:

# ln -s /extra-home/username /home/username

Verifique se está funcionando como esperado abrindo outra janela de terminal e executando su :

$ sudo su username

Se tudo estiver bem, pelo menos no terminal (o conteúdo de /home/username/ aparece como esperado), efetue logout e login novamente (suponho que você esteja no desktop do Ubuntu) e deve estar funcionando normalmente. No entanto, se não estiver, basta excluir o link simbólico e mover a pasta inicial arquivada de volta para o local original.

    
por Paul 15.05.2014 / 02:54