Tornar pacote explicitamente instalado no pacman

32

Eu tenho um pacote que está instalado no meu PC como uma dependência de outro pacote.

Gostaria de ter o pacote explicitamente instalado, mas sem realmente reinstalá- lo ou fazer o download de arquivos.

Isso é possível?

atualização :

Não tenho nenhum pacote armazenado em cache /var/cache/pacman/pkg, que é um dos motivos pelos quais desejo alterar os detalhes do pacote sem reinstalar.

Mesmo se eu tivesse os pacotes armazenados em cache, a execução do pacman -S significaria que todo o processo de instalação foi executado, o que eu também quero evitar.

Stefan
fonte

Respostas:

49

Encontrei a resposta nos fóruns do Arch Linux

Desde o pacman 3.4, você pode usar

# pacman -D

para modificar apenas o banco de dados. Tão:

# pacman -D --asexplicit <pkgs>

tornará <pkgs> explicitamente instalado .

Stefan
fonte
6

pacman -Stem uma --asexplicitbandeira que deve fazer o que você deseja.

Por exemplo:

> pacman -Qi mutagen            
...
Install Reason : Installed as a dependency for another package

> pacman -S --asexplicit mutagen
warning: mutagen-1.20-1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (1): mutagen-1.20-1

Total Download Size:    0.00 MB
Total Installed Size:   0.82 MB
...

> pacman -Qi mutagen
...
Install Reason : Explicitly installed

Você pode ver que nada foi baixado, pois já está instalado localmente. Apenas inverteu o campo "Instalar motivo".

Pacman tem diferentes --helpoperações, dependendo da operação ( -S, -R, etc.). Então, pacman -S --helplista a --asexplicitbandeira como uma das bandeiras disponíveis. --asdepstambém está disponível.

wafuqua
fonte
por favor, veja as edições que fiz da pergunta #
Stefan
1

Para instalar apenas se ainda não estiver instalado, você pode usar o sinalizador --needed:

pacman -S mutagen
pacman -S --needed mutagen clone

Irá pular a reinstalação mutagênica se já estiver instalado pelo primeiro comando. E você também terá uma boa informação sobre isso

totedati
fonte