Estratégia de gerenciamento de pacotes com Pacman

7

Desde que mudei a minha distro favorita para o Gentoo, tenho estado muito familiarizado com o seguinte padrão para instalar e remover pacotes:

  1. Instale um monte de aplicativos que fazem praticamente a mesma coisa para testá-los: emerge <package> . Este comando instala o pacote e marca o pacote como explicitamente instalado.
  2. Experimente e remova as que eu não gosto (e espero manter um ou dois que satisfaçam minhas necessidades): emerge --deselect <package> . Esse comando remove o pacote da lista de aplicativos explicitamente instalados, mas não desinstala o pacote.
  3. Por fim, remova tudo o que não é necessário no meu sistema: emerge --depclean . Este comando remove todos os pacotes que são (1) não um pacote de sistema, (2) não instalados explicitamente e (3) não uma dependência desses dois.
  4. E, opcionalmente, verifique se todas as dependências de pacote estão corretas: revdep-rebuild . Este comando verifica todas as dependências e reinstala pacotes quebrados.

De vez em quando eu olhava as entradas em /var/lib/portage/world (a lista de pacotes explicitamente instalados) para revisar os aplicativos de nível superior que eu usava, e removia aqueles que eu não Não use mais usando os comandos nas etapas 2, 3 e 4.

Agora que estou tentando aprender Arch, gostaria de saber se poderia usar a mesma estratégia com Pacman? Ou outra estratégia que possa manter meu sistema limpo de pacotes não utilizados?

Nota: o Pacman Rosetta ajuda muito a entender rapidamente as coisas, mas não consegui descobrir o equivalente de Arch do arquivo /var/lib/portage/world . Diz-se que pacman -Qe faz isso, mas contém coisas que eu juro que não instalei explicitamente ... De qualquer forma, responda a esta pergunta em termos de estratégia (com exemplos de comando, claro:)

    
por phunehehe 05.02.2011 / 14:20

4 respostas

2

Graças à resposta da DarwinSurvivor , consegui entender melhor como funciona o gerenciamento de pacotes no Arch. Agora posso aplicar a mesma estratégia que uso com o Gentoo (com pequenas modificações). Os "equivalentes" dos comandos na questão são, respectivamente:

  1. pacman -S <package>
  2. pacman -D --asdeps <package>
  3. pacman -Rs $(pacman -Qqtd)
  4. Não disponível / não é necessário

O mais próximo de /var/lib/portage/world no Gentoo é o resultado do comando pacman -Qe . Diferenças:

  1. O Arch tem grupos de pacotes , que são basicamente vários pacotes "agrupados" juntos sob um nome. Quando um grupo é instalado, tudo no grupo é considerado explicitamente instalado.
  2. O Arch não tem "pacotes de sistema", portanto, a redução de itens do resultado de pacman -Qe pode resultar na remoção de pacotes importantes.
por 08.02.2011 / 04:58
4

A razão mais provável para você ver pacotes com pacman -Qe que você não lembra de instalar é que eles faziam parte de um "grupo" (como base-devel , etc) que você instalou.

Nota: Eu pessoalmente também estive procurando por um tempo para mudar um pacote de "explícito" para "implícito" (e até vice-versa) sem reinstalá-lo, mesmo pegando um pacote que eu instalei explicitamente para obter outro pacote trabalhando e transformá-lo em uma dependência desse pacote (novamente sem reinstalar).

    
por 07.02.2011 / 09:03
1

Se bem me lembro,

pacman -S package

instala um pacote

pacman -Rs package

remove um pacote e todas as suas dependências --- mas somente aqueles que não quebrariam outros pacotes e apenas aqueles que você não instalou explicitamente.

Faça check-out da man page do pacman.

Eu infelizmente não sei como verificar se há pacotes quebrados.

    
por 05.02.2011 / 16:49
0

Em vez de confiar no gerenciador de pacotes para acompanhar os pacotes explicitamente instalados, você poderia usar uma ferramenta de gerenciamento de configuração como Ansible no seu sistema. Eu uso isso para minha própria máquina e sempre posso configurar uma máquina como a minha máquina principal com apenas dois comandos.

    
por 27.03.2015 / 10:52