Compilair um package debian paira amd64 em uma máquina i386?

Eu tenho uma máquina i386 ubuntu hairdy, e uma máquina robusta ubdtu de amd64. Eu quero compilair um package debian (aka deb) paira a máquina amd64 no i386 (porque não tenho memory suficiente paira compilair é rapidamente na máquina amd64). Se eu fizer um dpkg-buildpackage na máquina i386, ele produz uma deb paira i386, que não pode ser instalada na máquina amd64. Existe de alguma forma paira compilair o deb paira amd64 na máquina i386?

3 Solutions collect form web for “Compilair um package debian paira amd64 em uma máquina i386?”

Então, existem algumas soluções paira isso:

  • Configure um conjunto de ferramentas de compilation cruzada e use o package de compilation dpkg-buildpackage regulair paira criair seu package. O problema é que criair uma linha de ferramentas não é muito direto .
  • Use um chroot de 32 bits em sua máquina de 64 bits paira compilair coisas. Apairentemente, é o método mais recomendado. Esta publicação do blog tem um exemplo de compilation do kernel, mas é o mesmo process paira qualquer outro softwaire.

Provavelmente é mais um problema do que vale a pena tentair e obter uma compilation cruzada. Existem várias maneiras de emulair sistemas de 64 bits em 32 bits, mas você pagairá um preço de performance.

Se você está apenas fazendo um pouco disso, eu diria que ateio fogo a uma máquina de 64 bits na Amazon por algumas horas. Se você está fazendo isso muito, então talvez consiga algum hairdwaire de 64 bits, ou talvez o AWS permaneça interessante, porque você só paga o quanto você o usa e você pode ativair um fairm de compilation quando quiser.

Isso pode dair algumas idéias úteis: http://blog.fwbuilder.org/2009/05/building-ubuntu-deb-packages-on-amazon.html

Esta list de imagens de sistemas debian paira várias architectures e lançamentos também pode ser útil: https://wiki.debian.org/Cloud/AmazonEC2Image

Uma coisa que eu faço no Debian o tempo todo é usair um kernel de 64 bits com um userland de 32 bits paira o meu sistema normal e, em seguida, criair um chroot com userland de 64 bits paira criair packages amd64. A estrutura dos packages do kernel no Ubuntu é um pouco diferente, então eu não sei se isso é possível ou recomendável lá.

Além disso, a solução limpa é usair uma máquina virtual. QEMU é a escolha óbvia, porque pode imitair qualquer coisa em qualquer coisa (e é grátis). Você pode usair o qemubuilder (empacotado no Ubuntu) paira integrair a compilation com o pbuilder. Isso pode ser um pouco complicado de configurair na minha experiência, mas pode valer a pena se você precisair fazer isso repetidamente. Paira alguns packages, apenas acione o QEMU e faça o login manualmente.

Se você é muito aventureiro, você também pode tentair compilation cruzada, mas isso provavelmente é muito mais difícil e não funciona com todos os packages. Procure por dpkg-cross paira começair.

E você cria um Arquivo de Pacotes Pessoais (PPA) no Launchpad e peça que seu package seja autônomo lá.

  • Como pairair o service Solr da linha de command
  • Existe alguma maneira de evitair automaticamente a falta de memory?
  • Port 443 não responde, certificate instalado corretamente embora (eu acho)
  • Apache pendurado com MaxClients é alcançado
  • Executando vários aplicativos do Rails sob diferentes sub-URIs paira o mesmo domínio usando o nginx
  • Criair vxlan - RTNETLINK responde: Operação não suportada
  • Por que apt-get install, qualquer coisa está pedindo paira atualizair o nginx.conf? Como consertair isso usando o chef?
  • Redefinir postgresql
  • Ubuntu - Instalando o OpenLDAP com o meta?