как запустить 64-битную программу на 32-битной машине [dубликат]

, если вы будете следовать этим инструкциям, у вас будет отличная панель, как и в 10.10 и 11.04. это даст вам точный вид панели, который вы хотите:)

Чтобы установить индикатор-апплет для GNOME 3 (классический / резервный сеанс) в Ubuntu 11.10, используйте следующие команды:

sudo add-apt-repository ppa:jconti/gnome3
sudo apt-get update
sudo apt-get install indicator-applet indicator-applet-complete indicator-applet-session

Чтобы также установить апплет индикатора глобального меню для классического сеанса GNOME 3, используйте следующую команду:

sudo apt-get install indicator-applet-appmenu

После установки вы можете удалить существующие апплеты, которые вам не нужны, например, часы или пользовательское меню с классической панели сессии GNOME 3 - для этого ALT + щелкните правой кнопкой мыши и выберите «Удалить».

Затем, чтобы добавить апплет GNOME 3 Indicator на панель, щелкните правой кнопкой мыши на верхней панели, удерживая клавишу ALT и выбрав «Добавить в панель» и из списка апплетов, добавьте «Апплет индикатора завершен». Чтобы получить глобальное меню, добавьте также «App App апплета апплета».

Обратите внимание: если вы не удалите область уведомлений (systray) с верхней панели, вы получите дополнительный значок звука. К сожалению, я не мог найти решение об этом. Кроме того, если вы хотите переместить / удалить systray, не нажимайте ALT + RIGHT CLICK, а перед ним (есть очень маленькая невидимая область).

И последний совет: исправить панели, ALT + RIGHT CLICK it и для фона используйте цвет # 303030 (для темы Ambiance). Кроме того, установите тему GTK, которая поддерживает новую панель GNOME 3

Наслаждайтесь:)

16
задан 10 July 2015 в 18:29

11 ответов

При условии, что ваше аппаратное обеспечение поддерживает 64-битные, что делает:

CPU op-mode (s): 32-разрядный, 64-битный

, и пакет был готов использовать многоархиво, что также верно:

 dpkg -I viber.deb
 new debian package, version 2.0. <--- here
 size 57046082 bytes: control archive=8024 bytes.
       0 bytes,     0 lines      0                    
    1210 bytes,    29 lines      control              
    9475 bytes,    33 lines   *  copyright            
    7404 bytes,    85 lines      md5sums              
      39 bytes,     2 lines   *  postinst             #!/bin/bash
     800 bytes,    35 lines   *  preinst              #!/bin/bash
     500 bytes,    24 lines   *  prerm                #!/bin/bash
 Package: viber
 Version: 4.2.2.6
 Section: non-free/net
 Priority: extra
 Architecture: amd64 <---- and here

вы могли бы просто установить необходимые 64-битные библиотеки и двоичные файлы, которые зависят от пакета (это ничто, больше о что позже), что вам нужно запустить приложение с виртуальным нулевым эффектом. В моем случае я просто установил пакет просто:

$ sudo dpkg --add-architecture amd64
## adding 64-bits architecture package, in my system I didn't need to
## but it's likely you have
$ sudo apt-get update # this downloads the package list for amd64 arch
$ sudo dpkg -i viber.deb
Selecting previously unselected package viber.
(Reading database ... 268703 files and directories currently installed.)
Preparing to unpack viber.deb ...
Unpacking viber (4.2.2.6) ...
Setting up viber (4.2.2.6) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for gnome-menus (3.13.3-1) ...
Processing triggers for mime-support (3.56) ...
Processing triggers for desktop-file-utils (0.22-1) ...

И затем начал работать в проблемах ...

Менеджеры пакетов решили, что они не должны перечислять какую-либо зависимость для их пакет,

 Installed-Size: 141336
 Conflicts: Viber (<< 4.2.2.6)
 Replaces: Viber (<< 4.2.2.6)
 Maintainer: Viber Media Inc <support@viber.com>

, который им действительно нужен:

ldd /opt/viber/Viber | grep 'not found'
    libXcomposite.so.1 => not found
    libxslt.so.1 => not found
    libxml2.so.2 => not found
    libgstreamer-0.10.so.0 => not found
    libgstapp-0.10.so.0 => not found
    libgstbase-0.10.so.0 => not found
    libgstinterfaces-0.10.so.0 => not found
    libgstpbutils-0.10.so.0 => not found
    libgstvideo-0.10.so.0 => not found
    libsqlite3.so.0 => not found

