Czy istnieje metoda lub polecenie, które pozwala stwierdzić, z którego repozytorium pochodzi pakiet?
147
Czy istnieje metoda lub polecenie, które pozwala stwierdzić, z którego repozytorium pochodzi pakiet?
Odpowiedzi:
Potrzebne polecenia:
dpkg -s <package>
- pozwala znaleźć wersję, którą zainstalowałeś. ( źródło )apt-cache showpkg <package>
- wyświetli listę dostępnych wersji pakietu. Dla każdej wersji podane zostanie źródło pakietu, w postaci nazwy pliku indeksu.Jeśli chcesz znaleźć źródło aktualnie zainstalowanego pakietu, potrzebujesz danych wyjściowych
dpkg -s <package>
. W przeciwnym razie możesz po prostu spojrzeć na najnowszą wersję danych wyjściowych przezapt-cache showpkg <package>
.Przykład:
Po pierwszym poleceniu widzę, że Liferea wersja 1.6.2-1ubuntu6 jest zainstalowana. Po drugim poleceniu widzę, że ta wersja jest wymieniona w
/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
.Bez zbytniego wysiłku, mogę wywnioskować, że linia źródło zawiera
archive.ubuntu.com
,ubuntu
,lucid
, imain
.I rzeczywiście, mój
/etc/apt/sources.list
zawiera następujący wiersz.źródło
apt-cache policy <package name>
(z: superuser.com/a/236605/37279 )trusty
źródeł pakietów Ubuntu , to tymczasowo dodajutopic
do mojegosources.list
, aby zainstalować wersję 1.20ubuntu3,init-system-helpers
a następnie ponownie usuń repozytorium z mojegosources.list
,apt-cache showpkg init-system-helpers
po prostu kłamię na temat oryginalnej listy pakietów iapt-cache policy init-system-helpers
po prostu stwierdzę oczywistość.Użyj następującego polecenia. Ma lepszą wydajność:
W przypadku Ubuntu 16.04 i nowszych istnieje krótszy sposób:
źródło
apt-cache policy
zobacz także superuser.com/a/236605/61370apt-cache policy
jest dobry, ale czasami trzebaapt-cache showpkg
porównać sumy MD5 z pakietu. Zobacz takżedebsums --changed
policy
opcja jest najbardziej użyteczna w porównaniu zsources.list
apt policy <package-name>
można użyć jeszcze prostszego , począwszy od 16.04LTS. Gdy 14.04LTS stanie się EOL'em w 2018 roku, odpowiedź ta może być edytowana w celu użycia nowszej komendy.apt
na Ubuntu 16.04+Poza tym
apt-cache policy
,showpkg
ashow
teraz mamy prostsze, z łatwymi do zapamiętania podkomendami:apt
(nie mylić z klasykąapt-*
):Lub alternatywa z większą ilością informacji
apt show <package>
, wiersz zaczynający się od „APT-Sources:” .Opis: Ten pakiet zawiera narzędzia wiersza polecenia do wyszukiwania i zarządzania, a także kwerendy o pakietach jako niski poziom dostępu do wszystkich funkcji biblioteki libapt-pkg. Należą do nich:
apt-get
,apt-cache
,apt-cdrom
,apt-config
,apt-key
.Podstawowe polecenia z
apt --help
Inne również łatwe do zapamiętania podkomendy:
apt list
- wyświetla listę pakietów na podstawie nazw pakietówapt search
- szukaj w opisach pakietówapt show
- pokaż szczegóły paczkiapt update
- zaktualizuj listę dostępnych pakietówapt install
- instaluj pakietyapt remove
- usuń paczkiapt purge
- usuń pakiety i pliki konfiguracyjne :apt upgrade
- zaktualizuj system, instalując / aktualizując pakietyapt full-upgrade
- zaktualizuj system, usuwając / instalując / aktualizując pakietyapt edit-sources
- edytuj plik informacji o źródleźródło
apt policy xxx
wygląda identycznieapt-cache policy xxx
, być może powinien to być komentarz. Lub przynajmniej wspomnieć, żeapt show
wydaje się , że potrzebny jest-a
przełącznik, aby wyświetlić „dodatkowe rekordy” z innych źródełNiestety ta informacja nie jest rejestrowana podczas instalacji pakietu. Możesz zgadnąć, czy repozytorium nadal znajduje się na liście źródeł, a repozytorium nadal ma pakiet:
Nawet synaptic nie może stwierdzić, czy wyłączysz repozytorium i zaktualizujesz.
źródło
źródło
źródło
Jest to trochę dokładniejsze:
Najnowsza wersja zazwyczaj jest instalowana, chyba że ustawiłeś apt-pinning lub wyraźnie zainstalowałeś konkretną wersję.
źródło