web-dev-qa-db-fra.com

Comment puis-je faire un lien symbolique vers mon dossier personnel depuis un autre lecteur?

Plus précisément, je souhaite que le dossier utilisateur de mon compte personnel soit un autre disque disposant de plus d'espace disque, tout en conservant mes autres comptes plus petits sur mon compte ssd. J'ai pu copier mon dossier d’utilisateur sur un autre disque, mais je dois maintenant le lier au dossier d’accueil sur mon disque ssd. Je le veux accessible à partir d’un démarrage normal. Ne me dites pas que ce que j’ai fait n’est meilleure chose, je veux juste une réponse. Comment l'obtenir pour créer un lien qui va de/home/nom d'utilisateur à/extra-home/nom d'utilisateur et qui est reconnu par le système lors du chargement des dossiers de l'utilisateur?

11
sbergeron

N'oubliez pas que vos autorisations devront être les mêmes. En plus des liens symboliques, sur les distributions et les systèmes de fichiers plus récents, vous pouvez également utiliser en tant que root, bind-mount:

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

Ceci est utile pour autoriser l'accès "via" le répertoire/home aux sous-répertoires via des démons autrement configurés, afin d'éviter de passer par des liens symboliques (Apache, ftpd, etc.).

Vous devez vous rappeler (ou script init) de se lier au redémarrage, bien sûr.

17
Joe Atzberger

Selon this question sur Super User c'est possible.

Vous pouvez créer un lien symbolique en utilisant:

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

Si cela ne fonctionne pas pour une raison quelconque, vous pouvez simplement supprimer le lien symbolique, revenir au répertoire et redémarrer votre ordinateur.

9

Je voudrais essayer ceci:

Lorsque vous êtes connecté en tant qu'utilisateur différent, dans un shell racine (par exemple, Sudo -i), copiez le contenu de /home/username dans /extra-home/username et assurez-vous que le nouvel emplacement appartient à username:

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

Déplacez le répertoire /home/username/ d'origine vers un endroit sûr:

# mv /home/username /root/

Créez le lien symbolique:

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

Vérifiez qu'il fonctionne comme prévu en ouvrant une autre fenêtre de terminal et en exécutant su:

$ Sudo su username

Si tout semble aller bien, du moins depuis le terminal (le contenu de /home/username/ apparaît comme prévu), puis déconnectez-vous et reconnectez-vous (je suppose que vous êtes sur le bureau Ubuntu) et devrait fonctionne normalement. Toutefois, si ce n'est pas le cas, supprimez simplement le lien symbolique et déplacez le dossier de départ archivé vers son emplacement d'origine.

2
Paul