web-dev-qa-db-fra.com

uton / maison ne fonctionne pas

J'essaie de fusionner ma partition séparée/home avec mon/partition de Linux 13. On m'a dit d'éveiller/à la maison, de monter sur un emplacement différent et de copier le contenu dans le répertoire/maison de la partition.

J'ai essayé, mais je ne peux pas mentionner/chez moi. Quand j'essaie de le faire, je reçois un message:

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

Comment puis-je démonter mon/la maison et la monter sur un emplacement séparé (/ dev/sda2/mnt/home) pour pouvoir copier le contenu vers/home?

8
DutchArjo

uton:/l'appareil à la maison est occupé

Cela signifie que vous (ou quelqu'un) utilise actuellement des fichiers sur le /home système de fichiers. La solution la plus simple consiste à disposer de tous les utilisateurs normaux de la déconnexion du système, puis de vous connecter en tant que root.

(Vous devrez peut-être configurer le système pour "autoriser la connexion de l'administrateur système local" dans l'application de fenêtre de connexion, onglet Sécurité.)

Si vous oubliez toujours, alors que le message d'erreur indique, regardez la sortie de:

lsof /home

et,

fuser -mv /home

Ces commandes vous montreront quels processus ont des fichiers ouverts sur le /home Système de fichiers pour que vous puissiez vous les fermer.

Notez que quelque chose comme apparemment innocent que d'avoir un terminal/console ouvert avec /home Comme le répertoire de travail actuel causera /home être utilisé et arrêtera umount /home.

11
John1024

J'avais ce problème dans le moteur de Google Compute, où j'ai configuré/la maison en tant que partition séparée.

Dans ce cas, vous ne pouvez jamais vous connecter en tant que root, vous devez vous connecter en tant qu'utilisateur, puis passer à la racine, il n'a donc jamais été possible de umount /home

Ma solution était de se connecter comme mon utilisateur normal

ssh myuser@myvm

Ensuite, une fois à l'intérieur, j'ai changé à root et fermé ma propre session comme celle-ci:

cd /
exec Sudo su

D'abord, je suis allé au dossier racine au cas où mon dossier à domicile s'est plaint d'être utilisé. Ensuite, je remplace ma session de bash actuelle avec une session racine par Prepending exec à Sudo su

Maintenant je pouvais umount /home Sans problèmes.

3
santiago arizti

Puisque le message d'erreur suggère que Run lsof ou fuser pour montrer quel processus utilise /home, tu devrais essayer:

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

Avec lsof la sortie peut être plus longue.

La solution simple pour vous essaie de modifier /etc/fstab à monter /home à une partition différente. Quelque chose comme ça:

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

Assurez-vous de commenter ou de supprimer l'ancienne entrée, redémarrez et voyez le changement.

2
cuonglm

Une autre pensée consiste à redémarrer à l'aide du disque de secours, à obtenir une coque racine, à monter toutes les partitions, puis à effectuer le CP -R des anciennes données au nouvel emplacement, puis faites-la synchroniser et démonter toutes les partitions et redémarrez. BTW, vous pouvez également modifier la table/etc/fstab pour rendre les choses que vous voulez sur la racine montée Partion (pas le sauvetage/etc/fstab).

Redémarrez ensuite après cela et tout est bon.

1
mdpc

J'essaie de fusionner ma partition séparée/home avec mon/partition de Linux 13. On m'a dit d'éveiller/à la maison, de monter sur un emplacement différent et de copier le contenu dans le répertoire/maison de la partition.

Vous pouvez déplacer votre annuaire de domicile dans un nouveau dossier.

usermod -m -d /new_home/your_username your_username

Vous devez le faire à tous vos utilisateurs, après cela, vous pouvez uveter/home sans problème.

1
favadi

il est résolu. Je n'étais pas connecté correctement je suppose. Une fois que la connexion racine a été activée dans les paramètres de sécurité de l'écran de démarrage, j'ai pu mené Umount/SDA5. monté/sda5 à/mnt/maison et à partir de là

cp -va /mnt/home/* /home

Redimensionné et tout le reste et avoir mon/la maison maintenant sur la partition/la partition.

Le redimensionnement devait être fait en démarrant de CDROM GPARTÉ.

ça marche bien maintenant!

1
DutchArjo

Vous avez sans aucun doute des processus qui utilisent des fichiers dans votre répertoire personnel. Tous vos processus l'ont probablement en tant que répertoire de travail, par exemple. Votre responsable de session peut être enregistré sur ~/.xsession-errors, etc.

Si vous avez déjà fait le déménagement

Lorsque vous avez déplacé votre répertoire de maison dans un système de fichiers différent, vous avez copié les fichiers et supprimé les anciens. Mais vous ne pouvez pas faire passer des processus de course aux nouveaux fichiers (pas à moins d'avoir une fonctionnalité pour le faire).

Vous aurez besoin de vous déconnecter et de retourner. Lorsque vous vous connectez maintenant, les processus utiliseront votre nouveau répertoire personnel.

Vous pouvez voir quels processus utilisent toujours votre ancien répertoire de base (ou quoi que ce soit d'autre sur le système de fichiers domestique) en exécutant fuser /home ou lsof /home. Une fois que vous avez tué ces processus, vous serez capable de démonter /home. Vous pouvez utiliser fuser -k /home Pour les tuer tous (vérifiez soigneusement ce qu'ils sont avant de le faire!).

Meilleure façon de faire le mouvement

Idéalement, vous devez déplacer votre répertoire à domicile sans être connecté, car vos processus d'exécution souhaiteront peut-être enregistrer des données (par exemple, sauvegarder votre session en cours) et certains utiliseront le fichier qu'ils ont déjà ouvert. Vous pouvez faire le déplacement en vous connectant à une console de texte (Ctrl+Alt+F1) et connectez-vous en tant que root (assurez-vous d'avoir un mot de passe root configuré). Déplacez le contenu de /home Dans un nouveau répertoire, puis démonter le système de fichiers vide et déplacez les répertoires:

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

Ou vous pouvez déplacer le /home montage:

mkdir /home.old
mount --move /home /home.old
mv /home.old/* /home/
umount /home.old
rmdir /home.old