14.10 64-Bit: Paralleles Arbeiten mit 32-Bit-Software
Mittlerweile haben sich 64-Bit-Architekturen auch im heimischen Bereich etabliert und obwohl schon sehr viele Anwendungen auf 64 Bit portiert wurden, sind einige Programme noch nicht vollends angepasst. Es gibt prinzipiell zwei Workarounds, um diese Programme doch noch zur Mitarbeit zu bewegen:
- das linux32-Paket – dadurch können 32-Bit-Anwendungen direkt innerhalb einer 64-Bit-Umgebung genutzt werden.
- die chroot-Umgebung – diese etwas schwieriger zu konfigurierende Variante versagt auch in »kritischen Fällen« nicht.
Wenn Sie native 32-Bit-Anwendungen häufig nutzen möchten, empfiehlt sich der Einsatz einer chroot-Umgebung. Dazu erstellen Sie ein eigenes Verzeichnis /chroot, das als Heimat für die 32-Bit-Umgebung dienen soll. Zunächst müssen Sie die Pakete dchroot und debootstrap installieren. Erstellen Sie nun das Verzeichnis /chroot via sudo mkdir /chroot. Die Konfigurationsdatei /etc/dchroot.conf muss editiert werden:
# Auszug aus /etc/dchroot.conf
natty /chroot
Führen Sie anschließend den Befehl sudo debootstrap --arch i386 natty /chroot/ aus. Auf diese Weise wird ein 32-Bit-System im Verzeichnis /chroot installiert. Nun sind die lokalen Einstellungen anzupassen:
sudo chroot /chroot
dpkg-reconfigure locales
Wählen Sie hier den Punkt de_DE.UTF-8 UTF-8. Wenn es hierbei zu Fehlermeldungen kommt, sollten Sie überprüfen, ob Sie das Paket language-pack-de installiert haben.
Quellen anpassen
Außerdem sind die Quellen des Paketsystems anzupassen. Legen Sie dazu per sudo gedit /chroot/etc/apt/sources.list die folgende Datei aus einer neuen Konsole an, und ergänzen Sie die folgenden Zeilen (die deb-Einträge müssen Sie jeweils in eine Zeile schreiben):
# Auszug aus /chroot/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu precise
main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu precise-security
main restricted universe multiverse
»Precise« steht hier für die Ubuntu-Version 12.04. Wenn Sie einen andere Version verwenden, müssen Sie diesen Entwicklernamen anpassen. Es können natürlich auch lokale Mirrors verwendet werden.
Zur Aktualisierung Ihres chroot-Systems geben Sie Folgendes innerhalb der chroot-Umgebung ein: apt-get update && apt-get upgrade
Nun müssen Sie noch die Benutzerstrukturen beider Umgebungen anpassen, was wieder außerhalb der chroot-Umgebung erfolgen muss. Öffnen Sie gegebenenfalls eine neue Konsole, und geben Sie die folgenden Befehle ein:
sudo cp /etc/passwd /chroot/etc/
sudo cp /etc/shadow /chroot/etc/
sudo cp /etc/group /chroot/etc/
sudo cp /etc/sudoers /chroot/etc/
sudo cp /etc/hosts /chroot/etc/
Die Datei /etc/fstab des 64-Bit-Host-Systems müssen Sie folgendermaßen anpassen:
sudo gedit /etc/fstab
/home /chroot/home none bind 0 0
/tmp /chroot/tmp none bind 0 0
/dev /chroot/dev none bind 0 0
/proc /chroot/proc proc defaults 0 0
/media/cdrom0 /chroot/media/cdrom0 none bind 0 0
# In einer Zeile:
/usr/share/fonts /chroot/usr/share/fonts
none bind 0 0
Danach legen Sie zwei Mount-Punkte für das CD-ROM-Laufwerk und für das Font-Verzeichnis in der chroot-Umgebung an:
sudo mkdir /chroot/media/cdrom0
sudo mkdir /chroot/usr/share/fonts
Verlassen Sie die chroot-Umgebung via + , und mounten Sie gemäß den Vorgaben in der geänderten Datei /etc/fstab neu: sudo mount -a. Um 32-Bit-Anwendungen in einfacher Weise aus der 64-Bit-Umgebung ausführen zu können, ist es nützlich, das folgende Skript do_dchroot zu erstellen:
sudo gedit /usr/local/bin/do_dchroot
# Auszug aus /usr/local/bin/do_dchroot
#!/bin/bash
/usr/bin/dchroot -d "echo $0 | sed 's|^.*/||' $*"
Das Skript muss anschließend mittels sudo chmod 755 /usr/local/bin/do_dchroot ausführbar gemacht werden. Schließlich sollten Sie das Programm Synaptic für die 32-Bit-Umgebung installieren. Öffnen Sie eine neue Konsole, und geben Sie Folgendes ein:
sudo dchroot -d
sudo apt-get synaptic
sudo ln -s /usr/sbin/synaptic /usr/sbin/synaptic32
exit
sudo ln -s /usr/local/bin/do_dchroot /usr/local/bin/synaptic32
sudo synaptic32
An diesem Punkt haben Sie eine funktionsfähige 32-Bit-Umgebung mit der Möglichkeit, über synaptic32 weitere Programme innerhalb der chroot-Umgebung zu installieren. Solche Programme werden dann aus der 64-Bit-Umgebung mit dem Wrapper-Skript do_dchroot ausgeführt. Es empfiehlt sich, die Programme ähnlich wie oben für Synaptic beschrieben im 64-Bit-System zu verlinken. Auf die Schnelle können Sie stets mit dchroot -d <Programm> in die chroot-Umgebung wechseln und ein Programm ausführen. Vergessen Sie anschließend aber nicht, die Umgebung mit dem Befehl exit zu verlassen.
14.10.1 Benchmarking – Vergleich mit 32-Bit-Systemen
Momentan sind 64-Bit-Systeme insbesondere auf dem Gebiet der Audio- und Video-Encodierung unschlagbar schnell, wenn Programme verwendet werden, die an diese Architektur angepasst wurden. Das ist bei den Programmen des Ubuntu-64-Repositorys der Fall. Legen Sie eine Audio-CD Ihrer Wahl in Ihr CD/DVD-Laufwerk ein, und rippen Sie einen Titel:
cdparanoia <Titelnummer> titel_nr.wav
Folgende Zeilen liefern einen Vergleich der Encodierung des gleichen 5-minütigen Titels auf einem 32-Bit- und einem 64-Bit-Ubuntu-System unter Verwendung identischer Hardware (AMD Athlon64/3200+). Das Beispiel setzt die Installation des Pakets vorbis-tools voraus. Beachten Sie in beiden Fällen den Punkt Elapsed time: Die Encodierung auf dem 64-Bit-System läuft um ca. 30 % schneller ab als auf dem 32-Bit-System.
32-Bit-System
oggenc titel_nr.wav -q 6 -o titel_nr.ogg
...
Done encoding file "titel_nr.ogg"
File length: 5m 03,0s
Elapsed time: 0m 22,5s
Rate: 13,4611
Average bitrate: 184,1 kb/s
64-Bit-System
...
Done encoding file "titel_nr.ogg"
File length: 5m 03,0s
Elapsed time: 0m 15,5s
Rate: 19,6033
Average bitrate: 184,1 kb/s
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.