Wie werden Benutzereinstellungen und Daten auf einen neuen Computer migriert?

52

Ich bin neu in Ubuntu und habe vor kurzem damit begonnen, es auf meinem PC zu verwenden. Ich werde diesen PC durch eine neue Maschine ersetzen. Ich möchte meine Daten und Einstellungen auf das Nettop übertragen. Welche Aspekte sollte ich beachten?

Natürlich möchte ich meine Daten verschieben. Was fehle ich, wenn ich nur den gesamten privaten Ordner kopiere?

Dies ist ein Heimcomputer (nicht für Unternehmen), sodass Benutzerrechte und andere Sicherheitsprobleme kein Problem darstellen, mit der Ausnahme, dass die Dateien auf dem neuen Computer verfügbar sein sollten!

Bitte beachten Sie, dass der neue Computer ein Nettop ohne optisches Laufwerk ist und es mir nicht erlaubt, die alte SATA - Festplatte einzubinden. Daher muss jede Datenübertragung über das Heimnetzwerk erfolgen (ich kann beides haben) alte und neue Maschine eingeschaltet und mit dem Heim-LAN verbunden) und ich habe einen USB-Stick mit begrenzter Kapazität (2 GB).
Das klingt wie es die allgemeine Anwendbarkeit beschränken könnte, aber es wäre es in der Tat macht mehr allgemein.

Torben Gundtofte-Bruun
quelle

Antworten:

43

Benutzereinstellungen werden standardmäßig im Basisordner gespeichert. Also, wenn Sie Ihre /home/your-usernameauf Ihren neuen Computer kopieren , sollte es Ihnen gut gehen ...

... aber es gibt Vorbehalte:

  • Berechtigungen. Es ist üblich, dass "Programme" (Shellscripts, benutzerdefinierte Build-Programme) in den Basisordner gestellt werden. Verwenden Sie den --preserve=modeSchalter (using cp) oder -p(using tar) , um die Berechtigungen beizubehalten.
  • UserID / GroupID. Auch wenn die Benutzernamen auf beiden Systemen gleich sind, muss die Benutzer-ID nicht. Normalerweise ist dies kein Problem. Wenn Sie jedoch Skripte / Programme / Einstellungen verwenden, die die Benutzer-ID weiterleiten, sollten Sie sicherstellen, dass die Benutzer-ID und die Gruppen-ID auf dem Zielsystem identisch sind.
    Sie können die aktuelle Benutzer-ID und Gruppen-ID durch Ausführen von ermitteln id. Führen Sie beispielsweise Folgendes aus, um die Benutzer-ID des Benutzers "Ihr-Benutzername" zu ändern sudo usermod --uid 1234 your-username. Um die groupID zu ändern, müssen Sie ausführen sudo groupmod --gid 1234 your-username.

Einstellungen (Firefox-Profil, Erscheinungsbild, ...) werden häufig in versteckten Ordnern (oder Dateien) gespeichert. Versteckten Ordnern / Dateien wird wie .mozillain Firefox (und anderen Mozilla-Anwendungen) ein Punkt vorangestellt .

Da die Sicherheit kein Problem darstellt und Sie möchten, dass der Kopiervorgang so schnell wie möglich ausgeführt wird, empfehle ich eine Kombination der Programme netcat und tar. Beide Anwendungen werden standardmäßig installiert. Stellen Sie sicher, dass die Firewalls auf beiden Computern eingehenden Zugriff auf Zielport 8888 (Quellcomputer) und ausgehenden Zugriff auf Zielport 8888 (Zielcomputer) ermöglichen. Stellen Sie den Nettop neben den Computer, damit Sie die Befehle schnell ausführen können.

Auf dem Quellcomputer muss das traditionelle Netcat-Programm (auch bekannt als Swiss Army Knife, nicht das BSD-Programm) installiert sein. Installieren Sie dazu das netcat-traditionalPaket. Möglicherweise möchten Sie auch das traditionelle netcat-Programm als Standard konfigurieren. Befehle, um netcat-traditional zu installieren und als Standard zu verwenden:

sudo apt-get install netcat-traditional 
sudo update-alternatives --set nc /bin/nc.traditional

Geben Sie auf dem Quellcomputer den nächsten Befehl in ein Terminal ein (drücken Sie noch nicht die Eingabetaste):

 tar cz -C/home $(whoami) | nc -l -p 8888 -w 10

