umount / home funktioniert nicht

10

Ich habe versucht, meine separate / home-Partition mit meiner / -Partition in Linux Mint 13 zusammenzuführen. Mir wurde gesagt, ich solle / home umounten, an einem anderen Speicherort bereitstellen und den Inhalt in das Verzeichnis / home auf der / -Partition kopieren.

Ich habe es versucht, aber ich kann nicht umount / home. Wenn ich das versuche, erhalte ich eine Nachricht:

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

Wie kann ich mein / home aushängen und an einem separaten Ort (/ dev / sda2 / mnt / home) bereitstellen, um den Inhalt nach / home kopieren zu können?

DutchArjo
quelle

Antworten:

11

umount: / home Gerät ist beschäftigt

Dies bedeutet, dass Sie (oder jemand) derzeit Dateien im /homeDateisystem verwenden. Die einfachste Lösung besteht darin, dass sich alle normalen Benutzer vom System abmelden und sich dann wieder als Root anmelden.

(Möglicherweise müssen Sie das System so konfigurieren, dass in der Anwendung "Anmeldefenster" auf der Registerkarte "Sicherheit" die Anmeldung des lokalen Systemadministrators zugelassen wird.)

Wenn sich umount immer noch beschwert, sehen Sie sich, wie in der Fehlermeldung angegeben, die Ausgabe von:

lsof /home

und,

fuser -mv /home

Diese Befehle zeigen Ihnen, welche Prozesse offene Dateien im /homeDateisystem haben, damit Sie sie schließen können.

Beachten Sie, dass etwas so scheinbar Unschuldiges wie das Öffnen eines Terminals / einer Konsole mit /homedem aktuellen Arbeitsverzeichnis dazu führt, dass /homees verwendet wird und stoppt umount /home.

John1024
quelle
Wie kann ich das System aktivieren, um die Anmeldung eines lokalen Systemadministrators in Mint zuzulassen?
DutchArjo
1
@DutchArjo Laut dieser Quelle sollte es sich unter der Anwendung " Anmeldefenster" auf der Registerkarte "Sicherheit" befinden.
John1024
Hallo @DutchArjo. Unter dem Lyke-Betriebssystem von Unix können Sie mit zum Einzelmodus-Benutzer wechseln Ctrl Alt <F1-F6>. Dort können Sie rootals Login verwenden. Natürlich müssen Sie sich vorher von einem anderen Benutzerkonto abmelden. Ich hoffe das kann dir helfen!
Slackmart
2
@sgmart, nein, Sie wechseln entweder beim Booten mit der Option 's' in den Einzelbenutzermodus oder init soder shutdown. Strg-Alt-F1 wechselt nur zum ersten virtuellen Terminal im Textmodus. Ich glaube, Mint hat wie Ubuntu das Root-Konto standardmäßig gesperrt, daher ist dies die einzige Möglichkeit, sich als Root anzumelden (Sie können sich nicht als Root auf einem virtuellen tty anmelden, wenn Sie sich nicht im Einzelbenutzermodus befinden).
Psusi
Ok, ich bin froh das zu lesen. Ich kann nur sagen, dass Login als Root hier der Schlüssel ist. dann danke @psusi, im Lebenslauf: Root-Login aktivieren, zu Virtual Tty gelangen Ctrl Alt F4, sich als Root anmelden und fortfahren ...
Slackmart
4

Ich hatte dieses Problem in der Google Compute-Engine, wo ich Setup / Home als separate Partition habe.

In diesem Fall können Sie sich niemals als root anmelden. Sie müssen sich als Benutzer anmelden und dann zu root wechseln, sodass dies niemals möglich war umount /home

Meine Lösung bestand darin, mich als mein normaler Benutzer anzumelden

ssh myuser@myvm

Sobald ich drinnen war, wechselte ich zu root und schloss meine eigene Sitzung wie folgt:

cd /
exec sudo su

Zuerst ging ich zum Stammordner, falls sich mein Heimordner über die Verwendung beschwerte. Dann habe ich meine aktuelle Bash - Sitzung mit einer Root - Sitzung ersetzen durch das Voranstellen execzusudo su

Jetzt konnte ich umount /homeohne Probleme.

santiago arizti
quelle
2

Da die Fehlermeldung darauf hindeutet, dass ausgeführt wird lsofoder fuserangezeigt wird, welcher Prozess verwendet wird /home, sollten Sie Folgendes versuchen:

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

