sexta-feira, 17 de julho de 2015

Como saber se um programa instalado é de 64 ou 32 bits no GNU/Linux


Esta dúvida surgirá quando você utiliza uma distro GNU/Linux de 64 bits e tem a compartibilidade de 32 bits instalada, e costuma instalar vários programas de 32 bits de diferentes origens que não seja do repositório oficial e depois de algum tempo pode surgir a necessidade de saber pra qual arquitetura foi criado o programa que você está utilizando, mesmo que tudo funcione corretamente.

Por exemplo você está usando uma distro de 64 bits e tem a compatibilidade de 32 bits instalada e costuma instalar alguns programas de 32 bits na mesma, mas não sem lembra mais se o programa é de 32 ou 64 bits, principalmente se você não utilizou o formato de pacote da sua distro para instalar estes programas no sistema, sendo neste caso instalado tipo descompactação de pacotes tgz, bz2, zip etc onde para o seu gerenciador de pacotes o programa não está instalado ou então você usa pacotes convertido de outra distro para o formato da sua distro usando o Alien ou outra ferramenta pra mesma finalidade, no qual pode ser perder todas as informações essências sobre o pacote que não são transferidas para o pacote convertido, não tendo neste caso as informações gerais do pacote no registro de dados do gerenciador de pacotes da distro, sabendo apenas que tal pacote está instalado no sistema e sua estrutura de diretório e arquivos.

A solução é bem simples, basta usar o comando file com o nome do executável do programa estando no diretório do mesmo ou entre com o caminho completo.

Exemplos:

$ file etracer 
etracer: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=31a77893f7462d6547577359ec041ba8b36c9f03, stripped


$ file penguin-command 
penguin-command: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.4.1, stripped

No exemplo de 32 bits acima mesmo existindo versões de 64 bits no repositório oficial eu instalei alguns programas de 32 bits para testar a compatibilidade e funcionou muito bem, sendo realizado no Xubuntu 15.04 64 bits deste é claro que existam as versões de libs requerida pelo programa no repositório além da arquitetura de 32 bits, senão tem que fazer algumas gambiarras para achar na net e instalar a versão da lib requerida manualmente.

ATENÇÃO:
Faça isto somente se você tiver bastante experiência em sistemas GNU/Linux e tiver conhecimento para que serve tal lib para não danificar o seu sistema, quando você não utilizar diretamente do repositório oficial da versão da sua distro com o seu gerenciador de pacotes.

Nenhum comentário:

Postar um comentário