Hacer paquete explícitamente instalado en pacman

32

Tengo un paquete que está instalado en mi PC como dependencia de otro paquete.

Me gustaría tener el paquete explícitamente instalado, pero sin volver a instalarlo o descargar ningún archivo.

es posible?

actualización :

No tengo ningún paquete en caché /var/cache/pacman/pkg, que es una de las razones por las que quiero cambiar los detalles del paquete sin una reinstalación.

Incluso si tuviera los paquetes en caché, ejecutar pacman -S significaría que se ejecuta todo el proceso de instalación, lo que también quiero evitar.

Stefan
fuente

Respuestas:

49

Encontré la respuesta en los foros de Arch Linux

Desde pacman 3.4 puedes usar

# pacman -D

para modificar solo la base de datos. Asi que:

# pacman -D --asexplicit <pkgs>

hará <pkgs> explícitamente instalado .

Stefan
fuente
6

pacman -Stiene una --asexplicitbandera que debe hacer lo que quieras.

Por ejemplo:

> 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

Puede ver que no se descargó nada ya que ya está instalado localmente. Simplemente volteó el campo "Motivo de instalación".

Pacman tiene diferentes --helpoperaciones dependiendo de la operación ( -S, -R, etc.). Entonces pacman -S --helpenumera la --asexplicitbandera como una de las banderas disponibles. --asdepsTambién está disponible.

wafuqua
fuente
vea los cambios que realicé a la pregunta
Stefan
1

Para instalar solo si aún no está instalado, puede usar el indicador necesario:

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

Omitirá la reinstalación de mutagen si ya está instalada por el primer comando. Y también obtendrás una buena información sobre eso

Totedati
fuente