Encontrei a resposta nos Fóruns do Arch Linux
Desde o pacman 3.4 você pode usar
# pacman -D
para modificar somente o banco de dados. Então:
# pacman -D --asexplicit <pkgs>
tornará <pkgs>
explicitamente instalado .
Eu tenho um pacote instalado no meu PC como uma dependência de outro pacote.
Eu gostaria de ter o pacote explicitamente instalado, mas sem realmente reinstalá-lo ou fazer download de arquivos.
Isso é possível?
update :
Eu não tenho nenhum pacote armazenado em cache em /var/cache/pacman/pkg
, que é uma das razões pelas quais eu quero alterar o detalhe do pacote sem uma reinstalação.
Mesmo se eu tivesse os pacotes armazenados em cache, executar o pacman -S significaria que todo o processo de instalação é executado, o que eu também quero evitar.
Encontrei a resposta nos Fóruns do Arch Linux
Desde o pacman 3.4 você pode usar
# pacman -D
para modificar somente o banco de dados. Então:
# pacman -D --asexplicit <pkgs>
tornará <pkgs>
explicitamente instalado .
pacman -S
tem um sinal --asexplicit
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 virou o campo "Install Reason".
O Pacman tem operações --help
diferentes, dependendo da operação ( -S
, -R
, etc.). Portanto, pacman -S --help
lista o --asexplicit
como um dos sinalizadores disponíveis. --asdeps
também está disponível.
Para instalar somente se ainda não estiver instalado, você pode usar o sinalizador --needed:
pacman -S mutagen
pacman -S --needed mutagen clone
Ignora a reinstalação do mutagene se já estiver instalado pelo primeiro comando. E você também terá uma boa informação sobre isso