, поэтому вы должны найти и установить библиотеки, отсутствующие вручную! Это легко, если вы знаете правильные инструменты. apt-file пригодится здесь, также http://packages.ubuntu.com функциональность «Поиск содержимого пакетов» также прекрасна. Но я пошел дальше и искал их:

Эти файлы уже установлены в моей системе, вам нужно всего лишь скопировать имя пакета, то есть перед двоеточием, заканчивающимся на amd64. Вы должны скопировать имена пакетов в том виде, в каком они есть:

dpkg -S $(ldd /opt/viber/Viber | awk '{print $3}' | grep -vP 'not|viber')
libc6:amd64: /lib/x86_64-linux-gnu/libpthread.so.0
libc6:amd64: /lib/x86_64-linux-gnu/libdl.so.2
libc6:amd64: /lib/x86_64-linux-gnu/librt.so.1
libstdc++6:amd64: /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libc6:amd64: /lib/x86_64-linux-gnu/libm.so.6
libgcc1:amd64: /lib/x86_64-linux-gnu/libgcc_s.so.1
libc6:amd64: /lib/x86_64-linux-gnu/libc.so.6
libx11-6:amd64: /usr/lib/x86_64-linux-gnu/libX11.so.6
libxext6:amd64: /usr/lib/x86_64-linux-gnu/libXext.so.6
zlib1g:amd64: /lib/x86_64-linux-gnu/libz.so.1
libgl1-mesa-glx:amd64: /usr/lib/x86_64-linux-gnu/libGL.so.1
libxrender1:amd64: /usr/lib/x86_64-linux-gnu/libXrender.so.1
libglib2.0-0:amd64: /lib/x86_64-linux-gnu/libglib-2.0.so.0
libglib2.0-0:amd64: /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
libxcb1:amd64: /usr/lib/x86_64-linux-gnu/libxcb.so.1
libglapi-mesa:amd64: /usr/lib/x86_64-linux-gnu/libglapi.so.0
libxdamage1:amd64: /usr/lib/x86_64-linux-gnu/libXdamage.so.1
libxfixes3:amd64: /usr/lib/x86_64-linux-gnu/libXfixes.so.3
libx11-xcb1:amd64: /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1
libxcb-glx0:amd64: /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0
libxcb-dri2-0:amd64: /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0
libxcb-dri3-0:amd64: /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0
libxcb-present0:amd64: /usr/lib/x86_64-linux-gnu/libxcb-present.so.0
libxcb-sync1:amd64: /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1
libxshmfence1:amd64: /usr/lib/x86_64-linux-gnu/libxshmfence.so.1
libxxf86vm1:amd64: /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1
libdrm2:amd64: /usr/lib/x86_64-linux-gnu/libdrm.so.2
libpcre3:amd64: /lib/x86_64-linux-gnu/libpcre.so.3
libffi6:amd64: /usr/lib/x86_64-linux-gnu/libffi.so.6
libxau6:amd64: /usr/lib/x86_64-linux-gnu/libXau.so.6
libxdmcp6:amd64: /usr/lib/x86_64-linux-gnu/libXdmcp.so.6

Я не установил их, которые я получил с помощью ldd /opt/viber/Viber | grep 'not found' | awk '{printf "%s$\n", $1}' | apt-file search -x -a amd64 -f - | sed 's/\:/:amd64:/':

$ ldd /opt/viber/Viber | grep 'not found' | awk '{printf "%s$\n", $1}' | apt-file search -x -a amd64 -f - | sed 's/\:/:amd64:/'
libgstreamer-plugins-base0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstapp-0.10.so.0
libgstreamer-plugins-base0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstinterfaces-0.10.so.0
libgstreamer-plugins-base0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstpbutils-0.10.so.0
libgstreamer-plugins-base0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstvideo-0.10.so.0
libgstreamer0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstbase-0.10.so.0
libgstreamer0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstreamer-0.10.so.0
libsqlite3-0:amd64: /usr/lib/x86_64-linux-gnu/libsqlite3.so.0
libxcomposite1:amd64: /usr/lib/x86_64-linux-gnu/libXcomposite.so.1
libxml2:amd64: /usr/lib/x86_64-linux-gnu/libxml2.so.2
libxslt1.1:amd64: /usr/lib/x86_64-linux-gnu/libxslt.so.1

