Eu tenho o Ubuntu 14.04. Eu baixei recentemente o Viber . O arquivo .deb do Viber possui arquitetura de 64 bits. Quero instalá-lo no meu computador, mas meu computador suporta apenas 32 bits.
A saída da execução lscpu
é a seguinte:
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
A Umar Mukthar
fonte
fonte
lscpu
no Terminal?Respostas:
Desde que o seu hardware suporte 64 bits, o que faz:
e o pacote foi preparado para usar multiarch, o que também é verdade:
você pode simplesmente instalar as bibliotecas e binários de 64 bits necessários, que dependem do pacote (que é nenhum, mais sobre isso posteriormente) que você precisa para executar o aplicativo, com impacto virtual no desempenho zero. No meu caso, acabei de instalar o pacote:
E então começou a ter problemas ...
Os gerenciadores de pacotes decidiram que não deveriam listar nenhuma dependência para seu pacote,
do qual eles realmente precisam:
então você deve encontrar e instalar as bibliotecas ausentes manualmente! Isso é fácil se você conhece as ferramentas corretas.
apt-file
é útil aqui, também a funcionalidade http://packages.ubuntu.com "Pesquisar o conteúdo dos pacotes" também funciona bem. Mas fui em frente e procurei por eles:Esses arquivos já estão instalados no meu sistema, você só precisa copiar o nome do pacote, aquele antes dos dois pontos que termina com
amd64
. Você deve copiar os nomes dos pacotes como eles são:Estes eu não os tinha instalado, que obtive usando
ldd /opt/viber/Viber | grep 'not found' | awk '{printf "%s$\n", $1}' | apt-file search -x -a amd64 -f - | sed 's/\:/:amd64:/'
:apt-file
foi uma provocação para me fornecer os pacotes de 64 bits, então preciseisudo apt-file -a amd64 update
forçá-lo a ter a lista de arquivos de 64 bits.Agora, deixe-me explicar o que é tudo acima:
ldd /path/to/binary
: lê um binário e informa quais são as bibliotecas, símbolos etc. necessáriosdpkg -S
: pesquise quais pacotes fornecem um arquivo instalado específico.awk
,sed
egrep
: estão modificando o fluxo de texto para processar apenas as partes interessantes ou mostrar a saída desejada.|
,$(...)
: o primeiro me permite canalizar a saída de um comando para outro, e o último me permite executar / avaliar um comando antes que os principais sejam executados.O TL; dr apenas instala estes pacotes:
Você também precisa instalar o kernel de 64 bits.
fonte
sudo dpkg --add-architecture amd64
.Não é possível instalar um software que suporte apenas arco de 64 bits em um sistema operacional de 32 bits, enquanto o inverso é verdadeiro. Para instalar um software de 64 bits, você precisará de um hardware compatível com o sistema operacional de 64 bits e um sistema operacional de 64 bits na parte superior.
Também gostaria de mencionar que não é possível instalar o SO de 64 bits como uma máquina virtual em um hardware que suporta apenas arquitetura de 32 bits. Seu hardware deve suportar a arquitetura de 64 bits juntamente com o suporte à virtualização para criar máquinas virtuais de 64 bits.
fonte
Eu tenho que dizer que você não é verdadeiro sobre
De acordo com o resultado da execução da
lscpu
sua versão do Ubuntu instalada, é de 32 bits, enquanto o seu sistema pode suportar aplicativos de 64 bits, se você deseja instalar o aplicativo de 64 bits, é necessário instalar o sistema operacional Ubuntu de 64 bits. veja estas linhas abaixo:Baixe e instale o Ubuntu 14.04.1 de 64 bits e instale o Viber também.
fonte
É possível instalar o software de 64 bits em uma máquina construída com hardware de 32 bits da mesma maneira que você pode executar, digamos, o software ARM em um destino x86, usando tradução dinâmica.
Basicamente, um software como o qemu fica entre os programas e o seu computador, executando uma tradução do conjunto de instruções AMD64 para o x86 (provavelmente i686) (com um desempenho muito grave atingido, o que, no seu caso, pode ser totalmente evitável).
Como você está usando o ubuntu, você tem uma excelente documentação sobre como configurar isso . Basicamente, você tem uma das duas opções: pode executar o programa em um ambiente completo de VM de 64 bits com seu próprio kernel ou, o que eu acho que você quer aqui é a visualização do espaço do usuário, isso usa thunking (eu não acho que seja comum chamado thunking hoje em dia, mas esqueça a nova palavra) para converter as chamadas do sistema de 64 para 32 bits, para que você possa usar seu próprio kernel.
Agora, o guia explica isso melhor do que eu, mas, em resumo, você precisa instalar o qemu e os pacotes qemu-kvm-extras-static e usar o qemu-debootstrap para configurar um ambiente e bibliotecas para o seu programa de 64 bits. Então você precisa usar o binfmt_misc e o interpretador estático do qemu (qemu-arch-static, no seu caso provavelmente x86_64, x64 ou AMF64) para executar seu programa dentro do ambiente.
Observe que, no entanto, sua CPU parece suportar instruções de 64 bits; portanto, é possível instalar o ubuntu de 64 bits; você pode, sem emulação, executar o código x86 em uma máquina AMD64 e, se conseguir fazer isso, pode ser mais fácil, se, por outro lado, você quiser descobrir o qemu e o mundo da emulação de arquitetura (pode vir em mãos mais tarde, se você tiver um programa construído para, por exemplo ... ARM, como algo criado para um telefone), recomendo que continue em frente, mas tenha cuidado , às vezes as coisas demoram um pouco para mexer ou depurar antes de funcionarem bem.
fonte
Leia sobre aplicativos de 32 bits (x86) e 64 bits:
http://www.techsupportalert.com/content/32-bit-and-64-bit-explained.htm
Às vezes, é possível que um aplicativo ou pacote único [um arquivo .deb] atue como ambos após a instalação.
ou seja,
x86 app on x86 OS
ex64 app on x64 OS
fonte
x86 application on x64 OS
.Se você estiver executando o sistema de 32 bits, use
sudo dpkg --force-architecture -i viber.deb
link: Como instalar o Viber no Ubuntu 13.10, 32bit
fonte