Mit lsofder Ausgabe kann länger sein.

Die einfache Lösung für Sie besteht darin, Änderungen vorzunehmen /etc/fstab, um sie /homeauf einer anderen Partition bereitzustellen. Etwas wie das:

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

Stellen Sie sicher, dass Sie den alten Eintrag kommentieren oder entfernen, neu starten und die Änderung sehen.

cuonglm
quelle
1

Ein anderer Gedanke ist, einen Neustart über die Rettungsdiskette durchzuführen, eine Root-Shell zu erhalten, alle Partitionen bereitzustellen und dann das cp -r der alten Daten an den neuen Speicherort zu senden, dann eine Synchronisierung durchzuführen und alle Partitionen zu entfernen und neu zu starten. Übrigens können Sie auch die Tabelle / etc / fstab ändern, um die gewünschten Einstellungen für die bereitgestellte Root-Partition vorzunehmen (nicht für die Rettung / etc / fstab).

Starten Sie danach neu und alles ist gut.

mdpc
quelle
1

Ich habe versucht, meine separate / home-Partition mit meiner / -Partition in Linux Mint 13 zusammenzuführen. Mir wurde gesagt, ich solle / home umounten, an einem anderen Speicherort bereitstellen und den Inhalt in das Verzeichnis / home auf der / -Partition kopieren.

Sie können Ihr Home-Verzeichnis in einen neuen Ordner verschieben.

usermod -m -d /new_home/your_username your_username

Sie müssen dies allen Ihren Benutzern antun. Danach können Sie problemlos umount / home.

Favadi
quelle
1

es ist gelöst. Ich war wohl nicht richtig angemeldet. Nachdem die Root-Anmeldung in den Sicherheitseinstellungen des Startbildschirms aktiviert wurde, konnte ich / sda5 umounten. montiert / sda5 nach / mnt / home und von dort aus

cp -va /mnt/home/* /home

Größe geändert und alles andere und habe mein / Zuhause jetzt auf der / Partition.

Die Größenänderung musste durch Booten von gparted cdrom erfolgen.

es funktioniert jetzt gut!

DutchArjo
quelle
1

Sie haben zweifellos einige Prozesse, die Dateien in Ihrem Home-Verzeichnis verwenden. Alle Ihre Prozesse haben es wahrscheinlich zum Beispiel als Arbeitsverzeichnis. Ihr Sitzungsmanager meldet sich möglicherweise an ~/.xsession-errorsund so weiter.

Wenn Sie den Umzug bereits durchgeführt haben

Wenn Sie Ihr Home-Verzeichnis in ein anderes Dateisystem verschoben haben, haben Sie die Dateien kopiert und die alten entfernt. Sie können laufende Prozesse jedoch nicht dazu bringen, auf die neuen Dateien umzuschalten (es sei denn, sie verfügen über eine entsprechende Funktion).

Sie müssen sich abmelden und wieder anmelden. Wenn Sie sich jetzt anmelden, verwenden die Prozesse Ihr neues Ausgangsverzeichnis.

Sie können sehen , welche Prozesse sind Ihr altes Home - Verzeichnis noch (oder irgendetwas anderes auf dem Home - Dateisystem) , indem Sie fuser /homeoder lsof /home. Sobald Sie diese Prozesse beendet haben, können Sie die Bereitstellung aufheben /home. Sie können fuser -k /homesie alle töten (überprüfen Sie sorgfältig, was sie sind, bevor Sie dies tun!).

Besserer Weg, um den Umzug zu machen

Im Idealfall sollten Sie Ihr Ausgangsverzeichnis verschieben, während Sie nicht angemeldet sind, da Ihre laufenden Prozesse möglicherweise Daten speichern möchten (z. B. Ihre aktuelle Sitzung speichern) und einige die bereits geöffnete Datei verwenden. Sie können den Umzug durchführen, indem Sie sich an einer Textkonsole anmelden ( Ctrl+ Alt+ F1) und sich als root anmelden (stellen Sie sicher, dass Sie ein root-Passwort konfiguriert haben). Verschieben Sie den Inhalt von /homein ein neues Verzeichnis, heben Sie die Bereitstellung des leeren Dateisystems auf und verschieben Sie die Verzeichnisse:

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

Oder Sie können die /homeMontierung verschieben:

mkdir /home.old
mount --move /home /home.old
mv /home.old/* /home/
umount /home.old
rmdir /home.old
Gilles 'SO - hör auf böse zu sein'
quelle