apt-file было дразнить, чтобы дать мне 64-битные пакеты, поэтому мне пришлось сделать sudo apt-file -a amd64 update, чтобы заставить его иметь 64-битный список файлов.

Теперь, позвольте мне объяснить, что все перечисленное:

  • ldd /path/to/binary : читает двоичный файл и сообщает вам, какие библиотеки, символы и т. д.
  • dpkg -S : найдите, какие пакеты предоставляют определенный установленный файл.
  • awk, sed и grep: изменяют текстовый поток для обработки только интересных частей или отображения желаемого результата.
  • | , $(...) : первый позволяет мне передать вывод команды другому, а позже позволяет мне выполнить / оценить команду перед тем, как основные выполняются.

TL; dr просто устанавливает эти пакеты:

sudo dpkg --add-architecture amd64 ## adding 64-bits architecture package
sudo apt-get update
sudo apt-get install libgstreamer-plugins-base0.10-0:amd64 libgstreamer-plugins-base0.10-0:amd64 libgstreamer-plugins-base0.10-0:amd64 libgstreamer-plugins-base0.10-0:amd64 libgstreamer0.10-0:amd64 libgstreamer0.10-0:amd64 libsqlite3-0:amd64 libxcomposite1:amd64 libxml2:amd64 libxslt1.1:amd64 libc6:amd64 libdrm2:amd64 libffi6:amd64 libgcc1:amd64 libgl1-mesa-glx:amd64 libglapi-mesa:amd64 libglib2.0-0:amd64 libpcre3:amd64 libstdc++6:amd64 libx11-6:amd64 libx11-xcb1:amd64 libxau6:amd64 libxcb1:amd64 libxcb-dri2-0:amd64 libxcb-dri3-0:amd64 libxcb-glx0:amd64 libxcb-present0:amd64 libxcb-sync1:amd64 libxdamage1:amd64 libxdmcp6:amd64 libxext6:amd64 libxfixes3:amd64 libxrender1:amd64 libxshmfence1:amd64 libxxf86vm1:amd64 zlib1g:amd64

Вам также необходимо установить 64-битное ядро.

20
ответ дан 13 August 2018 в 04:42

Невозможно установить программное обеспечение, поддерживающее только 64-битную архитектуру на 32-битной ОС, тогда как обратное верно. Чтобы установить 64-битное программное обеспечение, вам понадобится аппаратное обеспечение, поддерживающее 64-разрядную и 64-разрядную ОС, расположенные поверх нее.

Также я хотел бы упомянуть, что невозможно установить 64 Бит ОС как виртуальная машина на аппаратном обеспечении, поддерживающем только 32-битную архитектуру. Ваше оборудование должно поддерживать 64-битную архитектуру вместе с поддержкой виртуализации для создания 64-битных виртуальных машин.

12
ответ дан 18 July 2018 в 03:01

Вы можете установить 64-битное программное обеспечение на машину, построенную на 32-битном аппаратном обеспечении, таким же образом, как вы можете запустить программное обеспечение ARM на цель x86, используя динамический перевод.

В принципе, часть программного обеспечения, такого как поскольку qemu находится между программами и вашим компьютером, выполняя перевод с набора инструкций AMD64 на x86 (возможно, i686) один (с очень серьезным успехом, по общему признанию, что в вашем случае можно полностью избежать).

Учитывая, что вы используете ubuntu, у вас отличный qemu . В принципе у вас есть один из двух вариантов: вы можете либо запустить программу в полной 64-битной виртуальной среде с собственным ядром, либо, я думаю, вы хотите здесь визуализировать пространство пользователя, это использует thunking (я не думаю, что это обычно называемый thunking в эти дни, но забыть новое слово), чтобы перевести системные вызовы с 64 до 32 бит, чтобы вы могли использовать свое собственное ядро.

Теперь руководство объясняет это лучше меня, но вкратце вам нужно для установки qemu и статических пакетов qemu-kvm-extras, затем используйте qemu-debootstrap для настройки среды и библиотек для вашей 64-разрядной программы. Затем вам нужно использовать binfmt_misc и статический qemu-интерпретатор (qemu-arch-static, в вашем случае, вероятно, x86_64, x64 или AMF64), чтобы запустить вашу программу внутри своей среды.

