У меня Ubuntu 14.04. Я недавно скачал Viber . Файл .deb Viber имеет 64-битную архитектуру. Я хочу установить его на свой компьютер, но мой компьютер поддерживает только 32-разрядную версию.
Выход работает lscpu
следующим образом:
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 10
CPU MHz: 2800.000
BogoMIPS: 5586.12
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
software-installation
Умар Муктар
источник
источник
lscpu
в Терминале?Ответы:
При условии, что ваше аппаратное обеспечение поддерживает 64-разрядную версию, которая:
и пакет был подготовлен для использования multiarch, что также верно:
Вы могли бы просто установить необходимые 64-битные библиотеки и двоичные файлы, которые являются зависимостью пакета (а этого нет, подробнее об этом позже), который необходим для запуска приложения, с виртуальным нулевым влиянием на производительность. В моем случае я просто установил пакет просто отлично:
И тут начались проблемы ...
Менеджеры пакетов решили, что они не должны перечислять какие-либо зависимости для своего пакета,
что им на самом деле нужно:
поэтому вы должны найти и установить отсутствующие библиотеки вручную! Это легко, если вы знаете правильные инструменты.
apt-file
пригодится и здесь хорошо работает и функция http://packages.ubuntu.com «Поиск по содержимому пакетов». Но я пошел дальше и искал их:Эти файлы уже установлены в моей системе, вам нужно только скопировать имя пакета, то есть перед двоеточием, которое заканчивается на
amd64
. Вы должны скопировать имена пакетов, как они:Эти я не имел их, которые я получил с помощью
ldd /opt/viber/Viber | grep 'not found' | awk '{printf "%s$\n", $1}' | apt-file search -x -a amd64 -f - | sed 's/\:/:amd64:/'
:apt-file
было дразнить меня, чтобы дать мне 64-битные пакеты, поэтому мне пришлось сделать так,sudo apt-file -a amd64 update
чтобы у него был список 64-битных файлов.Теперь позвольте мне объяснить, что все это выше:
ldd /path/to/binary
: читает двоичный файл и сообщает вам, какие библиотеки необходимы, символы и т. д.dpkg -S
: поиск, какие пакеты предоставляют определенный установленный файл.awk
,sed
Иgrep
: изменяют поток текста , чтобы обработать только интересные части или показать желаемый результат.|
,$(...)
: первый позволяет мне передать вывод команды другому, а второй позволяет мне выполнить / оценить команду до того, как будут выполнены основные.TL; dr просто установите эти пакеты:
Вам также необходимо установить 64-битное ядро.
источник
sudo dpkg --add-architecture amd64
.Невозможно установить программное обеспечение, которое поддерживает только 64-битную арку на 32-битной ОС, тогда как обратное верно. Для установки 64-битного программного обеспечения вам понадобится аппаратное обеспечение, которое поддерживает 64-битную и 64-битную ОС, работающую поверх него.
Также я хотел бы отметить, что невозможно установить 64-битную ОС в качестве виртуальной машины на оборудовании, которое поддерживает только 32-битную архитектуру. Ваше оборудование должно поддерживать 64-битную архитектуру наряду с поддержкой виртуализации для создания 64-битных виртуальных машин.
источник
Я должен сказать, что вы не правы о
В зависимости от результатов запуска
lscpu
установленной версии Ubuntu 32-битная, в то время как ваша система может поддерживать 64-битное приложение, если вы хотите установить 64-битное приложение, вам нужно установить 64-битную ОС Ubuntu. смотрите эти строки ниже:Загрузите и установите 64-битную Ubuntu 14.04.1, а затем установите Viber .
источник
Вы можете установить 64-битное программное обеспечение на машину, построенную на 32-битном оборудовании, точно так же, как вы можете запускать, скажем, программное обеспечение ARM на цели x86, используя динамический перевод.
По сути, часть программного обеспечения, такая как qemu, находится между программами и вашим компьютером, выполняя перевод набора команд AMD64 на x86 (возможно, i686) (с очень серьезным ударом по производительности, что в вашем случае может быть полностью можно избежать).
Учитывая, что вы используете Ubuntu, у вас есть отличная документация о том, как это настроить . По сути, у вас есть один из двух вариантов: вы можете либо запустить программу в полной 64-битной среде виртуальных машин со своим собственным ядром, либо, я думаю, вам здесь нужна визуализация в пространстве пользователя, в которой используется thunking (я не думаю, что это обычно в эти дни называется thunking, но забудьте новое слово) для перевода системных вызовов с 64-битных на 32-битные, чтобы вы могли использовать свое собственное ядро.
Теперь руководство объясняет это лучше, чем я, но вкратце вам нужно установить пакеты qemu и qemu-kvm-extras-static, а затем использовать qemu-debootstrap для настройки среды и библиотек для вашей 64-битной программы. Затем вам нужно использовать binfmt_misc и статический интерпретатор qemu (qemu-arch-static, в вашем случае, вероятно, x86_64, x64 или AMF64) для запуска вашей программы в ее среде.
Обратите внимание, что, однако, ваш процессор поддерживает 64-битные инструкции, поэтому вы можете установить 64-битную Ubuntu, вы можете без эмуляции запустить код x86 на машине AMD64, и если вы сможете это сделать, это может быть проще, с другой стороны, если вы хотите открыть для себя qemu и мир эмуляции архитектуры (может появиться позже, если вы получите программу, созданную, например, для ... ARM, например, для телефона), я рекомендую вам идти вперед, но будьте осторожны иногда вещи начинают немного возиться или отлаживаться, прежде чем они будут хорошо работать.
источник
Прочитайте о 32-битных (x86) и 64-битных приложениях:
http://www.techsupportalert.com/content/32-bit-and-64-bit-explained.htm
Иногда возможно, что приложение или отдельный пакет [один файл .deb] будут действовать как оба после установки.
то есть
x86 app on x86 OS
иx64 app on x64 OS
источник
x86 application on x64 OS
.Если вы используете 32-битную систему, используйте
sudo dpkg --force-architect -i viber.deb
ссылка: Как установить Viber на Ubuntu 13.10, 32bit
источник