Multiarch suporte no Debian (expansão)


Olá pessoal, demonstrarei aqui como utilizar uma das novidades vindas na última release estável do Debian, o Wheezy e que é extensiva aos seus familiares mais atualizados: Jessie, SID e etc, a mesma trata do suporte multi-arch num sistema Debian.

Para aqueles que ainda não sabiam agora é perfeitamente possível instalar pacotes i386 num sistema amd64 e vice-versa, mas antes de começar digite o comando a seguir para descobrir (e você já deve saber) qual a arquitetura de seu sistema:

# dpkg --print-architecture

No meu caso o resultado foi: amd64

Adicionando uma nova arquitetura.

Caso tenha necessidade de instalar um pacote dos repos Debian da arquitetura i386 (686) seja lá qual for o motivo, execute os 2 comandos a seguir:

# dpkg --add-architecture i386
# apt-get update

Instalando programas.

Se seguiu o básico até aqui exposto, instalar o WINE i686 num Debian 64Bits é muito simples, uma boa idéia é sempre atualizar o sistema por completo, para tal use:

# apt-get update
# apt-get dist-upgrade

Feito isto prossiga com a instalação do programa assim:

# apt-get update
# apt-get install wine:i386
término do update e versão e informações do sistema...
término do update e versão e informações do sistema…
término do dist-upgrade e instalação do WINE...
término do dist-upgrade e instalação do WINE…
continuação...
continuação…
término da instalação do WINE.
término da instalação do WINE.

Ou em casos de instalação manual via DPKG, com:

# dpkg -i *_i386.deb
instalação manual de pacote i386.
instalação manual de pacote i386.

Removendo programas.

Assim como para instalar, remover programas é muito fácil:

# apt-get --purge remove wine:i386

Ou utilizando o DPKG assim:

# dpkg -r wine:i386
# apt-get autoremove --purge

Ou assim:

# dpkg -P wine:i386
# apt-get autoremove --purge

Atualização do sistema.

Nada difere a atualização de um sistema de arquitetura única para um com suporte multi-arch, em ambos os casos bastam:

# apt-get update
# apt-get autoclean
# apt-get upgrade
# apt-get dist-upgrade

Programas em uso.

Abaixo vemos imagens da abertura do winecfg, do editor de tags Mp3Tag e do novo cliente de email do Opera, agora separado do navegador:

Remoção de arquitetura.

Em caso de necessidade de retornar ao estado original de seu sistema, isto é, remover a arquitetura extra, primeiramente comece pela remoção de todos os pacotes desta arquitetura, para em seguida remover a mesma, faça isso assim (respeitando a arquitetura é lógico):

# dpkg --get-selections | awk '{if ($2=="install") print $1}' > i386_packages && cat i386_packages | grep i386 | xargs -l1 apt-get --purge remove -y
# apt-get autoremove --purge
# dpkg --remove-architecture i386
# apt-get update

Este slideshow necessita de JavaScript.

Referência.

MultiArch Debian Support

Multiarch suporte no Debian (expansão)