Обратите внимание, что, однако, ваш процессор кажется для поддержки 64-битных инструкций, чтобы можно было установить 64-разрядную ubuntu, вы можете без какого-либо кода эмуляции запускать x86 на машине AMD64, и если вы в состоянии сделать это, может быть проще, если, с другой стороны, вы хотите чтобы обнаружить qemu и мир эмуляции архитектуры (может появиться позже, если вы получите программу, построенную для ... ARM, например, что-то построенное для телефона). Я рекомендую вам идти вперед, но остерегайтесь, иногда бывает немного возиться или отладки, прежде чем они будут работать хорошо.

9
ответ дан 18 July 2018 в 03:01

Если вы используете 32-битную систему, используйте

sudo dpkg --force-architecture -i viber.deb

ссылка: Как установить Viber на Ubuntu 13.10, 32bit

-1
ответ дан 18 July 2018 в 03:01

Читайте о 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

1
ответ дан 18 July 2018 в 03:01

Я должен сказать, что вы не верны в отношении

мой компьютер поддерживает только 32-битные

. По результатам работы lscpu ваша версия Ubuntu, установленная на 32 бит в то время как ваша система может поддерживать 64-битное приложение, если вы хотите установить 64-битное приложение, вам необходимо установить 64-разрядную версию Ubuntu OS. см. следующие строки:

Architecture: i686 # <-- your kernel is 32 bit (32 bit Ubuntu) CPU op-mode(s): 32-bit, 64-bit # <-- your cpu can handle 32 or 64 bit instructions 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

Загрузите и установите 64-битный Ubuntu 14.04.1, а затем установите Viber.

10
ответ дан 18 July 2018 в 03:01

Невозможно установить программное обеспечение, поддерживающее только 64-битную архитектуру на 32-битной ОС, тогда как обратное верно. Чтобы установить 64-битное программное обеспечение, вам понадобится аппаратное обеспечение, поддерживающее 64-разрядную и 64-разрядную ОС, расположенные поверх нее.

Также я хотел бы упомянуть, что невозможно установить 64 Бит ОС как виртуальная машина на аппаратном обеспечении, поддерживающем только 32-битную архитектуру. Ваше оборудование должно поддерживать 64-битную архитектуру вместе с поддержкой виртуализации для создания 64-битных виртуальных машин.

12
ответ дан 24 July 2018 в 17:43
  • 1
    Вы можете установить 64-битную виртуальную машину на 32-битную машину, так же как вы можете установить одну из любых архитектур, посмотрите на qemu , например. Заметьте, однако, это будет чрезвычайно медленным. – Vality 19 August 2014 в 13:40
  • 2
    @Vality Ваш ответ кажется хорошим. Не могли бы вы еще больше улучшить ответ. – A Umar Mukthar 19 August 2014 в 14:32
  • 3
    @AUmarMukthar Я, что удобно вообще? Если этого не хватает, прокомментируйте, и я увижу, смогу ли я его улучшить. – Vality 19 August 2014 в 16:55

Вы можете установить 64-битное программное обеспечение на машину, построенную на 32-битном аппаратном обеспечении, таким же образом, как вы можете запустить программное обеспечение ARM на цель x86, используя динамический перевод.

В принципе, часть программного обеспечения, такого как поскольку qemu находится между программами и вашим компьютером, выполняя перевод с набора инструкций AMD64 на x86 (возможно, i686) один (с очень серьезным успехом, по общему признанию, что в вашем случае можно полностью избежать).

Учитывая, что вы используете ubuntu, у вас отличный qemu . В принципе у вас есть один из двух вариантов: вы можете либо запустить программу в полной 64-битной виртуальной среде с собственным ядром, либо, я думаю, вы хотите здесь визуализировать пространство пользователя, это использует thunking (я не думаю, что это обычно называемый thunking в эти дни, но забыть новое слово), чтобы перевести системные вызовы с 64 до 32 бит, чтобы вы могли использовать свое собственное ядро.

