Como retirado deste link: link
Existem 5 tipos de dependências:
O significado dos cinco campos de dependência é o seguinte:
Depende
-
Isto declara uma dependência absoluta. Um pacote não será configurado a menos que todos os pacotes listados em seu campo Dependentes tenham sido configurados corretamente. O campo Depende deve ser usado se o pacote dependente for necessário para o pacote dependente fornecer uma quantidade significativa de funcionalidade. O campo Depends também deve ser usado se os scripts postinst ou prerm exigirem que o pacote dependente seja descompactado ou configurado para ser executado. No caso de configuração postinst, os pacotes dependentes serão descompactados e configurados primeiro.
-
No caso de prerm ou outras ações postinst, as dependências de pacote normalmente serão pelo menos descompactadas, mas elas podem ser apenas "Half-Installed" se um upgrade anterior da dependência falhar. Por fim, o campo Depends deve ser usado se o pacote dependente for necessário pelo script postrm para limpar completamente após a remoção do pacote. Não há garantia de que as dependências de pacotes estarão disponíveis quando postrm for executado, mas o pacote dependido estará mais disponível se o pacote declarar uma dependência (particularmente no caso de remoção postrm). O script postrm deve ignorar as ações que exigem uma dependência, se essa dependência não estiver disponível.
Recomenda
- Isso declara uma dependência strong, mas não absoluta. O campo Recomenda deve listar os pacotes que seriam encontrados juntos com este em todas as instalações, menos as incomuns.
Sugere
- Isso é usado para declarar que um pacote pode ser mais útil com um ou mais outros. Usar esse campo informa ao sistema de empacotamento e ao usuário que os pacotes listados estão relacionados a este e podem, talvez, melhorar sua utilidade, mas que instalar este sem eles é perfeitamente razoável.
Melhora
- Este campo é semelhante ao Suggests, mas funciona na direção oposta. É usado para declarar que um pacote pode melhorar a funcionalidade de outro pacote.
Pré-Depende
-
Este campo é como Depends, exceto que também força o dpkg a completar a instalação dos pacotes nomeados antes mesmo de iniciar a instalação do pacote que declara a pré-dependência , ele funciona como isto, quando um pacote que declara uma pré-dependência está prestes a ser descompactado, a pré-dependência pode ser satisfeita se o pacote dependido estiver totalmente configurado, ou mesmo se o (s) pacote (s) dependido (s) for descompactado ou no pacote Estado "Half-Configured", desde que eles tenham sido configurados corretamente em algum ponto no passado (e não removidos ou parcialmente removidos desde então).
-
Nesse caso, as versões configuradas anteriormente e atualmente descompactadas ou "Half-Configured" devem atender a qualquer cláusula de versão no campo Pre-Depends. Quando o pacote que declara uma pré-dependência está prestes a ser configurado, a pré-dependência será tratada como uma Depend normal. Ele será considerado satisfeito somente se o pacote dependido tiver sido configurado corretamente. No entanto, ao contrário do Depends, o Pre-Depends não permite que as dependências circulares sejam quebradas. Se uma dependência circular for encontrada durante a tentativa de honrar as pré-dependências, a instalação será cancelada.
-
As pré-dependências também são necessárias se o script preinst depender do pacote nomeado. É melhor evitar essa situação, se possível. As pré-dependências devem ser usadas com parcimônia, de preferência apenas por pacotes cuja atualização ou instalação prematura prejudicaria a capacidade do sistema de continuar com qualquer atualização que possa estar em andamento.
Versão menor:
- Ambos dependem e pre-depends mencionam as dependências que um pacote precisa antes de instalar, mas pré-depende força a instalação e configuração dos pacotes de dependência antes mesmo de iniciar o pacote que precisa das dependências. O dpkg não irá descompactar o pacote principal até que todos os pacotes pré-dependentes tenham sido tratados. Com depends, a ordem dos pacotes de dependência e a principal não é importante. Com o pre-depends leva em consideração isso e também a verificação se os pacotes pre-depends estão configurados e instalados ou não. Sem isso, o pacote principal não será descompactado, configurado ou instalado. Você deve ter as dependências instaladas antes de iniciar o processo de trabalho com o pacote principal. Caso contrário, eles precisam ser baixados / configurados / instalados primeiro antes de continuar.As pré-dependências são normalmente usadas nos casos em que a estabilidade do pacote é importante e não afetaria o sistema ou programa de maneira muito ruim, mas esses casos são evitados com várias normas também mencionadas no link acima.