Jak mogę uzyskać listę wszystkich pakietów RPM, które zostały zainstalowane w moim systemie z określonego repozytorium (np. „Epel”)?
44
yum list installed | grep @epel
dnf list installed | grep @epel
Począwszy od wersji RHEL6, zgodnie z sugestią zawartą w tej odpowiedzi na przepełnienie stosu, istnieje dokładniejsza metoda wykonania tego za pomocą
yumdb
:Repoid bierze dzikie karty.
Całkiem druk
Jeśli zamierzamy oszukiwać i przesyłać dane wyjściowe, możemy również uzyskać efekt ładnego wydruku. Oto jeden używa
awk
Za pomocą
egrep
lubgrep -e
list_ALL_AVAILABLE_from_repo
Aby wyświetlić listę wszystkich dostępnych pakietów w określonym repozytorium, wykonaj:
źródło
repoquery -qa --repoid=REPONAME
repoquery -a --repoid=REPONAME
ponieważ zgodnie z-q
opcją man strona jest zgodna z rpmquery, nic nie robi.-qa
faktycznie się nie udaje. Nie mogę głosować za komentarzem ze względu na wcześniejsze usunięcie opinii :( Aktualizuję odpowiedź, aby to odzwierciedlić.Notatki
Powyższe polecenie używa DNF do wyświetlenia listy pakietów zainstalowanych z
<repoid>
. Uwagarepo-pkgs
to tylko pseudonimrepository-packages
.Ze
man
stron:Dalsza lektura:
źródło
Grepping yum jest najbardziej oczywistym sposobem:
Nie można jednak wyświetlić dodatkowych właściwości pakietów i trudno jest je przeanalizować za pomocą skryptu. Narzędzie
repoquery
z pakietuyum-utils
jest narzędziem, ale nie jest domyślnie instalowane.i bardziej złożony przykład:
źródło
RHEL Server 7.5 (Maipo)
yum repo-pkgs <repoid> list installed
można użyć do pobrania tych samych informacji coyumdb search from_repo <repoid>
, ale w innym formacie.Przykładowe
epel
wyniki:źródło
Możesz sprawdzić
Vendor
nagłówek zainstalowanych RPM.W tym przykładzie wymieniono wszystkie pakiety z repozytorium VideoLAN :
Oczywiście musisz ustalić, czy
Vendor
nagłówek Twojego repozytorium jest unikalny wśród różnych repozytoriów.źródło
Dla osób, które chcą tylko znaleźć brakujące repozytoria:
Powinno to zwrócić wszystkie repozytoria, z których masz zainstalowane pakiety.
źródło