Para o Fedora você pode usar limpeza de pacotes , por exemplo, com a opção --leaves
.
--leaves List leaf nodes in the local RPM database. Leaf nodes are RPMs that are not relied upon by any other RPM.
Eu queria criar um software manualmente. Então eu instalei todas as suas dependências usando dnf install <a> <b> <c>
.
Depois, não precisei mais desse software e, por isso, também queria desinstalar todas as dependências dele. Mas yum remove <a> <b> <c>
removeria todos os pacotes, mesmo que outro pacote instalado ainda dependa de um desses pacotes ( <b>
, por exemplo).
man dnf
, mas não consegui encontrar um comando adequado. Qual é a maneira mais simples de:
<a>
, <b>
e <c>
ainda são necessários para outros pacotes. dnf remove
todos os pacotes da minha lista de pacotes que eu não preciso mais ( <a>
, <b>
e <c>
), mas não remova os pacotes do ponto (1.)
. Alguma ideia?
Obrigado pela sua ajuda. Se algo não estiver claro, por favor, comente e eu adicionarei mais detalhes.
Para o Fedora você pode usar limpeza de pacotes , por exemplo, com a opção --leaves
.
--leaves List leaf nodes in the local RPM database. Leaf nodes are RPMs that are not relied upon by any other RPM.
Com o Yum, você usaria o comando package-cleanup
de yum-utils
. Mas, com o DNF, ele é incorporado como o comando dnf autoremove
. De os documentos :
dnf [options] autoremove
Removes all “leaf” packages from the system that were originally installed as dependencies of user-installed packages but which are no longer required by any such package.
Note que você também pode usar o comando dnf list
para ver quais pacotes seriam removidos, antes de executar o automremove, com
dnf list autoremove
Observe também que o DNF tem outra diferença de comportamento que deve ajudá-lo em situações semelhantes (mas não no caso exato). Se o seu software principal foi instalado pelo DNF (e não fora do DNF manualmente), e você usou dnf remove
, o padrão (ao contrário do yum) é também remover quaisquer dependências que foram adicionadas apenas para esse pacote e que não são t usado para qualquer outra coisa.