Erläuterung:

  • tar ist ein Dienstprogramm zum Packen von Dateien
  • cz c erstellt eine solche gepackte Datei ("tarball")
  • Der Tarball wird mit dem G Z ip-Algorithmus komprimiert , um die Dateigröße zu verringern.
  • -C/home $(whoami)ändert das Arbeitsverzeichnis in /homeund legt Ihren Benutzernamenordner ab. Alternativ können Sie Ihren your-usernameOrdner im Tarball eingeben
  • nc (netcat) dient zum einfachen Einrichten von Verbindungen zwischen Maschinen
  • -l: Mithörmodus: Ermöglicht anderen Computern, eine Verbindung zum aktuellen Computer herzustellen
  • -p 8888: Lauscht auf Port 8888 (zufällig gewählte Nummer, es könnte auch eine andere Nummer höher als 1024 sein)
  • -w 10: Netcat nach 10 Sekunden Stille beenden. Sie müssen innerhalb dieser Zeit eine Verbindung zu diesem Quellcomputer herstellen.

Gehen Sie nun zum Zielcomputer (nettop). Geben Sie Folgendes ein, um die Dateien zum Zielcomputer hinzuzufügen (führen Sie sie noch nicht aus):

nc 192.168.1.2 8888|tar xzp -C/home
  • 192.168.1.2ist die IP-Adresse des Quellcomputers. Führen Sie Folgendes aus, um die IP-Adresse abzurufen: ifconfigauf dem Quellcomputer
  • 8888 ist die auf dem Quellcomputer eingegebene Portnummer
  • xzp: e x Traktiert den G Z ip-komprimierten Tarball, während p Berechtigungen reserviert werden.
  • -C/home: extrahiert den your-usernameOrdner nach/home/your-username
  • Optional können Sie den -vSchalter zum Befehl tar für die ausführliche Extraktion hinzufügen , um eine Vorstellung vom Fortschritt zu erhalten. Dies kann den Kopiervorgang verlangsamen, da jede Datei gedruckt werden muss.

Gehen Sie nun zum Quellcomputer und drücken Sie die Eingabetaste, um den Serverbefehl auszuführen. Wechseln Sie schnell zu Ihrem Nettop und drücken Sie die Eingabetaste, um den Clientbefehl auszuführen.

Wenn Sie Fragen haben, verwenden Sie einfach das Kommentarfeld unten.

Lekensteyn
quelle
1
Absolut exzellenter Überblick! Vielen Dank auch für die ausführliche Erklärung der Befehle. Da ich nur einen Monitor habe, möchte ich beide Computer nebeneinander einrichten und eine Art VNC verwenden, um auf den alten Computer zuzugreifen. Ich bin sicher, ich kann schnell einen tollen Leitfaden für Dummies googeln - aber können Sie vielleicht einen empfehlen?
Torben Gundtofte-Bruun
Ich habe kein anderes VNC als die mitgelieferte Anwendung mit Kubuntu (Krdc) verwendet. Wenn Sie keine grafische Benutzeroberfläche benötigen (wie dieser Kopiervorgang), müssen Sie nur installieren, openssh-serverund Sie können eine Verbindung mit Ihrem Computer herstellen, indem Sie ausführen ssh [email protected]. Für den Fernzugriff auf die Benutzeroberfläche verwende ich VNC nicht, da es selbst über ein (drahtloses) Netzwerk sehr langsam ist. Ich empfehle X2go für die Remote- GUI- Steuerung ( Installationsanleitung ).
Lekensteyn
Der Quellcomputer sagt mir: "Dies ist nc aus dem netcat-openbsd-Paket. Eine alternative nc ist im netcat-traditional-Paket verfügbar. Verwendung: nc [-46DdhklnrStUuvzC] [-i Intervall] [-P Proxy-Benutzername] [-p Quellport ] [-s Quell_IP_Adresse] [-T ToS] [-w Zeitüberschreitung] [-X Proxy_Protokoll] [-x Proxy_Adresse [: Port]] [Hostname] [Port [s]] ", die Terminal-Eingabeaufforderung ist wieder sichtbar, und die Zielmaschine bekommt nichts. Mache ich etwas falsch?
Daniel
@ Daniel: Das einzige, was du falsch machst, ist, deine Frage als Kommentar zu posten. Öffne eine neue Frage und verlinke sie.
Torben Gundtofte-Bruun
Hallo @Lekensteyn, ich bekomme viele "Kann nicht öffnen" und "Kann nicht mkdir: keine solche Datei oder Verzeichnis" ... Gilt das gleiche, wenn ich versuche, das auf einer VM (als Gast) zu tun?
George Katsanos
16

Für die Softwarepakete sollten Sie Folgendes lesen: http://www.omgubuntu.co.uk/2010/05/transfer-your-packages-to-a-clean-install/

