<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://kb.pocnet.net/index.php?action=history&amp;feed=atom&amp;title=Debian-Squeeze-Migration_32-_nach_64-Bit</id>
	<title>Debian-Squeeze-Migration 32- nach 64-Bit - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://kb.pocnet.net/index.php?action=history&amp;feed=atom&amp;title=Debian-Squeeze-Migration_32-_nach_64-Bit"/>
	<link rel="alternate" type="text/html" href="https://kb.pocnet.net/index.php?title=Debian-Squeeze-Migration_32-_nach_64-Bit&amp;action=history"/>
	<updated>2026-04-17T02:18:38Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Knowledgebase</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kb.pocnet.net/index.php?title=Debian-Squeeze-Migration_32-_nach_64-Bit&amp;diff=2902&amp;oldid=prev</id>
		<title>PoC: /* Installation von Apache2/kbd schlägt fehl */ Typo</title>
		<link rel="alternate" type="text/html" href="https://kb.pocnet.net/index.php?title=Debian-Squeeze-Migration_32-_nach_64-Bit&amp;diff=2902&amp;oldid=prev"/>
		<updated>2022-11-12T23:09:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Installation von Apache2/kbd schlägt fehl: &lt;/span&gt; Typo&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 13. November 2022, 01:09 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l157&quot;&gt;Zeile 157:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 157:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Installation von Apache2/kbd schlägt fehl ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Installation von Apache2/kbd schlägt fehl ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die sehr unübersichtliche Ausgabe zeigt gleich zwei Fehler:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die sehr unübersichtliche Ausgabe zeigt gleich zwei Fehler:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;Apache2&#039; kann nicht installiert werden, weil Apt sich nicht klar ist, ob nun &#039;&#039;mpm-worker&#039;&#039; oder &#039;&#039;mpm-prefork&#039;&#039; benutzt werden soll,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;Apache2&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;&#039; kann nicht installiert werden, weil Apt sich nicht klar ist, ob nun &#039;&#039;mpm-worker&#039;&#039; oder &#039;&#039;mpm-prefork&#039;&#039; benutzt werden soll,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Die Konsole-Tools können nicht installiert werden, weil Apt sich nicht klar ist, ob nun &amp;#039;&amp;#039;kbd&amp;#039;&amp;#039; oder die &amp;#039;&amp;#039;console-tools&amp;#039;&amp;#039; installiert werden sollen. Letzteres kann Apt nicht auflösen, weil keine &amp;#039;&amp;#039;libconsole&amp;#039;&amp;#039; installiert werden soll. Abhilfe mit:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Die Konsole-Tools können nicht installiert werden, weil Apt sich nicht klar ist, ob nun &amp;#039;&amp;#039;kbd&amp;#039;&amp;#039; oder die &amp;#039;&amp;#039;console-tools&amp;#039;&amp;#039; installiert werden sollen. Letzteres kann Apt nicht auflösen, weil keine &amp;#039;&amp;#039;libconsole&amp;#039;&amp;#039; installiert werden soll. Abhilfe mit:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  apt-get install apache2-mpm-prefork console-tools libconsole&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  apt-get install apache2-mpm-prefork console-tools libconsole&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kbwiki:diff:1.41:old-1694:rev-2902:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PoC</name></author>
	</entry>
	<entry>
		<id>https://kb.pocnet.net/index.php?title=Debian-Squeeze-Migration_32-_nach_64-Bit&amp;diff=1694&amp;oldid=prev</id>
		<title>PoC: PoC verschob die Seite Debian-Migration 32- nach 64-Bit nach Debian-Squeeze-Migration 32- nach 64-Bit: Bald kommt neuer Artikel für Jessie</title>
		<link rel="alternate" type="text/html" href="https://kb.pocnet.net/index.php?title=Debian-Squeeze-Migration_32-_nach_64-Bit&amp;diff=1694&amp;oldid=prev"/>
		<updated>2015-08-09T19:39:48Z</updated>

		<summary type="html">&lt;p&gt;PoC verschob die Seite &lt;a href=&quot;/wiki/Debian-Migration_32-_nach_64-Bit&quot; class=&quot;mw-redirect&quot; title=&quot;Debian-Migration 32- nach 64-Bit&quot;&gt;Debian-Migration 32- nach 64-Bit&lt;/a&gt; nach &lt;a href=&quot;/wiki/Debian-Squeeze-Migration_32-_nach_64-Bit&quot; title=&quot;Debian-Squeeze-Migration 32- nach 64-Bit&quot;&gt;Debian-Squeeze-Migration 32- nach 64-Bit&lt;/a&gt;: Bald kommt neuer Artikel für Jessie&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das Debian-Paketsystem kennt bis maximal Version 6 (Squeeze) keinen Weg zu einer sauberen Architekturmigration einer bestehenden Installation. Nichts anderes ist ist eine Umstellung von i386 auf amd64. Ab Debian 7 (Wheezy) kennt das Paketsystem die Möglichkeit verschiedener Architekturen auf einem System zu beherbergen. Beizeiten gibt es dann auch eine entsprechende Aktualisierung dieses Artikels. Deutlich: &amp;#039;&amp;#039;&amp;#039;Nicht mit Debian 7 oder neuer versuchen, dort sind die Vorgehensweisen anders!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Das hier vorgestellte Prinzip ist einfach, aber nicht unbedingt schön:&lt;br /&gt;
* Installation eines 64-Bit-Kernels,&lt;br /&gt;
* Erstellen eines minimalen 64-Bit-chroot-Systems,&lt;br /&gt;
* Überschreiben der zentralen Binärdateien mittels dieses Minisystems,&lt;br /&gt;
* Reinstallation aller installierten Pakete mit der zugehörigen 64-Bit-Variante.&lt;br /&gt;
&lt;br /&gt;
Eine Neuinstallation ist andererseits recht aufwendig, wenn diese umfangreiche Konfigurationsanpassungen, Benutzer, usw. durchlebt hat.&lt;br /&gt;
&lt;br /&gt;
Dieses Upgrade setzt Kenntnisse mit &amp;#039;&amp;#039;apt-get&amp;#039;&amp;#039;, &amp;#039;&amp;#039;dpkg&amp;#039;&amp;#039; und allgemeinen systemadministrativen Aufgaben voraus. Im Laufe des Vorganges ergeben sich sehr individuelle Konstellationen von Abhängigkeiten, die im Rahmen dieser Kurzanleitung nicht abgedeckt werden können.&lt;br /&gt;
&lt;br /&gt;
Dieses Update benötigt Zugang zur Maschinenkonsole. Eine Ferninstallation über &amp;#039;&amp;#039;ssh&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;telnet&amp;#039;&amp;#039; ist nicht durchführbar. Die beschriebenen Schritte wurden mit Debian Lenny und Squeeze getestet.&lt;br /&gt;
&lt;br /&gt;
== Vorbereitungen ==&lt;br /&gt;
=== Benötigtes Prozessorfeature prüfen ===&lt;br /&gt;
 grep -q &amp;#039;^flags.* lm &amp;#039; /proc/cpuinfo &amp;amp;&amp;amp; echo &amp;quot;Can 64-Bit&amp;quot;&lt;br /&gt;
Wenn diese Ausgabe erfolgt, kann das System auf 64-Bit aktualisiert werden. Ansonsten nicht.&lt;br /&gt;
&lt;br /&gt;
=== Dokumentation der Plattenpartitionen ===&lt;br /&gt;
Zu einem späteren Zeitpunkt wäre wichtig zu wissen, auf welcher Partition welches Dateisystem ruht.&lt;br /&gt;
 df -h&lt;br /&gt;
gibt eine Liste der Partitionen und ihrer Mountpoints, sowie der Platzbelegung aus. Diese sollten wir in einer Datei auf einem anderen System zugänglich aufbewahren oder ausgedruckt auf einem Blatt Papier zur Hand haben.&lt;br /&gt;
&lt;br /&gt;
== Installation eines passenden 64-Bit-Kernels ==&lt;br /&gt;
In der Regel genügt es, das zugehörige Kernel-Metapaket zu installieren:&lt;br /&gt;
 apt-get install linux-image-2.6-amd64&lt;br /&gt;
&lt;br /&gt;
Nach der Installation und dem obligatorischen Reboot ist darauf zu achten, dass der Kernel auch wirklich gestartet wird. In der Standardkonfiguration von Grub werden die Kernelvarianten alphabetisch aufgelistet, sodass &amp;#039;&amp;#039;amd64&amp;#039;&amp;#039; immer vor &amp;#039;&amp;#039;ix86&amp;#039;&amp;#039; liegt.&lt;br /&gt;
&lt;br /&gt;
Nach dem Reboot läuft aller Kernelcode bereits im 64-Bit-Modus. Nun müssen noch die Programme ausgetauscht werden, damit diese ebenfalls in diesem Modus laufen.&lt;br /&gt;
&lt;br /&gt;
== Erstellen eines 64-Bit-Minisystems ==&lt;br /&gt;
In diesem Beispiel wird das System in &amp;#039;&amp;#039;/chroot64&amp;#039;&amp;#039; installiert. Jeder andere Platz ist ebenfalls möglich, muss im Laufe dieser Anleitung allerdings entsprechend berücksichtigt werden.&lt;br /&gt;
 mkdir /chroot64&lt;br /&gt;
 apt-get install debootstrap&lt;br /&gt;
 debootstrap --arch amd64 squeeze /chroot64 &amp;lt;nowiki&amp;gt;http://ftp.de.debian.org/debian&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieses Minisystem besteht ausschließlich aus 64-Bit-Komponenten. Statt Squeeze sollte die bereits installierte Distribution benutzt werden.&lt;br /&gt;
&lt;br /&gt;
In diesem Minisystem müssen nun noch ein paar weitere Pakete installiert werden:&lt;br /&gt;
 chroot /chroot64&lt;br /&gt;
 apt-get install file bzip2 openssh-client tnftp&lt;br /&gt;
 &amp;lt;CTRL-D&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen einer Liste der Binärprogramme des Minisystems ===&lt;br /&gt;
Damit das eigentliche Hauptsystem (auf schmutzige Weise) von 32- auf 64-Bit hochgezogen werden kann, brauchen wir eine Liste der ausführbaren Binärdateien des Minisystems. Nur diese Programme und Libraries sind relevant und müssen ausgetauscht werden:&lt;br /&gt;
 cd /chroot64&lt;br /&gt;
 find . -depth |while read f; do&lt;br /&gt;
  if file -L &amp;quot;$f&amp;quot; |fgrep -q ELF; then&lt;br /&gt;
   echo &amp;quot;$f&amp;quot; &amp;gt;&amp;gt; /tmp/binaries.txt&lt;br /&gt;
  fi&lt;br /&gt;
 done&lt;br /&gt;
 echo &amp;quot;./etc/ld.so.cache&amp;quot; &amp;gt;&amp;gt; /tmp/binaries.txt&lt;br /&gt;
 &lt;br /&gt;
Das Hinzufügen des &amp;#039;&amp;#039;ld.so.cache&amp;#039;&amp;#039; ist unabdingbar! Der Cache ist zwar kein ausführbares Programm, wird aber vom dynamischen Linker (&amp;#039;&amp;#039;ld.so&amp;#039;&amp;#039;) benötigt.&lt;br /&gt;
&lt;br /&gt;
=== Angleichen des 32-Bit-Systems an das Minisystem ===&lt;br /&gt;
Damit das alte System aus Sicht der Konfiguration dem Minisystem so ähnlich wie möglich wird, sollten nun alle Pakete im Minisystem auch im alten 32-Bit-System vorhanden sein. Diese werden also nun nachinstalliert:&lt;br /&gt;
 chroot /chroot64&lt;br /&gt;
 dpkg --get-selections |awk &amp;#039;{print $1}&amp;#039; &amp;gt; /tmp/minipackages.txt&lt;br /&gt;
 &amp;lt;CTRL-D&amp;gt;&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install `cat /chroot64/tmp/minipackages.txt`&lt;br /&gt;
