32 to 64 bit Migration

From Linuxwiki
Revision as of 21:58, 8 April 2015 by Sunflower (talk | contribs) (Die Seite wurde neu angelegt: „Achtung, tricky! Nur für erfahrene Benutzer! == Voraussetzungen == * Grundverständnis von apt und dpkg * Fähigkeit, Partitionen wegzusichern und geg.falls …“)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Achtung, tricky! Nur für erfahrene Benutzer!

Voraussetzungen

  • Grundverständnis von apt und dpkg
  • Fähigkeit, Partitionen wegzusichern und geg.falls auch wieder (z.B. per Live-CD) herzustellen
  • 64b live/rescue CD (muss auch unter 64b System erstellt werden)
  • Wegsichern der /, /usr, /var... u. weiterer relevanter Partitionen (idealerweise auf eine 2. HDD gleicher Partitionierung)

Achtung, multiar(s)ch funktioniert nicht, folgende Tutorials enden in Chaos und Verwüstung:

Zeitaufwand

Wenn noch nie gemacht, geschätzt 1-2 Tage (incl. Restoredauer bei Fehlversuchen)

Vorgehen

  • Als erstes einen 64bit Kernel installieren und rebooten!
  • Den alten Kernel mindestens so lange behalten, bis das neue System erfolgreich gebootet hat
  • Wenn erfolgreich, ist das ein guter Moment, das bestehende System zu sichern

Das weitere Vorgehen richtet sich nach der Anleitung unter https://wiki.debian.org/Migrate32To64Bit. Hierzu ein paar Anmerkungen:

  • Achtung Debian-CD im rescue mode: Das System will eine /-partition. Hier nicht die aktuelle verwenden (da diese ja gemountet werden soll -> mount-inception!), sondern z.B. die vorher weggesicherte /-Partition auf der 2. HDD
  • Das Verwenden der live-CD selbst als /-Umgebung ist schlecht, weil hier das cpio Command fehlt.
  • Diesen Teil evtl. ausdrucken oder abschreiben, da während reboot mit live-CD nicht verfügbar
# mkdir /main
# mount /dev/sda2 /main

(oder wo sich auch immer die /-Partition befindet)

# ls /main
(# mount /dev/sda5 /main/var

(falls nicht eh alles unter / gemountet ist))

# cd /main/chroot64
# cpio -pVdu /main < /main/root/bins.txt

Außerdem müssen Symlinks in lib64 (passend zum Minisystem) von Hand hergestellt werden, z.B.:

# cd /main/lib64
# ln -s /lib/86_64-linux-gnu/ld-2.13.so ld-linux-x86-64.so.2

(muss man von Hand tippen; den Pfad gibt's nicht auf dem Livesystem)

# cd
# umount /main/var
# umount /main
# reboot

Nach dem "apt-get install -f" in der Anleitung noch ausführen:

# apt-get update
# apt-get dist-upgrade
  • Folgender Fehler
dpkg: error processing /var/cache/apt/archives/linux-libc-dev_3.2.65-1+deb7u2_amd64.deb (--unpack):
trying to overwrite shared '/usr/include/sound/sb16_csp.h', which is different from other instances of package linux-libc-dev:amd64
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
  • Am Ende noch ein
# update-grub

ausführen




Quelle

https://wiki.debian.org/Migrate32To64Bit