Você evita o inferno da dependência (e uma série de outras coisas) melhor quando você limita o número de repositórios externos que você usa. Como você não pode garantir a qualidade, a disponibilidade de longo prazo e a pontualidade do conteúdo desses repositórios, é uma mudança muito ruim depender do conteúdo (e da continuidade da existência).
Como um exemplo concreto, eu já vi exemplos anteriores em que repositórios de pacotes semi-oficiais de terceiros para uma distribuição Linux estável tinham pacotes vindo e indo ao longo do tempo. Isso causou muitos problemas, porque podemos construir algumas máquinas ao mesmo tempo, todas com a mesma versão de um pacote crítico. Algum tempo depois, quando fomos construir mais máquinas, a versão que havíamos especificado não estava mais disponível (substituída por uma versão mais nova e mais brilhante) e tivemos que testar tudo novamente para garantir que o pacote mais novo ainda funcionasse corretamente.
Esta não é a pior possibilidade. E se nós não testássemos o novo pacote, e ele tivesse um bug crítico nele? Vadio. É claro que a versão que escolhemos pode ter uma falha de segurança, mas tudo bem, porque, como empacotadores responsáveis, mantemos um olho nos anúncios de segurança do upstream e garantimos que quaisquer vulnerabilidades sejam corrigidas apropriadamente.
O administrador cauteloso instala pacotes apenas em seus sistemas a partir de dois lugares:
- Os repositórios oficiais da distribuição (devidamente verificados criptograficamente quanto à autenticidade, é claro), onde as políticas e práticas da maneira pela qual os pacotes são adicionados e removidos são conhecidos e estão em conformidade com sua própria avaliação de gerenciamento de riscos; e
- Um repositório ou repositórios de pacotes gerenciados internamente (novamente, verificados criptograficamente).
O conteúdo desse conjunto de repositórios interno pode ser preenchido por vários meios diferentes:
- Faça o download de pacotes de repositórios externos de terceiros, verifique sua utilidade e estabilidade em um ambiente de teste e, em seguida, adicione-os ao repositório.
- Se você é moderadamente paranóico, reconstrua os pacotes de origem dos repos acima e teste e adicione.
- Se você é propriamente paranóico , feche-se em uma pequena sala sem computadores ou qualquer equipamento eletrônico.