Dodać pakiet jawnie zainstalowany w pacman


32

Mam pakiet, który jest zainstalowany na moim komputerze jako zależność od innego pakietu.

Chciałbym mieć pakiet wyraźnie zainstalowany, ale bez faktycznej ponownej instalacji lub pobierania jakichkolwiek plików.

czy to możliwe?

aktualizacja :

Nie mam buforowanych pakietów /var/cache/pacman/pkg, co jest jednym z powodów, dla których chcę zmienić szczegóły pakietu bez ponownej instalacji.

Nawet gdybym miał pakiety w pamięci podręcznej, uruchomienie pacman -S oznaczałoby uruchomienie całego procesu instalacji, czego również chcę uniknąć.

Odpowiedzi:


49

Odpowiedź znalazłem na forach Arch Linux

Od Pacman 3.4 możesz używać

# pacman -D

modyfikować tylko bazę danych. Więc:

# pacman -D --asexplicit <pkgs>

spowoduje <pkgs> jawne zainstalowanie .


6

pacman -Sma --asexplicitflagę, która powinna robić, co chcesz.

Na przykład:

> 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

Widać, że nic nie zostało pobrane, ponieważ jest już zainstalowane lokalnie. Właśnie zmieniło pole „Przyczyna instalacji”.

Pacman ma różne --helpoperacje w zależności od operacji ( -S, -R, itd.). pacman -S --helpWymienia więc --asexplicitflagę jako jedną z dostępnych flag. --asdepsjest również dostępny.


zobacz zmiany, które wprowadziłem do pytania
Stefan,

1

Aby zainstalować tylko wtedy, gdy nie jest jeszcze zainstalowany, możesz użyć opcji --needed:

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

Pominie ponowną instalację mutagenu, jeśli jest już zainstalowany za pomocą pierwszego polecenia. Dostaniesz także miłe informacje na ten temat

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.