Wie kann ich meine Linux-Umgebung duplizieren, wenn ich auf eine andere Hardware migriere?

10

Ich habe derzeit Pakete, Module, Einstellungen usw. für Eclipse, MySQL, Python, Firefox usw. auf Kubuntu eingerichtet. Ich habe Kubuntu auch für meine Bedürfnisse optimal konfiguriert. Ich möchte meine Umgebung auf einem anderen Computer mit einem anderen Prozessor duplizieren (derzeit auf einem Intel Q9450, der neue Prozessor ist ein i7). Soweit ich weiß, sind meine Anwendungen für die Verwendung mit meinem speziellen Prozessor kompiliert, sodass das Erstellen einer direkten Partitionskopie nicht in Frage kommt.

Gibt es eine Möglichkeit, meine Umgebung auf diesem anderen Computer zu duplizieren, ohne alles neu zu installieren und zu konfigurieren?

neugierig
quelle
Diese Frage ist unglaublich für mich ... ich habe dasselbe gefragt!
dag729
"Soweit ich weiß, sind meine Anwendungen für die Verwendung mit meinem speziellen Prozessor kompiliert.": Woher kam diese Idee? Ich kenne keine Distribution (außer natürlich Gentoo), die das macht.
Sleske
@sleske: Haben Sie jemals versucht, ein amd64-Paket auf einer ppc-Version von Debian zu installieren? ;)
dag729
1
@ dag729: Natürlich, wenn Sie Prozessor ändern Architektur , werden Sie neue Pakete benötigen. Intel Q9450 und i7 sind jedoch beide x86-Prozessoren.
sleske
1
Ich dachte mein i7 wäre x86_64. Auf diesem Computer werden 64-Bit-Anwendungen ausgeführt. Irre ich mich
neugierig

Antworten:

3

Soweit ich weiß, sind meine Anwendungen für die Verwendung mit meinem speziellen Prozessor kompiliert, sodass das Erstellen einer direkten Partitionskopie nicht in Frage kommt.

Was führt Sie zu dieser Schlussfolgerung? Zumindest für x86 sind die von Kubuntu installierten Pakete so kompiliert, dass sie auf praktisch allen nicht-prähistorischen CPUs ausgeführt werden können. Ich glaube, dass sie auf etwas neuerem als einem 486 laufen werden, was in Ihrem Fall wahrscheinlich kein Problem darstellt :-).

Eine gerade Partitionskopie sollte also einwandfrei funktionieren:

  • Partitionen kopieren (oder einfach die Dateien mit kopieren cp -a, wenn sich das Partitionslayout geändert hat)
  • Passen Sie / etc / fstab an das neue Partitionslayout an
  • Konfigurieren Sie den Bootloader für neue Partitionen neu und installieren Sie den Bootloader neu
  • booten & genießen

Probleme sind nur zu erwarten für:

  • Selbst kompilierte Pakete, aber selbst dort werden die meisten standardmäßig für alle modernen CPUs kompiliert, es sei denn, Sie spielen mit Compiler-Optionen
  • Gerätetreiber

Die meisten modernen Kernel erkennen HW beim Booten automatisch, daher sollten in der Regel auch Treiber in Ordnung sein. Wenn jedoch Probleme auftreten, können Sie in der Regel im Einzelbenutzermodus booten und Treiberprobleme beheben.

sleske
quelle
Wenn das funktioniert, wird mein Leben viel einfacher. Vielen Dank! Ich werde dies zuerst versuchen.
neugierig
7

Sie können Ihr Home-Verzeichnis ohne Änderungen übernehmen. Fast alles, was in ein Home-Verzeichnis kommt, ist so konzipiert, dass es über so etwas wie NFS gemeinsam genutzt werden kann. Sie sind also gut.

Speichern Sie auch Ihre Paketauswahl mit

sudo dpkg --get-selections '*' >file.txt

und stelle es auf dem anderen Rechner mit wieder her

sudo dpkg --set-selections <file.txt

Ebenso speichern Sie Ihre Debconf-Einstellungen mit

sudo debconf-get-selections >file2.txt

und wiederherstellen mit

sudo debconf-set-selections <file2.txt

Für den Rest der Konfiguration /etc, die nicht von debconf verwaltet wird, ist es schwierig zu verfolgen, was manuell geändert wurde, es sei denn, Sie haben so etwas wie etckeeper verwendet (vielleicht eine Idee für die Zukunft). Aus diesem Grund behalte ich den größten Teil meiner Konfiguration in meinem Home-Verzeichnis. Da Sie jedoch wissen, an welchen Programmen Sie interessiert sind, sollte es einfach sein, die entsprechenden Dateien zu finden /etcund sie manuell zu überprüfen und zu kopieren.

Peter Eisentraut
quelle
1
Ja, wenn Sie auf eine andere Architektur migrieren, ist dies der richtige Weg. Als Randnotiz: Machen Sie einfach eine Kopie von / etc / irgendwo sicher, dann können Sie Konfigurationsdateien selektiv wiederherstellen, wenn Sie sie auf dem neuen System benötigen.
Sleske
1

Sie können Ihr Zuhause sichern und es auf dem anderen Computer wiederherstellen. Dies kann Ihre Anforderungen nicht vollständig erfüllen, stellt jedoch die gesamte Konfiguration wieder her. Sie müssen die Pakete jedoch selbst neu installieren.

phunehehe
quelle
1

Die meisten benutzerdefinierten Konfigurationen befinden sich in / home /, die meisten anderen in / etc /. Einige der / etc-Dateien enthalten maschinen- oder hardwarespezifische Informationen (/etc/X11/xorg.conf, /etc/hostname, /etc/fstab), aber ein Großteil davon kann nur kopiert werden, wenn Sie dies wünschen werden die gleiche Betriebssystemversion verwenden.

Justin Smith
quelle
Von den Dingen, die Sie aufgelistet haben, ist MySQL das einzige, das wahrscheinlich eine Konfiguration in / etc / hat, die Sie vielleicht kopieren möchten, der Rest ist in / home /
Justin Smith
1

Stellen Sie die Auswahl ein.

Um genau zu wissen, welche Conffiles geändert wurden, führen Sie Folgendes aus:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  [[ -r $f ]] || continue; m2=$(md5sum "$f") ;
  [[ $m2 != "$m  $f" ]] && echo "$f";
done |xargs -n1 dlocate  |tee ~/edited-conffiles

Wenn Sie dlocate noch nicht installiert haben, können Sie es durch ein anderes ersetzen dpkg -Soder dieses Teil überspringen.

So sichern Sie alle Conffiles:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -
Tobu
quelle
1

Hmm. Wenn es Ihnen nichts ausmacht, können Sie die neue Festplatte in Ihre Box einstecken, sie einhängen und dann dd verwenden. Wenn Ihr aktuelles Stammverzeichnis beispielsweise auf / dev / sda3 festgelegt ist und Sie die neue Festplatte in / dev / sdb2 eingebunden haben, würden Sie sie verwenden

dd if=/dev/sda3 of=/dev/sdb2

Das musst du natürlich als root machen. Danach wollen Sie Grub installieren, also müssen Sie eine Ubuntu LiveCD einlegen und diese verwenden.

Oder schauen Sie sich diesen Link an: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - Es sieht nach einem ziemlich guten Durchgang zum Klonen einer Linux-Festplatte aus, obwohl ich es nicht getan habe habe diese Seite selbst getestet.

user26528
quelle