У мене 64-бітна версія Ubuntu 13.10. Я хочу запустити 32-бітну версію програми. Однак я бачу ia32-libs
, що не включається в 13.10. Чи є для цього пакет замінника чи що?
У мене 64-бітна версія Ubuntu 13.10. Я хочу запустити 32-бітну версію програми. Однак я бачу ia32-libs
, що не включається в 13.10. Чи є для цього пакет замінника чи що?
Відповіді:
ia32-libs
Пакет більше не потрібен (починаючи з 12.04, якщо точніше), якщо ви використовуєте систему APT, вам не доведеться турбуватися про встановлення 32-бітних пакетів у 64-бітній системі. Це сталося з моменту введення мультиарха , однієї з найпоширеніших політик Debian, що змінює ігри, у тому, як Debian управляє залежностями. Цей метод дозволяє мати різні бінарні цілі в одній системі без піклування про архітектуру ядра. Це не означає, що ви можете запускати будь-який 32-бітний пакет без підготовки, але якщо ви встановите бібліотеки / бінарні файли, будь-які програми теоретично повинні мати змогу запускатися. Це вірно від 64-бітного до 32-бітного і навпаки.
Для використання такого методу рекомендується використовувати менеджери APT, щоб запобігти незадоволеним залежностям. Журнал змін включає невелику історію про те, як внесені зміни:
ia32-libs
щоб package:arch
бути package
ім'ям бібліотеки , необхідної і arch
архітектура (нижче є приклад з скайпом).ia32-libs-multiarch
пакунок з попередньо завзяття релізів і ia32-libs
не отримав опублікований в зухвалий. Усі пакети Ubuntu можуть працювати в декількох архівах, і ви можете встановити різні архітектурні пакети у своїй системі.Тепер, встановлюючи пакет, який потребує 32-бітових бінарних файлів, якщо ви не звернете уваги, ви ніколи не дізнаєтесь, що використовуєте 32-розрядний пакет, оскільки менеджер пакунків автоматично підтягуватиме необхідні залежності:
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
Зауважте, що скайп - це пакет i386. Якщо я використовую apt-get, щоб встановити його, я позбавлю себе від головних болів пізніше.
Але дехто вважає за краще використовувати .deb
пакети, а потім підготуйте себе, тому що це може стати трохи безладним. Вам слід вручну встановити всі залежності перед рукою, щоб ваша система не закінчувалась невиконаними залежностями. Команда, яка допоможе, dpkg-deb -I
оскільки відображає інформацію про пакет:
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)
[...]
Як бачите, у ньому перераховані залежності, тож ви маєте лише до sudo apt-get install
них і тоді sudo dpkg -i
. Знову ж таки, волійте встановлювати програмне забезпечення із сховищ, а не завантажувати їх та встановлювати їх вручну dpkg -i
.
Тепер, якщо ваша розробка, ви можете встановити будь-яку бібліотеку за допомогою apt-get
синтаксису. Просто додайте :i386
до бібліотеки, яку ви хочете завантажити, і готово. Не потрібно робити це вручну, якщо ви встановлюєте програмне забезпечення із сховищ.
Підсумок: Ні, ви можете запускати 32-бітні пакети без встановлення ia32-libs
, якщо встановити пакунки із сховищ, ще краще. Якщо ви перебуваєте в розробці, намагайтеся завжди використовувати систему APT.
Не забудьте додати архітектуру i386, або ви не зможете встановити 32-бітні пакети:
sudo dpkg --add-architecture i386
sudo apt-get update
Перегляньте посібник з усунення несправностей із пакетом: https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
apt-get install libc6:i386
і apt-get install libgtk2.0-0:i386
(остання, оскільки це додаток GTK).