Executando programas 32 bits no Debian Etch amd64

Executando programas 32 bits no Debian Etch amd64

Este artigo descreve como criar uma gaiola de 32 bits para executar programas 32 bits no Debian Etch AMD64

Introdução

Como o surgimento dos processadores de 64 bits pode ser considerado recente muitos programas 32 bits ainda não possuem versões para a plataforma de 64 bits. O objetivo desse artigo é descrever como construir uma gaiola de 32 bits dentro de um sistema de 64 para executar programas 32 bits.

Construindo a gaiola de 32 bits

Para construir a gaiola de 32 bits vamos instalar os pacotes necessários:
# aptitude install debootstrap a32-libs a32-libs-gtk dchroot
Agora construiremos a gaiola:
# debootsrap --arch i386 /opt/chroot/etch-ia32 http://ftp.br.debian.org/debian
O penúltimo parâmetro é o diretório onde a gaiola será construída e o último é o repositório para obter os pacotes para a gaiola. Agora devemos alterar o arquivo /etc/ld.so.conf para permitir que o sistema de 64 use as bibliotecas da gaiola, acrescentaremos as seguintes linhas ao arquivo:
# chroot i386 system libs
/var/chroot/sid-ia32/lib
/var/chroot/sid-ia32/usr/lib
/var/chroot/sid-ia32/usr/X11R6/lib
/var/chroot/sid-ia32/usr/local/lib
Criamos um link para o linker da gaiola de 32 bits
ln -s /opt/chroot/etch-ia32/lib/ld-2.3.2.so /lib/ld-linux.so.2
Agora atualizaremos o cache linker das bibliotecas com o comando:
ldconfig
Agora vamos alterar o arquivo /etc/fstab para que alguns aplicativos da gaiola trabalhem normalmente, adicionaremos as seguintes linhas:
# ia32 chroot
/home /opt/chroot/etch-ia32/home none bind 0 0
/tmp /opt/chroot/etch-ia32/tmp none bind 0 0
proc /opt/chroot/etch-ia32/proc proc defaults 0 0
E em seguida montamos esses diretórios:
# mount /opt/chroot/etch-ia32/home
# mount /opt/chroot/etch-ia32/tmp
# mount /opt/chroot/etch-ia32/proc
Temos que fazer com que a gaiola enxergue os arquivos de configuração do sistema também, para isso vamos copiar esses arquivos para dentro da gaiola (alguns tutoriais dizem que pode-se criar links simbólicos, mas eu não testei):
# cp /etc/passwd /opt/chroot/etch-ia21/etc/
# cp /etc/shadow /opt/chroot/etch-ia21/etc/
# cp /etc/group /opt/chroot/etch-ia21/etc/
# cp /etc/resolv.conf /opt/chroot/etch-ia21/etc/
# cp /etc/networks /opt/chroot/etch-ia21/etc/
Agora podemos entrar dentro da gaiola:
# chroot /opt/chroot/etch-ia32
Atenção os passos que serão descritos agora serão executados dentro da gaiola após o comando anterior. Altere o o arquivo /etc/apt/source.list para instalação de pacotes dentro da gaiola:
deb http://ftp.br.debian.org/debian stable main contrib non-free
Instale os pacotes básicos para execução de outros programas dentro da gaiola:
aptitude install libX11-6 locales
Vamos instalar também o iceweasel e o plugin java que não apresenta versão de 64 bits:
aptitude install iceweasel-l10n-pt-br sun-java6-plugin
Saímos da gaiola:
exit
Agora estamos de volta no sistema de 64 bits fora da gaiola. Vamos configurar o dchroot para que qualquer usuário possa usar os programas da gaiola, alteraremos o arquivos /etc/dchroot.conf e acrescentamos as seguintes linhas:
#ia32 dchroot
ia32 /opt/chroot/etch-ia32
Depois disso, podemos executar programas de dentro da gaiola com o dchroot, por exemplo para executarmos o iceweasel que instalamos dentro da gaiola usamos o seguinte comando:
dchroot -c ia32 -d iceweasel
Agora podemos usar o plugin java em um sistema amd64.

Referências

Comentários

Postagens mais visitadas deste blog

Instalando o SMS Power View no Debian

Fazendo Backups com pg_dump

Tesseract OCR: obtendo textos a partir de imagens