Crea un pacchetto esplicitamente installato in pacman


32

Ho un pacchetto installato sul mio PC come dipendenza da un altro pacchetto.

Vorrei avere il pacchetto esplicitamente installato, ma senza reinstallarlo o scaricare alcun file.

È possibile?

aggiornamento :

Non ho alcun pacchetto nella cache /var/cache/pacman/pkg, che è uno dei motivi per cui voglio cambiare i dettagli del pacchetto senza una reinstallazione.

Anche se avessi i pacchetti memorizzati nella cache, l'esecuzione di pacman -S significherebbe che l'intero processo di installazione è in esecuzione, cosa che voglio anche evitare.

Risposte:


49

Ho trovato la risposta sui forum di Arch Linux

Da pacman 3.4 puoi usare

# pacman -D

per modificare solo il database. Così:

# pacman -D --asexplicit <pkgs>

farà <pkgs> esplicitamente installato .


6

pacman -Sha una --asexplicitbandiera che dovrebbe fare quello che vuoi.

Per esempio:

> 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

Si può vedere che nulla è stato scaricato poiché è già installato localmente. Ha appena capovolto il campo "Installa motivo".

Pacman ha diverse --helpoperazioni a seconda dell'operazione ( -S, -Recc). Quindi pacman -S --helpelenca la --asexplicitbandiera come una delle bandiere disponibili. --asdepsè disponibile anche.


per favore, vedi le modifiche che ho apportato alla domanda
Stefan,

1

Per installare solo se non è già installato è possibile utilizzare --needed flag:

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

Salterà la reintegrazione mutagena se è già installato dal primo comando. E otterrai anche una bella informazione a riguardo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.