Теперь руководство объясняет это лучше меня, но вкратце вам нужно для установки qemu и статических пакетов qemu-kvm-extras, затем используйте qemu-debootstrap для настройки среды и библиотек для вашей 64-разрядной программы. Затем вам нужно использовать binfmt_misc и статический qemu-интерпретатор (qemu-arch-static, в вашем случае, вероятно, x86_64, x64 или AMF64), чтобы запустить вашу программу внутри своей среды.

Обратите внимание, что, однако, ваш процессор кажется для поддержки 64-битных инструкций, чтобы можно было установить 64-разрядную ubuntu, вы можете без какого-либо кода эмуляции запускать x86 на машине AMD64, и если вы в состоянии сделать это, может быть проще, если, с другой стороны, вы хотите чтобы обнаружить qemu и мир эмуляции архитектуры (может появиться позже, если вы получите программу, построенную для ... ARM, например, что-то построенное для телефона). Я рекомендую вам идти вперед, но остерегайтесь, иногда бывает немного возиться или отладки, прежде чем они будут работать хорошо.

9
ответ дан 24 July 2018 в 17:43
  • 1
    Этот тип "динамического трансляции" виртуализация будет болезненно медленной . И поскольку у него есть 64-битная система, в первую очередь, было бы лучше всего установить 64-битную ОС. – Michael Hampton 20 August 2014 в 00:35
  • 2
    @MichaelHampton Я знаю, что это будет медленно и действительно отметили, что я также отметил, что ему может быть лучше с 64-битной ОС, однако я также хотел дать ответ, который бы ответил на заданный вопрос. – Vality 20 August 2014 в 03:51
  • 3
    Я не думал, что «хит производительности» адекватно объясняет, насколько это будет медленным. :) – Michael Hampton 20 August 2014 в 03:53
  • 4
    @MichaelHampton Правда. Счастлив теперь? ;) – Vality 20 August 2014 в 04:04
  • 5
    Да, теперь мне это нравится. :) – Michael Hampton 20 August 2014 в 04:08

Если вы используете 32-битную систему, используйте

sudo dpkg --force-architecture -i viber.deb

ссылка: Как установить Viber на Ubuntu 13.10, 32bit

-1
ответ дан 24 July 2018 в 17:43
  • 1
    root @ umar: / home / umar / Desktop # sudo dpkg -i viber.deb dpkg: архив обработки ошибок viber.deb (--install): архитектура пакета (amd64) не соответствует системе (i386) Ошибки возникали при обработке: viber.deb – A Umar Mukthar 20 August 2014 в 07:15
  • 2
    @AUmarMukthar sudo dpkg --add-architecture amd64. – Braiam 20 August 2014 в 07:21
  • 3
    Я попробовал вашу команду. Дальнейшего прогресса нет – A Umar Mukthar 20 August 2014 в 07:35
  • 4
    «Возможно, вам также необходимо установить 64-битное ядро. & quot; - Это не вероятно, это на 100%. У 32-битного ядра просто нет того, что требуется для настройки 64-х процессорной среды. – Mat 20 August 2014 в 09:51
  • 5
  • 6
    На самом деле тоже не работает. скачать viber для windows и установить его с вином, работал для меня. – stan 13 May 2015 в 23:06

Читайте о 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

1
ответ дан 24 July 2018 в 17:43
  • 1
    Также возможно установить x86 application on x64 OS. – αғsнιη 19 August 2014 в 15:23

Я должен сказать, что вы не верны в отношении

мой компьютер поддерживает только 32-битные

. По результатам работы lscpu ваша версия Ubuntu, установленная на 32 бит в то время как ваша система может поддерживать 64-битное приложение, если вы хотите установить 64-битное приложение, вам необходимо установить 64-разрядную версию Ubuntu OS. см. следующие строки:

Architecture: i686 # <-- your kernel is 32 bit (32 bit Ubuntu) CPU op-mode(s): 32-bit, 64-bit # <-- your cpu can handle 32 or 64 bit instructions 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

Загрузите и установите 64-битный Ubuntu 14.04.1, а затем установите Viber.

10
ответ дан 24 July 2018 в 17:43
  • 1
    Это правильно, если я это сделаю, я потеряю другие приложения, установленные до сих пор. Так что только я ищу решение. Любые, как спасибо за вашу информацию. +1 за ваши усилия – A Umar Mukthar 19 August 2014 в 19:02

Другие вопросы по тегам:

Похожие вопросы: