Wie aus den Kommentaren hervorgeht, ist es üblich, Ihr iceweasel:amd64
Paket durch das iceweasel:i386
Paket zu ersetzen und die Abhängigkeiten durchzuarbeiten. Dies ist in Ordnung, wenn alle abhängigen Bibliotheken korrekt Multiarchenkompatibel sind. Wenn dies nicht funktioniert, ist eine Chroot-Installation die beste Option.
So richten Sie einen solchen chroot-Debian-Weg ein:
- Stellen Sie sicher, dass Sie einen Kernel ausführen, der IA32-ELF-Binärdateien ausführen kann.
- Installieren Sie
schroot
undcdebootstrap
. - Erstellen Sie ein Verzeichnis Ihrer Wahl (Ich verwende es
/usr/local/roots/i386
) und führen Sie es auscdebootstrap -a i386 -f minimal --include "iceweasel" testing /usr/local/roots/i386
(ersetzen Sie die Debian-Versiontesting
mitsid
oderjessie
oder Ihre Wahl; fügen Sie gegebenenfalls weitere Optionen hinzu). - Konfigurieren Sie
schroot
dieses Verzeichnis als Chroot (in/etc/schroot/chroot.d/i386
):
[i386]
type=directory
directory=/usr/local/roots/i386
profile=default
Dasdefault
Profil sollte bereits Bindemounts für/home
etc enthalten - checken Sie es ein/etc/schroot/default/fstab
, um sicherzugehen.
Jetzt sollten Sie in der Lage sein, in die Schroot ( schroot -c i386
) zu wechseln und dann Iceweasel (oder sudo aptitude install
zusätzliche Pakete) zu starten . Sie können es in dem chroot - Verzeichnis alle in einem Befehl starten: schroot -c i386 iceweasel
.
Es gibt jedoch einen Vorbehalt bei all dem: Das iceweasel
ist eigentlich ein Wrapper-Skript, das nach einem laufenden Iceweasel sucht, mit dem eine Verbindung hergestellt wird $DISPLAY
, und wenn dies der Fall ist, wird das Fernsteuerungsprotokoll verwendet, um ein neues Fenster zu öffnen. Wenn Sie also das 64-Bit-Iceweasel ausführen, wird dieses aufgerufen, obwohl Sie dachten, Sie hätten eine neue 32-Bit-Instanz gestartet. Sie müssen also alle nativen Instanzen schließen, bevor Sie die in Ihrer Chroot-Instanz starten.