&lt;br /&gt;
=== Starten von externem Linux-Medium ===&lt;br /&gt;
Hierbei ist es ziemlich egal, auf welche Weise das System gestartet wird (CD, USB-Stick, PXE-Boot, …). Wichtig ist nur, dass&lt;br /&gt;
* das derzeit installierte System nicht läuft, da im Folgeschritt zentrale Dateien ausgetauscht werden müssen,&lt;br /&gt;
* das zu startende Linux eine 64-Bit-Installation ist.&lt;br /&gt;
&lt;br /&gt;
Das Debian-Projekt bietet zu diesem Zweck [http://cdimage.debian.org/cdimage/release/current-live/amd64/ Liveimages] an. Das Rescue-Image reicht für unsere Zwecke aus.&lt;br /&gt;
&lt;br /&gt;
Die Partitionen des installierten Systems müssen nach dem Startvorgang zugänglich gemacht werden. Dabei ist die weiter oben angelegte Partitionsliste eine große Hilfe und vermeidet unnötiges Raten, welche Partition nun gleich wieder was war.&lt;br /&gt;
 mount /dev/sda3 /mnt&lt;br /&gt;
 mount /dev/sda1 /mnt/boot&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
Alle Partitionen mit Binärprogrammen müssen gemountet werden. Also zum Beispiel ein separates &amp;#039;&amp;#039;/usr&amp;#039;&amp;#039;-Dateisystem, aber nicht unbedingt &amp;#039;&amp;#039;/home&amp;#039;&amp;#039;. Falls Unsicherheit herrscht, besser alle mounten.&lt;br /&gt;
&lt;br /&gt;
== Überschreiben des 32-Bit-Basissystems ==&lt;br /&gt;
Damit das System später per Paketinstallation auf 64-Bit umgestellt werden kann, müssen vorher die zentralen Binärdateien ausgetauscht werden. Dies geschieht anhand der weiter oben angelegten &amp;#039;&amp;#039;Liste-der-Binärdateien&amp;#039;&amp;#039;:&lt;br /&gt;
 cd /mnt/chroot64&lt;br /&gt;
 cpio -pVdu /mnt &amp;lt; /mnt/tmp/binaries.txt&lt;br /&gt;
&lt;br /&gt;
Da 32- und 64-Bit-Libraries koexistieren können, gibt es zwei Pfade, die wir an dieser Stelle auf einen zeigen lassen, damit das System auch starten kann:&lt;br /&gt;
 cd ..&lt;br /&gt;
 ln -s /lib lib64&lt;br /&gt;
&lt;br /&gt;
Nun räumen wir auf und starten neu:&lt;br /&gt;
 cd ..&lt;br /&gt;
 umount /mnt/boot /mnt&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Start des neu gebauten 64-Bit-Systems ===&lt;br /&gt;
Nun kann das bereits vorher installierte, nun minimal auf 64-Bit gezogene System gestartet werden. Der Großteil des Systems besteht noch aus 32-Bit-Komponenten. Das sorgt bei einem Standardstartvorgang für eine erhebliche Menge an Fehlermeldungen. Diese können ignoriert werden. Alternativ kann in Grub auch der Punkt &amp;quot;(rescue)&amp;quot; ausgewählt werden, was den Startvorgang etwas beschleunigt als auch die Menge der Fehlermeldungen reduziert.&lt;br /&gt;
&lt;br /&gt;
Letztendlich können wir uns einloggen und an dieser Stelle weitermachen.&lt;br /&gt;
&lt;br /&gt;
== Reinstallation aller Pakete ==&lt;br /&gt;
Damit das komplette System aus 64-Bit-Komponenten besteht, müssen alle Pakete neu installiert werden. Dieser Vorgang ist wie oben gesagt sehr individuell. An dieser Stelle können wir nur auf die häufigsten Fehler und ihre Behebung eingehen.&lt;br /&gt;
&lt;br /&gt;
Laut der Apt-Datenbank ist das System derzeit in einem nicht validen Zustand: &amp;#039;&amp;#039;Apt&amp;#039;&amp;#039; sieht anhand &amp;#039;&amp;#039;uname -m&amp;#039;&amp;#039;, dass das System 64-bittig ist, aber alle vorhandenen Pakete in ihrer 32-Bit-Variante installiert sind (i386). Diesen Zustand müssen wir nun auf möglichst saubere Weise ändern.&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install -f&lt;br /&gt;
&lt;br /&gt;
Nun werden alle Pakete zum Austausch in ihrer amd64-Variante heruntergeladen und installiert. Dabei können wiederum Fehlermeldungen auftreten, zum Beispiel von Postinstall-Scripten, welche versuchen, Programme aufzurufen, die derzeit noch in der 32-Bit-Variante installiert sind.&lt;br /&gt;
&lt;br /&gt;
Hier ist nun systemadministrative Kreativität gefragt. Einige der häufiger auftretenden Fehler wären:&lt;br /&gt;
&lt;br /&gt;
=== Libc6 wird nicht automatisch aktualisiert ===&lt;br /&gt;
 Internal Error, Could not perform immediate configuration (2) on libc6&lt;br /&gt;
 E: Could not perform immediate configuration on &amp;#039;libc6&amp;#039;.&lt;br /&gt;
 Please see man 5 apt.conf under APT::Immediate-Configure for details.&lt;br /&gt;
&lt;br /&gt;
Das Libc6-Paket wurde zwar heruntergeladen, aber nicht ausgepackt, weil das Original eine andere Architektur aufweist. Hier müssen wir diese Apt-Vorsichtsmaßnahme (durch manuelle Installation) umgehen:&lt;br /&gt;
 dpkg -i /var/cache/apt/archives/libc6*deb&lt;br /&gt;
Alternativ:&lt;br /&gt;
 apt-get dist-upgrade -o APT::Immediate-Configure=0&lt;br /&gt;
&lt;br /&gt;
Weiter mit erneutem Aufruf von &lt;br /&gt;
 apt-get install -f&lt;br /&gt;
&lt;br /&gt;
=== Librarykollisionen ===&lt;br /&gt;
Die derzeit eingesetzte Version des dynamischen Loaders (ld.so) unterstützt keine 32- und 64-Bit Libraries im gleichen Verzeichnis. Warnungen ähnlich wie wie:&lt;br /&gt;
 ldconfig: libraries libz.so.1.2.3.0 and libz.so.1.2.3.3 in directory /usr/lib have same soname but different type.&lt;br /&gt;
bedeuten, dass geprüft werden muss, welches die 32-Bit-Variante ist, die üblicherweise gelöscht werden kann (da wir ja auf 64-Bit aktualisieren).&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;cd /usr/lib&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ls -l libz.so*&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 lrwxrwxrwx 1 root root    15 Dec 30 21:25 libz.so -&amp;gt; libz.so.1.2.3.4&lt;br /&gt;
 lrwxrwxrwx 1 root root    15 Dec 30 21:25 libz.so.1 -&amp;gt; libz.so.1.2.3.4&lt;br /&gt;
 -rw-r--r-- 1 root root 93936 Dec 28 20:10 libz.so.1.2.3.4&lt;br /&gt;
 -rw-r--r-- 1 root root 93936 Jun 18 11:14 libz.so.1.2.3.0&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;file libz.so.1.2.*&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 libz.so.1.2.3.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped&lt;br /&gt;
 libz.so.1.2.3.4: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;rm libz.so.1.2.3.0&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ldconfig&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;apt-get -f install&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Dieser Fehler tritt dann auf, wenn sich die Versionen des alten 32-Bit-Systems und des neuen 64-Bit-Systems unterscheiden, quasi gleichzeitig ein &amp;#039;&amp;#039;dist-upgrade&amp;#039;&amp;#039; auf eine neue Debian-Version durchgeführt wird. Das ist nicht empfohlen.&lt;br /&gt;
&lt;br /&gt;
=== Installation von libperl schlägt fehl ===&lt;br /&gt;
Die Installation von &amp;#039;&amp;#039;perl-base&amp;#039;&amp;#039; schlägt fehl, weil die &amp;#039;&amp;#039;libperl.so.5.10.1&amp;#039;&amp;#039; ebenfalls im Paket &amp;#039;&amp;#039;libc5.10&amp;#039;&amp;#039; enthalten ist. Wir können diese aber getrost überschreiben:&lt;br /&gt;
 dpkg --force-overwrite -i /var/cache/apt/archives/perl-base_*&lt;br /&gt;
 apt-get -f install&lt;br /&gt;
&lt;br /&gt;
=== Debsums schlägt fehl ===&lt;br /&gt;
Falls Fehler auftreten, weil das md5-Modul von Perl nicht funktioniert (weil es tatsächlich ein Binärmodul ist), dann kann auch dieses manuell und forciert installiert werden. Je nach dem kann dies zu Konflikten wegen bereits aus anderen (älteren) Paketen vorhandenen Dateien führen. Daher empfiehlt es sich, ein Überschreiben zuzulassen:&lt;br /&gt;
 dpkg -i --force-overwrite /var/cache/apt/archives/perl*&lt;br /&gt;
 apt-get -f install&lt;br /&gt;
&lt;br /&gt;
=== Reinstallation von &amp;#039;&amp;#039;doc-base&amp;#039;&amp;#039; schlägt fehl ===&lt;br /&gt;
Dieses Paket benutzt ndbm Datenbankdateien (&amp;#039;&amp;#039;files.db&amp;#039;&amp;#039; und &amp;#039;&amp;#039;status.db&amp;#039;&amp;#039;), welche aber achitekturspezifisch sind. Die Austauschprozedur 32→64-Bit kann mit dieser Situation nicht umgehen. Das ist aber nicht weiter schlimm, ein simples Löschen dieser Dateien forciert ein Neuanlegen.&lt;br /&gt;
 rm -f /var/lib/doc-base/info/*.db&lt;br /&gt;
 apt-get -f install&lt;br /&gt;
&lt;br /&gt;
=== Installation von Apache2/kbd schlägt fehl ===&lt;br /&gt;
Die sehr unübersichtliche Ausgabe zeigt gleich zwei Fehler:&lt;br /&gt;
* &amp;#039;&amp;#039;Apache2&amp;#039; kann nicht installiert werden, weil Apt sich nicht klar ist, ob nun &amp;#039;&amp;#039;mpm-worker&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;mpm-prefork&amp;#039;&amp;#039; benutzt werden soll,&lt;br /&gt;
* Die Konsole-Tools können nicht installiert werden, weil Apt sich nicht klar ist, ob nun &amp;#039;&amp;#039;kbd&amp;#039;&amp;#039; oder die &amp;#039;&amp;#039;console-tools&amp;#039;&amp;#039; installiert werden sollen. Letzteres kann Apt nicht auflösen, weil keine &amp;#039;&amp;#039;libconsole&amp;#039;&amp;#039; installiert werden soll. Abhilfe mit:&lt;br /&gt;
 apt-get install apache2-mpm-prefork console-tools libconsole&lt;br /&gt;
 apt-get -f install&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Qmail schlägt fehl ===&lt;br /&gt;
Die Konfiguration von Qmail bricht mit dem Fehler 127 ab. Ursache ist, dass das Programm &amp;#039;&amp;#039;svc&amp;#039;&amp;#039; von den Daemontools nicht im Suchpfad gefunden werden kann. Abhilfe mit:&lt;br /&gt;
 export PATH=/usr/local/bin:$PATH&lt;br /&gt;
 apt-get -f install&lt;br /&gt;
&lt;br /&gt;
=== Hilfspakete ===&lt;br /&gt;
Manche Postinstall-Scripte benötigen &amp;#039;&amp;#039;menu&amp;#039;&amp;#039; and &amp;#039;&amp;#039;pyhon&amp;#039;&amp;#039;. Wenn im Rahmen des Prozesses Nachrichten über &amp;#039;&amp;#039;update-menus failed&amp;#039;&amp;#039; auftreten, dann ist das hierauf zurückzuführen.&lt;br /&gt;
&lt;br /&gt;
Manuell forcierte Installation dieser Pakete hilft auch hier:&lt;br /&gt;
 dpkg -i /var/cache/apt/archives/menu* /var/cache/apt/archives/python*&lt;br /&gt;
 apt-get -f install&lt;br /&gt;
&lt;br /&gt;
Die gleiche Problematik (nur für Python) trifft auch bei Fehlermeldungen über &amp;#039;&amp;#039;python-apt&amp;#039;&amp;#039; und &amp;#039;&amp;#039;python-xapian&amp;#039;&amp;#039; zu.&lt;br /&gt;
 apt-get install python2.5 python2.5-minimal&lt;br /&gt;
 apt-get -f install&lt;br /&gt;
&lt;br /&gt;
=== Manuelle Reinstallation verbleibender 32-Bit Pakete ===&lt;br /&gt;
Wenn ein &amp;lt;code&amp;gt;apt-get install -f &amp;lt;/code&amp;gt; keine weiteren Aufgaben ausführt, ist das System soweit migriert. Trotzdem bleiben manchmal einige Pakete als 32-Bit-Variante erhalten. Falls Apt in der Statistik sagt, es würde noch ein Paket nicht aktualisiert worden, muss noch ein&lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
Eine Auflistung der verbleibenden Pakete erhalten wir mit diesem Befehl:&lt;br /&gt;
 dpkg-query -W -f &amp;#039;${Package} ${Architecture}\n&amp;#039; |awk &amp;#039;/i386$/ {print $1}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ein schöner Nebeneffekt dieser Methode ist, dass hierbei auch Leichen zutage gefördert werden. Also Pakete, die vor langer Zeit installiert wurden, einige Upgrades überlebt haben, aber inzwischen nicht mehr im Apt zu finden sind und deswegen nicht aktualisiert werden konnten. Diese können jetzt deinstalliert werden, bzw. durch ein funktional äquivalentes Paket ersetzt werden (wie z.&amp;amp;thinsp;B. &amp;#039;&amp;#039;pine&amp;#039;&amp;#039; → &amp;#039;&amp;#039;alpine&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Ein automatisches Upgrade aller restlichen 32-Bit-Pakete ergibt sich aus dem obigen Kommando zur Listenerzeugung:&lt;br /&gt;
 apt-get install `dpkg-query -W -f &amp;#039;${Package} ${Architecture}\n&amp;#039; |awk &amp;#039;/i386$/ {print $1}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
Alternativ kann die Liste Paket für Paket abgearbeitet werden. Dieser Vorgang ist langsamer, aber weniger fehleranfällig: Abhängigkeiten werden pro Paket separat behandelt.&lt;br /&gt;
 for p in `dpkg-query -W -f &amp;#039;${Package} ${Architecture}\n&amp;#039; |awk &amp;#039;/i386$/ {print $1}&amp;#039;`; do&lt;br /&gt;
   apt-get -y install $p&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Wenn hierbei nichts mehr passiert, werden keine 32-Bit-Pakete mehr gefunden. Als letzter Schritt sollte sicherheitshalber nochmal die &amp;#039;&amp;#039;initrd&amp;#039;&amp;#039; neu gebaut werden:&lt;br /&gt;
 update-initramfs -u&lt;br /&gt;
&lt;br /&gt;
Ein finaler Reboot startet dann das System in seiner 64-Bit-Variante.&lt;br /&gt;
&lt;br /&gt;
=== Nacharbeiten ===&lt;br /&gt;
Da sich die Prozessorarchitektur geändert hat, haben sich teilweise auch (binäre) Datenformate geändert.&lt;br /&gt;
&lt;br /&gt;
* INN startet nicht mehr mit der Logmeldung &amp;lt;code&amp;gt;/var/lib/news/history cant dbminit SERVER Numerical argument out of domain&amp;lt;/code&amp;gt;. Die Binärdatenbank mit folgendem Kommando neu erzeugen (als User &amp;#039;&amp;#039;news&amp;#039;&amp;#039;):&lt;br /&gt;
 /usr/lib/news/bin/makehistory -oir&lt;br /&gt;
* MTA prüfen (Aliasdatei, usw.).&lt;br /&gt;
* Netatalk prüfen (hat bei Squeeze keinen Ärger gemacht).&lt;br /&gt;
* RRD-Dateien prüfen (&amp;#039;&amp;#039;mailgraph&amp;#039;&amp;#039;, o.&amp;amp;thinsp;Ä.)&lt;br /&gt;
&lt;br /&gt;
Ebenso müssen nachträglich hinzugefügte Kernelmodule neu erzeugt werden, wie z.&amp;amp;thinsp;B. Open-vm-tools, AFS, dahdi, Iscsitarget, usw.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://wiki.debian.org/Migrate32To64Bit Debian-Wiki, Migrate32To64Bit]&lt;br /&gt;
* [http://blog.zugschlus.de/archives/972-How-to-amd64-an-i386-Debian-installation-with-multiarch.html Unüberprüfte Vorgehensweise für Wheezy]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Linux]]&lt;/div&gt;</summary>
		<author><name>PoC</name></author>
	</entry>
</feed>