Você disse
Quando eu uso o apt-get para instalar acidentalmente um pacote que já está instalado como uma dependência de outro pacote, ele quebra essa "dependência" marcando o pacote como
manual
em vez deauto
Eu acho que você entendeu um pouco errado. Não vai quebrar a cadeia de dependência. O outro pacote ainda depende deste pacote marcado como manual . A única coisa afetada é que, se você executar agora apt-get autoremove
, os pacotes marcados como manuais não serão removidos. Porque, para apt
marcado como manual significa que o usuário instalou-os deliberadamente, não porque o usuário queria outros pacotes que dependessem desses pacotes.
Você perguntou
Existe uma maneira de dizer ao apt-get (ou aptitude, dpkg ou outra ferramenta) para não quebrar o link em primeiro lugar ou para não fazer nada se o pacote requisitado já estiver instalado?
Eu não encontrei nenhuma ferramenta para fazer isso automaticamente até agora. Mas isso também não parece lógico. Porque, nesse caso, será como todos os pacotes que você está instalando serão automatically installed
, tornando-os vulneráveis ao comando apt-get autoremove
.
Portanto, se você quiser que algum pacote seja marcado como instalado automaticamente apesar de ter sido instalado manualmente, use apt-get markauto
ou aptitude mark-auto
.