Verwirrend, nicht wahr? Lassen Sie mich etwas erklären.
Warum?
- 32-Bit-Software läuft problemlos auf einem 64-Bit-Kernel mit 64-Bit-fähiger Hardware.
- Einige Softwareprodukte sind immer noch auf bestimmte 32-Bit-Bibliotheken angewiesen. Das ist nicht schön, aber manchmal haben wir nicht die Kraft, dies zu ändern.
- 32-Bit-Software muss dem System zur Verfügung stehen, um die Abhängigkeiten zu erfüllen. Daher werden auch die 32-Bit-Repositorys verwendet.
Ich bin von Anfang 2011. Was ist passiert?
In 64-Bit-Versionen von Ubuntu vor 11.10 wurden einige der gängigen 32-Bit-Bibliotheken in einem einzigen ia32-libs
Paket zusammengefasst, das APT / Dpkg als 64-Bit-Paket und an einem solchen Ort im Repository dargestellt wurde. Wenn Sie eine einzelne Bibliothek für eine Anwendung benötigen, hängt dies von den mehr als 150 MB 32-Bit-Bibliotheken ab 1 . Dies ist eindeutig kein schönes Design.
Mehrere Architekturen?
Die neue Idee war, APT / Dpkg und die damit verbundenen Tools mit sogenannten "Multiarch" -Funktionen auszustatten. Dies wurde in mehreren Blaupausen auf dem Launchpad vorgestellt. Hier ist eine davon . Oneiric (11.10) war die erste Veröffentlichung, die Multiarch unterstützte.
Wie funktioniert es?
Sie können Dpkg mitteilen, welche Architekturen Ihr System ausführen kann. Bei meiner 12.04 64-Bit-Installation ist dies hier:
$ cat /etc/dpkg/dpkg.cfg.d/multiarch
foreign-architecture i386
Es öffnet die ganze Welt der i386
Pakete, wobei dies amd64
immer noch die Standardeinstellung ist:
$ apt-cache show libqt4-core | grep -E "^(Filename|Architecture)"
Architecture: amd64
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_amd64.deb
$ apt-cache show libqt4-core:i386 | grep -E "^(Filename|Architecture)"
Architecture: i386
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_i386.deb
Das obige Beispiel zeigt, dass Multiarch es Paketverwaltern ermöglicht, ihre Pakete libqt4-core:i386
zum Beispiel einfach abhängig zu machen , und es ermöglicht, jede 32-Bit-Bibliothek / jedes 32-Bit-Paket zu installieren (und somit jedes Paket zu installieren, das von jeder 32-Bit-Bibliothek / jedem 32-Bit- Paket abhängt ). statt einer vorausgewählten Menge.
ia32-libs
Kompatibilität
Wenn Sie das ia32-libs
Paket als Hilfspaket für die Installation eines allgemeinen Satzes grundlegender 32-Bit-Bibliotheken verwendet haben, können Sie es jetzt verwenden . Dies ist ein einfaches Metapaket, das von denselben (oder zumindest sehr ähnlichen) Bibliotheken abhängt, aber mit der Kraft von Multiarch installiert wird.ia32-libs-multiarch
Weitere verwandte Lesungen
1 Für Lucid (10,04) das ia32-libs
Paket installiert Größe ist 155,812.0 kB.
dpkg --print-foreign-architectures
eher zu laufen als zu catting/etc/dpkg/dpkg.cfg.d/multiarch
. Es existiert nicht nach dem 12.04.