28 comentários sobre “Multiarch suporte no Debian (expansão)

  1. Olá amigo,

    Excelente Dica! Ela abreviaria a instalação do cisco Packet Tracer, a cisco não disponibilizou o pack 64 bits só o 32bits(i386).

    Da sua forma instalasse facilmente o Packet tracer!

    Obrigado, tirou mais uma da cartola rsrs

    Curtir

    1. edps disse:

      No Wheezy e Jessie não sei como estão as coisas já que venho usando o SID e no SID o pacote ia32-libs não está instalável, tente isso em seu sistema:

      # apt-get install ttf-mscorefonts-installer:i386 ia32-libs:i386

      Teste aí e me retorne, se funcionar eu atualizo a dica.

      Curtir

  2. Luciano disse:

    Olá edps, primeiramente muito legal a dica. Obrigado por compartilhar. Perguntas de iniciante: Existe alguma vantagem/desvantagem de adicionar em um sistema arquitetura i386 amd64? Existe alguma forma de atualizar a distro toda para amd64 sem ocorrer incompatibilidades?

    Mais uma vez muito obrigado.

    Curtir

    1. edps disse:

      Existe vantagem se o pacote referente a sua arquitetura não funciona (meu caso com o WINE no Debian SID).

      Quanto a atualizar toda a distro acho que não deve rolar, pois são muitos pacotes, aqui mesmo no SID não deu para instalar o kernel i686, não sei se dá no Debian Stable.

      Curtir

    1. Leandro Nkz disse:

      Para remover uma arquitetura, é só fazer:

      dpkg –remove-architecture i386

      Mas, você não pode ter pacotes desta arquitetura instalada, senão aparecerá o erro:

      dpkg: erro: nao pode remover a arquitectura ‘i386’ actualmente em utilização pela base de dados

      Ou seja, antes de remover uma arquitetura, você deve desinstalar todos os pacotes desta.

      Abraço.

      Curtir

  3. Leandro Nkz disse:

    Rapaz, esse recurso é uma mão na roda!

    Antes tínhamos que fazer malabarismos para pode instalar pacotes de outras arquiteturas, especialmente se eles possuíssem muitas dependências.

    Abraço!

    Curtir

    1. edps disse:

      Sim é verdade, aqui o WINE do SID instala somente 2 pacotes e não funciona, felizmente temos essa solução, o que não quer dizer que TODOS os pacotes i386 estejam com status de instalaáveis (principalmente no SID) rs.

      Curtir

  4. edps disse:

    Dica atualizada!

    foram inseridas informações e imagens referentes a instalação manual de pacote com o DPKG, da atualização desse sistema misto e sobre como restaurar a ordem das coisas (se necessário), isto é, a remoção dos pacotes de arquitetura diferente e em seguida a remoção desta arquitetura extra.

    Curtir

  5. Romulo disse:

    Edps, eu nao consigo instalar o google earth no debian wheezy(x64) justamente devido a ausencia dos arquivos ia32-libs:i386. Será que tenho que seguir os procedimentos acima para ter sucesso com o google earth no meu debian 7?

    Curtir

    1. edps disse:

      Então já testei aqui a instalação do pacote amd64 e tive o mesmo problema, mas na página de pacotes diz isso:

      This is a transitional package used to migrate the ia32-libs package to true multiarch. It can be removed once nothing on the system depends on it.

      This package requires multiarch to be enabled before it can be installed, use “dpkg –add-architecture i386”.

      Ou seja, o pacote está em fase de transição e em muitas das vezes ficam em condição de não-instaláveis devido a isso, fato que ocorre não somente com ele mas com outros, é por essas e outras que ando sentido falta do meu i686 com kernel -pae:

      * é mais rápido, consome menas RAM e não tem essas frescuras! só retornei ao amd64 porque meu processador é um 64Bits.

      Curtir

  6. Romulo disse:

    Edps, dê uma olhada nisso, derepente vc consegue descobrir como resolver para instalar o google Earth 7 no debian wheezy 7.1 x64:
    Pacotes:
    http://packages.linuxmint.com/pool/import/g/googleearth/

    Origem:
    http://productforums.google.com/forum/#!topic/earth/MUdeFq1W8A4

    Traduções:

    Olá,
    Eu tentei Instalar o Google Earth não Meu Sistema amd64 Debian Wheezy (gnome, updated, Chrome instalado com Sucesso). Instala-lo usando Gdebi UO dpkg eu recebo uma MENSAGEM de Opaco um Dependência ia32-libs Localidade: Não PODE serviços fullfiled Como Localidade: Não HÁ Aucune Pacote ia-32-libs-i386 parágrafo O Meu amd64-Platform. Ue tentei encontrar ESSE PACOTE, Mas parece Existir apenas Pará N º s de i386 repositorios fazer Debian. Eu Acho Que ESSA Dependência DEVE serviços examinada POR sândalo Desenvolvedor. Se eu tento Iniciar o google-earth apos a instalaçao Forcada elementos Ira falhar DEPOIS de hum Segundo. Anexei o crashlog. Se eu tentar trazer o Meu Sistema de Volta a hum Estado consistente com ‘apt-get install-f’ elemento IRA removedor google-earth.

    Ver. 7.1.1.1580 deve estar usando os binários de 64 bits. Veja este post. Se isso não ajudar olhada aqui. Amirpli tem boas idéias. incluindo a remoção das dependências de 32 bits. Pessoalmente, eu não posso começar a Versão 7 para mostrar fotos do Panoramio no Ubuntu 13.04, não importa o quê. Atualmente, estou usando Ver.. 6.2 amd64.deb a partir do repositório Mint. http://packages.linuxmint.com/pool/import/g/googleearth/. Isso funciona muito bem, e se ele é executado no Ubuntu, você pode ter um bom resultado

    Curtir

    1. edps disse:

      EM todos os casos a dependência é a mesma, no caso a ia32-libs, nem vou me preocupar mais com isso uma hora a situação será resolvida.

      O estranho é que instalei pacote mais complexo como o WINE e ele não precisa dela, vai saber?

      Curtir

    1. Olha, eu não uso Skype tampouco nunca precisei instalá-lo, mas penso que para tal vc deverá adicionar a arquitetura i386 em seu Debian, como foi explicado aqui, atualizar as listas de pacotes e tentar instalá-lo.
      Como aqui não é um fórum, sugiro que vá ao VOL e abra um tópico lá.

      Curtir

    1. É por essas e outras que não uso sistemas amd64, embora meu velho PC seja um, prefiro o bom e velho i686-pae onde não tem essas frescuras de instalar pacotes 32bits para esse ou aquele programa funcionarem, e isso acontece com essa coisa aí, com o Wine, Steam e outras tralhas.

      Curtido por 1 pessoa

  7. fabinho_fitness disse:

    Aff!!! Eu precisando do Skype!! Antes eu instalava de boa em todas as outras versões do Debian, mas no Stretch naõ vai, fica nesse jogo, instala, e remove hehe!!!

    Curtir

  8. Luciano Batista dos Anjos disse:

    No Debian 10 XFCE Não funfo o wine:i386
    root@# apt-get install wine:i386
    Lendo listas de pacotes… Pronto
    Construindo árvore de dependências
    Lendo informação de estado… Pronto
    O pacote wine:i386 é um pacote virtual fornecido por:
    wine 4.0-2
    wine-development 4.2-4
    Você deveria selecionar explicitamente um para instalar.

    E: O pacote ‘wine:i386’ não tem candidato para instalação
    root@# apt-get install wine4.0-2:i386
    Lendo listas de pacotes… Pronto
    Construindo árvore de dependências
    Lendo informação de estado… Pronto
    E: Impossível encontrar o pacote wine4.0-2:i386
    E: Couldn’t find any package by glob ‘wine4.0-2’
    E: Não foi possível encontrar o pacote através da expressão regular ‘wine4.0-2’
    root@# apt-get install wine 4.0-2:i386
    Lendo listas de pacotes… Pronto
    Construindo árvore de dependências
    Lendo informação de estado… Pronto
    E: Impossível encontrar o pacote 4.0-2:i386
    E: Couldn’t find any package by glob ‘4.0-2’
    E: Não foi possível encontrar o pacote através da expressão regular ‘4.0-2’

    root@# apt-get install wine
    aqui instalou assim ^^

    Curtir

    1. Amigo, obrigado pela visita.

      Esse tutorial é de 2013, ou seja muito velho e referia-se ao Debian Wheezy, na época o Debian Stable, já se passaram: Jessie, Stretch e agora Buster.

      Não somente por isso, mas pacotes mudam de nome, são aceitos ou removidos, etc

      Curtir

Deixe um comentário