Acredito que respondi à minha própria pergunta:
O comportamento do apt-get com sources.list.d é recuperar pacotes do primeiro repositório disponível listado em um dado arquivo *.list
.
O repositório archive.getdeb.net/ubuntu
estava convenientemente desativado hoje, por isso consegui realizar a seguinte experiência para validar isto:
-
Eu criei um arquivo chamado
/etc/apt/sources.list.d/games.list
com o seguinte conteúdo:deb http://archive.getdeb.net/ubuntu trusty-getdeb apps
-
Em seguida, ressincronizei os arquivos de índice de pacote das origens:
$ sudo apt-get update | grep getdeb Hit http://archive.getdeb.net trusty-getdeb InRelease Hit http://archive.getdeb.net trusty-getdeb/apps amd64 Packages Hit http://archive.getdeb.net trusty-getdeb/apps i386 Packages Ign http://archive.getdeb.net trusty-getdeb/apps Translation-en_US Ign http://archive.getdeb.net trusty-getdeb/apps Translation-en
Notei que o apt-get avisou que estava ignorando (
Ign
) o repositório. Isso ocorre porque o apt-get recebeu uma mensagem 404 de que a URL não estava disponível. -
A tentativa de simular a instalação de um pacote deste repositório mostrou que o repositório não estava realmente disponível.
$ sudo apt-get -s install warsow Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package warsow
-
Em seguida, editei
/etc/apt/sources.list.d/games.list
, adicionando um repositório espelho que contém os mesmos pacotes:deb http://archive.getdeb.net/ubuntu trusty-getdeb apps deb http://mirrors.dotsrc.org/getdeb/ubuntu trusty-getdeb games
-
Como antes, sincronizei novamente os arquivos de índice de pacote das origens:
$ sudo apt-get update | grep getdeb Get:1 http://mirrors.dotsrc.org trusty-getdeb InRelease [8,131 B] Hit http://archive.getdeb.net trusty-getdeb InRelease Get:2 http://mirrors.dotsrc.org trusty-getdeb/games amd64 Packages [69.8 kB] Hit http://archive.getdeb.net trusty-getdeb/apps amd64 Packages Hit http://archive.getdeb.net trusty-getdeb/apps i386 Packages Get:3 http://mirrors.dotsrc.org trusty-getdeb/games i386 Packages [71.5 kB] Ign http://archive.getdeb.net trusty-getdeb/apps Translation-en_US Ign http://archive.getdeb.net trusty-getdeb/apps Translation-en Ign http://mirrors.dotsrc.org trusty-getdeb/games Translation-en_US Ign http://mirrors.dotsrc.org trusty-getdeb/games Translation-en
Surpreendentemente, o apt-get alertou que estava ignorando ambos os repositórios!
Uma pequena pesquisa na Internet revelou que o apt-get exibe um aviso
Ign
se um repositório não estiver disponível ou se uma tradução do pacote não estiver disponível. No caso demirrors.dotsrc.org
, o repositório estava ativo, mas o apt-get solicitava uma tradução do inglês para o inglês, o que obviamente não existe. Portanto, a mensagemIgn
para o novo repositório não foi um erro, afinal. -
Quando eu tentei simular a instalação do mesmo pacote de antes, com ambos repositórios em
/etc/apt/sources.list.d/games.list
, o apt-get achou o pacote.$ sudo apt-get -s install warsow Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: warsow-data The following NEW packages will be installed: warsow warsow-data 0 upgraded, 2 newly installed, 0 to remove and 24 not upgraded. Inst warsow-data (1.51-1~getdeb2 GetDeb:14.04/trusty-getdeb [all]) Inst warsow (1.51-1~getdeb1 GetDeb:14.04/trusty-getdeb [amd64]) Conf warsow-data (1.51-1~getdeb2 GetDeb:14.04/trusty-getdeb [all]) Conf warsow (1.51-1~getdeb1 GetDeb:14.04/trusty-getdeb [amd64])
-
Portanto, o comportamento do apt-get com sources.list.d é recuperar pacotes do primeiro repositório disponível listado em um determinado arquivo
*.list
.