workaround debian pin por arquitetura

3

podemos instalar pacotes para arquiteturas plurais em um sistema debian.

$ apt-config dump | grep Arch
APT::Architecture "mipsel";
APT::Architectures "";
APT::Architectures:: "mipsel";
APT::Architectures:: "amd64";

(nessa situação, minha arquitetura nativa é mipsel e também instalo pacotes para o amd64. Eu os executo através do qemu binfmt_misc.)

hoje eu quero fazer o algoritmo de resolução de dependência apt para puxar pacotes para a arquitetura nativa sempre que possível, e se não houver nenhuma escolha nativa, estrangeira.

o mecanismo apt "Pin" é o caminho óbvio a seguir. mas o pinagem do architecure ainda não foi implementado .

então eu quero ter uma solução alternativa para fixar pela arquitetura.

mesmo com o pinning pela arquitetura, ainda temos que prestar atenção para não substituir os pacotes críticos por pacotes de arquiteturas estrangeiras, que incluem o init, o shell e o qemu.

    
por 把友情留在无盐 05.02.2015 / 12:21

1 resposta

1

  1. podemos usar diferentes espelhos para diferentes arquiteturas.

    # /etc/apt/sources.list
    deb [ arch=mipsel ] http://1.mirror.debian.org stable main
    deb [ arch=amd64  ] http://2.mirror.debian.org stable main
    

    configure a fixação por origem.

    # /etc/apt/preferences
    Package: *
    Pin: origin "2.mirror.debian.org"
    Pin-Priority: /* some small number */
    
  2. podemos configurar um registro de DNS alternativo apontando para o espelho. como amd64.mirror.my.own.domain cname 1.mirror.debian.org. Às vezes, o servidor http é sensível para o cabeçalho do host. mas é possível que o servidor apenas verifique o sufixo do nome do pedido como se a.b.c fosse um nome de host legal, poderemos tentar acessá-lo por any.prefix.a.b.c.

  3. podemos configurar um proxy reverso para o espelho.

por 05.02.2015 / 12:21

Tags