oldmachine$ sudo dpkg --get-selections > installedsoftware
newmachine$ sudo dpkg --set-selections < installedsoftware
newmachine$ sudo apt-get --show-upgraded dselect-upgrade

Bei den Einstellungen und Daten ist es etwas komplizierter :-( Die meisten Einstellungen werden in Ihrem Home-Ordner gespeichert, so dass ein Backup Ihres HOME möglicherweise den Trick macht ... Aber dann wird das System natürlich nicht abgedeckt Apps, deren Konfiguration in / etc ... gespeichert ist

Kleiner Jawa
quelle
newmachine$ sudo apt-get --show-upgraded dselect-upgradegibt den FehlerE: Command line option --show-upgrade is not understood
Frepie
12

Die meisten Einstellungen für Anwendungen befinden sich standardmäßig in Ihrem privaten Ordner. Wenn Sie Ctrl+hin Nautilus drücken , werden diese Ordner angezeigt. Ich habe festgestellt, dass es am einfachsten ist, die Ordner, die Sie für die Konfigurationen benötigen, einfach zu synchronisieren. Etwas wie das:

rsync -avz me@remote:/home/me/.foo me@remote:/home/me/.var me@remote:/home/me/.ack me@remote:/home/me/.bar /home/me/

Sie können auch - einfach Ihren gesamten Home-Ordner mit dem neuen Computer synchronisieren -, dies kann jedoch abhängig von Ihren Einstellungen zu Problemen führen.

Marco Ceppi
quelle
12

Ubuntu-Entwickler arbeiten daran, es heißt OneConf .

akshatj
quelle
Oh, das stimmt - das hatte ich vergessen. Hier ist ein Link: omgubuntu.co.uk/2010/06/oneconf-to-reinstall-applications.html
Eugenemarshall
Es ist heute gelandet, aber es gibt nicht viel zu entdecken.
Akshatj
1
sieht immer noch aus wie in Arbeit. Ist dieses Paket ausgereift?
Lenzai
2
Letzte Aktualisierung 2015 laut code.launchpad.net/oneconf, also kein aktives Projekt mehr
Greg Bray
8

Wenn Sie eine Installation auf einem Computer haben, die Ihnen gefällt, können Sie sie einfach klonen. Es spielt keine Rolle, ob die Computer unterschiedliche Hardware haben, solange sie dieselbe Architektur ausführen (32-Bit oder 64-Bit, dh i386 oder amd64 oder ...).

Hier ist ein Weg, um es zu tun. Es ist ein bisschen lang, aber ziemlich technisch. Viele Variationen sind möglich.

  1. Schließen Sie die Festplatte des neuen Computers an den vorhandenen Computer an (oder umgekehrt).
  2. Booten Sie von der vorhandenen Installation.
  3. Richten Sie die neue Festplatte ein :
    • Wenn die Festplatten dieselbe Größe haben: Starten Sie das Partitionstool (System / Administration / GParted, Paket gparted) und kopieren Sie die gesamte alte Festplatte auf die neue Festplatte.
      • Sie sollten den Kopien des Dateisystems neue eindeutige Bezeichner geben, um Verwechslungen zu vermeiden, wenn Sie die Festplatte eines Computers später auf dem anderen Computer einbinden. Verwenden Sie für das Dateisystem ext2 / ext3 / ext4 einen Befehl, sudo tune2fs -U $(uuidgen) /dev/sdz1bei dem sdzes sich um die neue Festplatte und 1die Partitionsnummer handelt.
      • Wenn Sie Ihren Volumes Namen zugewiesen haben, möchten Sie möglicherweise andere Namen zuweisen.
    • Andernfalls richten Sie Partitionen auf der neuen Festplatte mit GParted oder System / Administration / Festplatten-Dienstprogramm ein und formatieren Sie sie. Wenn Sie Partitionen mit derselben Größe auf beiden Festplatten haben, können Sie diese in GParted kopieren.
  4. Hängen Sie die Root-Partition der neuen Installation ein, die nun unter Places angezeigt werden soll.
  5. (Überspringen Sie diesen Schritt , wenn Sie die gesamte Festplatte kopiert haben.) Kopieren Sie die Daten aus der alten Installation Root - Partition auf die neue jemandes. Beachten Sie, dass es wichtig ist, die Berechtigungen und den Dateibesitz in diesem Schritt beizubehalten. Dies bedeutet, dass Sie dies als Superuser (Root) tun müssen. Ich weiß nicht, wie Ubuntu damit umgeht. Führen Sie in der Befehlszeile Folgendes aus sudo cp -ax / /media/disk9(ersetzen Sie es /media/disk9durch den Speicherort, an dem die neue Root-Partition bereitgestellt ist).
  6. Wiederholen Sie die vorherigen beiden Schritte für jede andere Partition, die Sie möglicherweise haben (z. B. eine separate Ausgangspartition), es sei denn, Sie haben diese Partition (oder die Festplatte) in Schritt 3 als Ganzes kopiert.
  7. Optimieren Sie die neue Installation (vorausgesetzt, sie ist gemountet bei /media/disk9; adjust as needed):
    • Bearbeiten , um den Namen des neuen Computers festzulegen. Überprüfen Sie die Dateien unter für andere Vorkommen des Host - Namen - es könnte in erscheinen , usw./media/disk9/etc/hostname/media/disk9/etc//media/disk9/etc/hosts/media/disk9/etc/mailname
    • Wenn Sie einen SSH-Server ausführen , entfernen Sie /media/disk9/etc/ssh/ssh_host_*_key*. Der Server generiert neue Schlüssel, wenn Sie die neue Installation starten.
    • Wenn Sie das Netzwerk durch Bearbeiten konfiguriert haben /etc/network/interfaces, bearbeiten Sie es /media/disk9/etc/network/interfacesfür die neue Installation.
    • Optional entfernen Sie die Dateien , /etc/udev/rules.d/70-persistent-*.rulesfalls vorhanden, so dass Ihre Festplatten und Netzwerkschnittstellen die gleichen Namen (Wiederverwendung sda, eth0...) auf die neue Maschine.
    • Wenn Sie proprietäre Grafiktreiber (ATI oder Nvidia) verwenden und der neue Computer nicht denselben Treiber verwenden sollte, wechseln Sie /media/disk9/etc/X11/xorg.confzu /media/disk9/etc/X11/xorg.conf.old-machine, da Sie sonst möglicherweise nicht über eine GUI auf dem neuen Computer booten können.
  8. Verschieben Sie den Datenträger mit der neuen Installation zurück auf den richtigen Computer.
  9. Wenn Sie die Festplatte nicht als Ganzes geklont haben, legen Sie eine Live-CD / USB ein und reparieren Sie den Bootloader .
  10. Booten Sie von der neuen Installation und führen Sie alle erforderlichen verbleibenden Übergangsschritte aus:
    • Möglicherweise müssen Sie neue proprietäre Treiber installieren (System / Administration / Hardwaretreiber).
    • Wenn Sie über Network Manager eine statische IP-Adresse eingerichtet hatten, richten Sie das Netzwerk für den neuen Computer ein.
    • Wenn Sie einen SSH-Server ausführen, führen Sie diesen aus dpkg-reconfigure openssh-server, um einen neuen Hostschlüssel zu generieren.
Gilles 'SO - hör auf böse zu sein'
quelle
Hallo von 2013 :) Bist du sicher, dass unterschiedliche Hardware nicht wichtig ist? Auch wenn ich von einem chinesischen Laptop auf Mac Air umsteige?
Scythargon
@scythargon Solange es sich um denselben CPU-Typ handelt (in beiden Fällen x86), gibt es keinen großen Unterschied, nur einige Treiber, die installiert werden müssen, und die Konfigurationsdateien, die ich erwähne. Im Gegensatz zu Windows konzentriert Linux seine Hardware-Abhängigkeiten auf einige leicht zu identifizierende Dateien.
Gilles 'SO- hör auf, böse zu sein'
1
Sie können sich diese (ähnliche) Anleitung ansehen, die
Marc M
Danke für die Zusammenfassung. Ich würde es lieben, wenn Sie die Entfernung hinzufügen könnten, bei /etc/udev/rules.d/70-persistent-net.rulesder es sich um eine automatisch generierte Datei von udev handelt. Sie wird verwendet, um zu gewährleisten, dass neue Netzwerkgeräte nicht denselben Namen wie zuvor installiert erhalten.
TVN
@tvn Sie müssen diese Datei nicht wirklich entfernen. Es wird verhindern, dass dieselben Schnittstellen- / Datenträgernamen wiederverwendet werden, aber das ist nicht unbedingt eine schlechte Sache.
Gilles 'SO- hör auf böse zu sein'
6

