Sim, você precisa construir 2 conjuntos de pacotes - você não pode instalar pacotes i386 em um sistema amd64 sem forçar a instalação, o que geralmente não deve ser feito.
Eu criei um repositório APT usando deb-scanpackages, e ele pareceu correr bem.
Quando eu fiz um apt-get update
em outro servidor, o arquivo Packages.gz foi recuperado, e tudo parecia bem - até fui pesquisar os pacotes contidos naquele repositório (todos os pacotes são criados localmente).
Várias recomendações sugeriram reprepro
; Eu tentei isso. Mesmo resultado - exceto que tive que reconstruir os pacotes com as linhas Prioridade e Seção no arquivo de controle (nada diz isso em lugar algum). O utilitário reprepro também gera uma estrutura de diretórios complicada que requer a regravação da entrada do repositório no servidor solicitante.
Descobri então que o diretório arch fazia referência ao i386 e não ao amd64 (que foi solicitado pelo servidor solicitante).
É possível que o sistema AMD64 não esteja vendo pacotes compilados para o i386? Pesquisando os arquivos * Packages em / var / lib / apt / lists mostra que os únicos pacotes para i386 são aqueles que eu adicionei (os outros arquivos são para o servidor - Ubuntu 10.04.2 LTS).
O servidor em que os pacotes foram criados é o Ubuntu 10.04.2 LTS i686; o servidor solicitante é x86_64.
Eu encontrei alguma discussão no Debian AMD64FAQ , mas ele afirma ser obsoleto. Ele menciona uma sintaxe estendida para listagens de repositórios para o APT e um comando dpkg-subarchitecture - nenhum dos quais funciona no servidor local AMD64.
Eu tenho que construir dois conjuntos diferentes de pacotes?
Sim, você precisa construir 2 conjuntos de pacotes - você não pode instalar pacotes i386 em um sistema amd64 sem forçar a instalação, o que geralmente não deve ser feito.