Como posso remover pacotes órfãos no Fedora?

41

Acabei de mudar do Ubuntu para o Fedora14. No Ubuntu, tivemos a coisa apt-get autoremove para remover pacotes órfãos / não utilizados. Qual é o equivalente no Fedora?

    
por c0da 06.04.2011 / 16:04

8 respostas

35

package-cleanup --quiet --leaves do pacote yum-utils listará os pacotes de bibliotecas que não são confiáveis para outros pacotes. Infelizmente, ele tende a ser um pouco overeager. No meu sistema, por exemplo, sugeriu a remoção da libvirt. Adicionar o argumento --exclude-bin ajuda. Se você está feliz com a sua sugestão, então para limpar os pacotes, faça:

# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
    
por 14.04.2011 / 23:29
30

O DNF, o substituto do yum desde o Fedora 22, também fornece um subcomando autoremove que é modelado após > apt-get / yum autoremove.

Exemplos:

# dnf autoremove

que tenta remover todos os pacotes de dependências instalados automaticamente e não usados - deve ser praticamente equivalente a apt-get autoremove .

# dnf autoremove examplepackage

que remove o pacote de exames e todas as suas dependências instaladas automaticamente (e sem uso).

Yum

Yum tem o comando autoremove desde o Fedora 19, e está documentado desde o Fedora 20 / RHEL 7.

O uso é análogo à implementação do dnf, por exemplo:

# yum autoremove

ou

# yum autoremove examplepackage

Alterar o comportamento do yum remove

O Yum suporta uma opção de configuração para alterar o comportamento padrão do subcomando remove (por exemplo, via /etc/yum.conf):

clean_requirements_on_remove=yes

yum.conf (5)

Quando isso está definido, o próximo yum remove também tenta remover as dependências instaladas automaticamente, se elas não forem necessárias por outros pacotes.

Você também pode testar temporariamente essa opção por meio de algo como:

# yum --setopt=clean_requirements_on_remove=1 remove examplepackage

Solução alternativa para a versão antiga do Fedora

(Para versões do Fedora onde o subcomando yum autoremove não está disponível e / ou clean_requirements_on_remove não funciona.)

Embora durante a instalação de pacotes as dependências instaladas são marcadas como tal (parece ser uma característica relativamente nova do rpm / yum).

Você pode encontrar dependências desnecessárias por meio de:

$ package-cleanup --leaves -q --all \
    | xargs repoquery --installed --qf '%{nvra} - %{yumdb_info.reason}' \
    | grep -- '- dep' \
    | cut -d' ' -f1 > tmp

Esta linha de comando é inspirada no script do fenris02 .

Após a inspeção de tmp (e talvez a curadoria), você pode removê-los por meio de algo assim:

# xargs yum remove < tmp
    
por 18.11.2012 / 21:40
16

você precisa instalar o plugin do yum "remove-with-leaves":

# yum install yum-plugin-remove-with-leaves.noarch

uma vez instalado:

# yum remove --remove-leaves package

boa sorte!

    
por 20.03.2012 / 12:02
8
# package-cleanup --orphans >/tmp/junk

edite o arquivo /tmp/junk e remova a primeira linha que é informativa na linha de comando, digite o seguinte:

for file in 'cat /tmp/junk'
do
  yum remove $file
done
    
por 14.11.2011 / 23:43
4

NOTA: Esta resposta está correta, mas só se aplica ao RHEL 7+ e ao Fedora 20+ (onde autoremove foi adicionado como um novo recurso).

# yum autoremove

Confirme apenas para remover os pacotes selecionados.

    
por 03.03.2013 / 04:39
0

Aproveitando a resposta de Larry Mohr :

package-cleanup --orphans | sed '1d' | sed '/^ * /d' | sed '/Loading mirror speeds from cached hostfile/d' | xargs sudo yum remove

(Inclui pular para o espelho mais rápido, se você quer saber.)

    
por 20.06.2012 / 02:32
0

No Fedora, o pacote órfão significa que não há repositórios candidatos para atualização!

  1. Se os pacotes órfãos foram gerados por você, desative yum.repos.d / some.conf.

    yum distro-sync
    
  2. Outros pacotes órfãos, o comando pode ser perigoso.

    yum remove $(package-cleanup --orphans)
    

    ou apenas use o comando de segurança.

    yum remove name-of-page
    
por 14.03.2015 / 10:53
0

Outra maneira de não causar esses problemas é usar transações.

Após o sistema básico de configuração, conforme você instala usando o yum, ele cria transações. Quando você pretende remover coisas, reverta as transações.

link

    
por 16.09.2016 / 20:59

Tags