Alle Ihre Daten und Einstellungen sind live bei Ihnen zu Hause.

Wenn Sie es nur kopieren, verlieren Sie:

  • Installierte Programme. Aber siehe Sabacon Antwort auf diese Frage .
  • Systemweite Konfigurationen in einem Heimcomputer sind normalerweise nur zusätzliche PPAs.
  • Systemweite Programmdaten (normalerweise Daemons) (wie MySQL-Datenbanken).

Ich bin der Meinung, dass der einfachste Weg, eine Netzwerkkopie zu erstellen, der folgende ist:

  • Installieren Sie OpenSSH Server Laden Sie Gwibber herunter auf dem alten Computer.
  • Stellen Sie sicher, dass beide Computer mit dem Netz verbunden sind.
  • Öffnen Sie Nautilus (den Dateibrowser) auf dem neuen Computer.
  • Aktivieren Sie im Menü "Ansicht" die Option "Versteckte Dateien anzeigen".
  • Drücken Sie STRG + L in der Adressleiste ssh://ip-of-old-computer/home/
  • Sie sollten nach Ihrem Benutzernamen und Passwort auf dem alten Computer gefragt werden.
  • Kopieren Sie alles, was Sie wollen, über die GUI.

Bildbeschreibung hier eingeben

Javier Rivera
quelle
4

