Ho una versione a 64 bit di Ubuntu 13.10. Voglio eseguire una versione a 32 bit di un programma. Tuttavia vedo che ia32-libs
non è incluso in 13.10. Esiste un pacchetto sostitutivo per questo o cosa?
Ho una versione a 64 bit di Ubuntu 13.10. Voglio eseguire una versione a 32 bit di un programma. Tuttavia vedo che ia32-libs
non è incluso in 13.10. Esiste un pacchetto sostitutivo per questo o cosa?
Risposte:
Non è più necessario il ia32-libs
pacchetto (dal 12.04 per l'esattezza), se si utilizza il sistema APT, non ci si deve preoccupare dell'installazione di pacchetti a 32 bit in un sistema a 64 bit. Ciò è accaduto dall'introduzione di multiarch , una delle politiche più rivoluzionarie di Debian nel modo in cui Debian gestisce le dipendenze. Questo metodo consente di avere target binari diversi nello stesso sistema senza curare l'architettura del kernel. Ciò non significa che è possibile eseguire qualsiasi pacchetto a 32 bit senza preparazione, ma se si installano le librerie / binari in teoria qualsiasi applicazione dovrebbe essere in grado di funzionare. Questo è vero da 64 a 32 bit e viceversa.
Per l'utilizzo di tale metodo si consiglia di utilizzare i gestori APT, al fine di prevenire dipendenze non soddisfatte. Il log delle modifiche include una piccola cronologia di come sono state apportate le modifiche:
ia32-libs
a package:arch
essere package
il nome della libreria necessaria e arch
l'architettura (sotto c'è un esempio con skype).ia32-libs-multiarch
pacchetto è stato rimosso dalle versioni precedenti alla raring e ia32-libs
non è stato pubblicato in modo impertinente. Tutti i pacchetti Ubuntu sono multiarch e puoi installare diversi pacchetti di architettura nel tuo sistema.Ora, quando si installa un pacchetto che richiede binari a 32 bit, se non si presta attenzione non si saprà mai che si sta utilizzando un pacchetto a 32 bit, poiché il gestore pacchetti estraerà automaticamente le dipendenze necessarie:
sudo apt-get --no-install-recommends -q -y install skype
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
libaudio2:i386 libjbig0:i386 liblcms1:i386 libmng1:i386 libqt4-dbus:i386 libqt4-declarative:i386
libqt4-network:i386 libqt4-opengl:i386 libqt4-script:i386 libqt4-sql:i386 libqt4-xml:i386
libqt4-xmlpatterns:i386 libqtcore4:i386 libqtgui4:i386 libqtwebkit4:i386 libssl1.0.0:i386 libtiff5:i386
libxss1:i386 libxv1:i386 skype-bin:i386
Suggested packages:
nas:i386 liblcms-utils:i386 libqt4-declarative-folderlistmodel:i386 libqt4-declarative-gestures:i386
libqt4-declarative-particles:i386 libqt4-declarative-shaders:i386 qt4-qmlviewer:i386 libqt4-dev:i386
libthai0:i386 libicu48:i386 qt4-qtconfig:i386
Recommended packages:
libqt4-sql-mysql:i386 libqt4-sql-odbc:i386 libqt4-sql-psql:i386 libqt4-sql-sqlite:i386 libcups2:i386
sni-qt:i386 libasound2-plugins:i386
The following NEW packages will be installed:
libaudio2:i386 libjbig0:i386 liblcms1:i386 libmng1:i386 libqt4-dbus:i386 libqt4-declarative:i386
libqt4-network:i386 libqt4-opengl:i386 libqt4-script:i386 libqt4-sql:i386 libqt4-xml:i386
libqt4-xmlpatterns:i386 libqtcore4:i386 libqtgui4:i386 libqtwebkit4:i386 libssl1.0.0:i386 libtiff5:i386
libxss1:i386 libxv1:i386 skype skype-bin:i386
0 upgraded, 21 newly installed, 0 to remove and 0 not upgraded.
Need to get 33.9 MB/38.2 MB of archives.
After this operation, 118 MB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously unselected package libssl1.0.0:i386.
(Reading database ... 208485 files and directories currently installed.)
Unpacking libssl1.0.0:i386 (from .../libssl1.0.0_1.0.1c-4ubuntu8.1_i386.deb) ...
Selecting previously unselected package libaudio2:i386.
Unpacking libaudio2:i386 (from .../libaudio2_1.9.3-5ubuntu0.13.04.1_i386.deb) ...
Selecting previously unselected package liblcms1:i386.
Unpacking liblcms1:i386 (from .../liblcms1_1.19.dfsg-1.2ubuntu2_i386.deb) ...
Selecting previously unselected package libmng1:i386.
Unpacking libmng1:i386 (from .../libmng1_1.0.10-3build1_i386.deb) ...
Selecting previously unselected package libqtcore4:i386.
Unpacking libqtcore4:i386 (from .../libqtcore4_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqt4-xml:i386.
Unpacking libqt4-xml:i386 (from .../libqt4-xml_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqt4-dbus:i386.
Unpacking libqt4-dbus:i386 (from .../libqt4-dbus_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqt4-network:i386.
Unpacking libqt4-network:i386 (from .../libqt4-network_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqt4-script:i386.
Unpacking libqt4-script:i386 (from .../libqt4-script_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqt4-sql:i386.
Unpacking libqt4-sql:i386 (from .../libqt4-sql_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqt4-xmlpatterns:i386.
Unpacking libqt4-xmlpatterns:i386 (from .../libqt4-xmlpatterns_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libjbig0:i386.
Unpacking libjbig0:i386 (from .../libjbig0_2.0-2ubuntu1_i386.deb) ...
Selecting previously unselected package libtiff5:i386.
Unpacking libtiff5:i386 (from .../libtiff5_4.0.2-4ubuntu2.1_i386.deb) ...
Selecting previously unselected package libqtgui4:i386.
Unpacking libqtgui4:i386 (from .../libqtgui4_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqt4-declarative:i386.
Unpacking libqt4-declarative:i386 (from .../libqt4-declarative_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqt4-opengl:i386.
Unpacking libqt4-opengl:i386 (from .../libqt4-opengl_4%3a4.8.4+dfsg-0ubuntu9.4_i386.deb) ...
Selecting previously unselected package libqtwebkit4:i386.
Unpacking libqtwebkit4:i386 (from .../libqtwebkit4_2.3.0-0ubuntu2_i386.deb) ...
Selecting previously unselected package libxss1:i386.
Unpacking libxss1:i386 (from .../libxss1_1%3a1.2.2-1_i386.deb) ...
Selecting previously unselected package libxv1:i386.
Unpacking libxv1:i386 (from .../libxv1_2%3a1.0.7-1ubuntu0.13.04.1_i386.deb) ...
Selecting previously unselected package skype-bin.
Unpacking skype-bin (from .../skype-bin_4.2.0.11-0ubuntu0.12.04.2_i386.deb) ...
Selecting previously unselected package skype.
Unpacking skype (from .../skype_4.2.0.11-0ubuntu0.12.04.2_amd64.deb) ...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Processing triggers for hicolor-icon-theme ...
Setting up libssl1.0.0:i386 (1.0.1c-4ubuntu8.1) ...
Setting up libaudio2:i386 (1.9.3-5ubuntu0.13.04.1) ...
Setting up liblcms1:i386 (1.19.dfsg-1.2ubuntu2) ...
Setting up libmng1:i386 (1.0.10-3build1) ...
Setting up libqtcore4:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqt4-xml:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqt4-dbus:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqt4-network:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqt4-script:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqt4-sql:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqt4-xmlpatterns:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libjbig0:i386 (2.0-2ubuntu1) ...
Setting up libtiff5:i386 (4.0.2-4ubuntu2.1) ...
Setting up libxss1:i386 (1:1.2.2-1) ...
Setting up libxv1:i386 (2:1.0.7-1ubuntu0.13.04.1) ...
Setting up libqtgui4:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqt4-declarative:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqt4-opengl:i386 (4:4.8.4+dfsg-0ubuntu9.4) ...
Setting up libqtwebkit4:i386 (2.3.0-0ubuntu2) ...
Setting up skype-bin (4.2.0.11-0ubuntu0.12.04.2) ...
Setting up skype (4.2.0.11-0ubuntu0.12.04.2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Si noti che skype è un pacchetto i386. Se uso apt-get per installarlo, mi risparmierò mal di testa in seguito.
Ma alcune persone preferiscono usare i .deb
pacchetti, quindi prepararsi perché può diventare un po 'confuso. Dovresti installare manualmente tutte le dipendenze prima che il tuo sistema non finisca con dipendenze non soddisfatte. Un comando che ti aiuterà è dpkg-deb -I
poiché mostra le informazioni del pacchetto:
dpkg-deb -I zynaddsubfx-dssi_2.4.3-3_amd64.deb
new debian package, version 2.0.
size 266936 bytes: control archive=845 bytes.
917 bytes, 19 lines control
232 bytes, 3 lines md5sums
Package: zynaddsubfx-dssi
Source: zynaddsubfx
Version: 2.4.3-3
Architecture: amd64
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
Installed-Size: 633
Depends: libasound2 (>= 1.0.16), libc6 (>= 2.15), libgcc1 (>= 1:4.1.1), libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack-0.116, libmxml1, libstdc++6 (>= 4.6), zlib1g (>= 1:1.1.4)
[...]
Come puoi vedere, elenca le dipendenze, quindi devi solo a sudo apt-get install
loro e poi sudo dpkg -i
. Ancora una volta, preferisci installare software dai repository invece di scaricarli e installarli manualmente con dpkg -i
.
Ora, se il tuo è sviluppo, puoi installare qualsiasi libreria usando la apt-get
sintassi. Basta aggiungere :i386
alla libreria che si desidera scaricare e il gioco è fatto. Non è necessario farlo manualmente se si installa il software dai repository.
In conclusione: No, è possibile eseguire pacchetti a 32 bit senza installare ia32-libs
, se si installano i pacchetti dai repository, anche meglio. Se sei in fase di sviluppo, prova a utilizzare sempre il sistema APT.
Ricorda di aggiungere l'architettura i386 o non sarai in grado di installare pacchetti a 32 bit:
sudo dpkg --add-architecture i386
sudo apt-get update
Consulta la guida alla risoluzione dei problemi del pacchetto: https://help.ubuntu.com/community/PackageManagerTro troubleshootingProcedure
apt-get install libc6:i386
e apt-get install libgtk2.0-0:i386
(quest'ultimo perché è un'app GTK).