it-swarm-es.tech

Hacer que el paquete se instale explícitamente en pacman

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

Me gustaría tener el paquete instalado explícitamente, pero sin reinstalarlo, o descargar cualquier archivo.

Es posible?

actualización:

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

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.

34
Stefan

Encontré la respuesta en Foros de Arch Linux

Desde pacman 3.4 puedes usar

# pacman -D

para modificar ¡solo la base de datos. Entonces:

# pacman -D --asexplicit <pkgs>

hará <pkgs> instalado explícitamente .

La pacman página de manual describe con más detalle este comando.

52
Stefan

pacman -S tiene un --asexplicit bandera que debería 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 cambió el campo "Razón de instalación".

Pacman tiene diferentes --help operaciones dependiendo de la operación (-S, -R, etc.). Entonces pacman -S --help enumera el --asexplicit bandera como una de las banderas disponibles. --asdeps también está disponible.

6
wafuqua

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

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

Omitirá la reinstalación del mutágeno si el primer comando ya lo instaló. Y también obtendrás una buena información sobre eso.

1
totedati