Dropbox.

Auf diese Weise sichere ich meine Einstellungen von einem Computer auf einen anderen, und wenn ich meine Festplatte vollständig verliere, spielt es keine Rolle.

Dropbox ist ein Online-Backup- / Synchronisationsdienst, der große Beute macht und kostenlos erhältlich ist. Es ist unter Ubuntu Karmic und in den Partner-Repositories verfügbar. Sie suchen ein Paket namens Nautilus-Dropbox. Sie können es auch einfach von der folgenden Website herunterladen: https://www.dropbox.com/downloading?os=lnx

Wie oben erwähnt, werden die meisten Ihrer relevanten Einstellungen unter gespeichert /home/yourname/.whatever

Zum Beispiel werden die Konfigurationseinstellungen von Gnomen unter gespeichert

/home/username/.gnome2

So führen Sie die Synchronisierung durch:

Erster Teil: Konfigurationseinstellungen in Dropbox sichern. (Dies ist alles auf der "alten" Maschine, wo Sie Ihre Einstellungen / Konfiguration haben, wie Sie sie wollen.)

  1. Gehen Sie in Ihr Home-Verzeichnis und suchen Sie so viele "Punktedateien" und Verzeichnisse wie möglich. Fast alle davon sind für die persönlichen Konfigurationseinstellungen relevant. (Drücken Sie Strg + H in Nautilus, um versteckte Dateien anzuzeigen.)
  2. Sie möchten diese Konfigurationsdateien in Ihren Dropbox-Ordner kopieren. MACHEN SIE EIN BACKUP, WENN SIE IHNEN VERLIEREN MÖCHTEN.
  3. Entfernen Sie die Originaldateien aus Ihrem Ausgangsverzeichnis und erstellen Sie eine Verknüpfung von der Datei in ihrem neuen Ausgangsverzeichnis (unter Ihrem Dropbox-Ordner) zum Ausgangsverzeichnis. Sie können dies tun, indem Sie die Datei / den Ordner mit gedrückter "Alt" -Taste in Ihr Home-Verzeichnis ziehen und "Verknüpfung erstellen" auswählen.

Teil zwei: (Auf neuem Computer.) Erstellen Sie Links aus Dropbox-synchronisierten Konfigurationseinstellungen.

  1. Auf Ihrer "neuen" Maschine, dh. Wenn Sie Ubuntu neu installieren, löschen ( UND SICHERN, WENN ERFORDERLICH ), installieren Sie Ihre alten Konfigurationsdateien für das Basisverzeichnis . Installieren Sie Dropbox auf dem neuen Computer. Erlaube es zu synchronisieren, lade AKA deine alten Maschineneinstellungen herunter.
  2. Wiederholen Sie Schritt 3 oben auf einem neuen Computer - kopieren Sie Links aus Dropbox-synchronisierten Ordnern in das Basisverzeichnis.

Voila. Sie haben jetzt die Möglichkeit, Einstellungen über das Internet zu sichern und zu migrieren.

emf
quelle
2

Schauen Sie sich Stipple an, sieht für mich interessant aus:

"Speichern Sie eine Liste der installierten Anwendungen, .config-Dateien und anderer Einstellungen in einer couchDB. Synchronisieren Sie diese Datenbank mit Ubuntu One mit anderen Computern. Diese Anwendung unterstützt Sie auch bei der Installation dieser Pakete und .config-Dateien auf Ihren anderen Computern."

https://launchpad.net/stipple

Sabacon
quelle
Ubuntu One wäre keine Option mehr, da der Dienst heruntergefahren wurde.
Tomislav Nakic-Alfirevic
0

Mackup kann viele Apps in die Cloud oder zur Versionskontrolle sichern. Es ist einfach zu erweitern, zum Beispiel sieht das ssh-Plugin so aus

Ivotron
quelle