Debian: Finden Sie das Repository, aus dem ein Paket installiert wurde

512
koudougou

Auf einem älteren Debian-Computer mit vielen unterschiedlichen Quellen-Repositorys in /etc/apt/sources.list.d/ möchte ich für jedes installierte Paket herausfinden, aus welchem ​​Repo es installiert wurde. Ich möchte die Ausgabe der apt-cache-Richtlinie in ein Skript schreiben, aber bevor ich diese Ausgabe klarer verstehen muss.

Ich habe Dinge gefunden, die ich nicht interpretieren kann:

# apt-cache policy apache2 apache2: Installed: 2.2.22-13+deb7u8 Candidate: 2.2.22-13+deb7u12 Version table: 2.2.22-13+deb7u12 0 500 http://security.debian.org/ wheezy/updates/main amd64 Packages *** 2.2.22-13+deb7u8 0 100 /var/lib/dpkg/status 2.2.22-13+deb7u6 0 500 http://cloudfront.debian.net/debian/ wheezy/main amd64 Packages 

Bedeutet das, dass die aktuell installierte Version (die mit dem ***) von / var / lib / dpkg / status installiert wurde ? Bedeutet das überhaupt etwas, das von / var / lib / dpkg / status installiert werden muss ?

An Beispielen, die ich in ähnlichen Themen finden kann, hat der mit *** gekennzeichnete Abschnitt eine Zeile mit / var / lib / dpkg / status priorität 100, er hat auch eine andere Zeile mit einem http-Repo und einer Priorität 500, und ich nehme an, dass dies bedeutet dass das Paket von diesem Repo mit Priorität 500 installiert wurde.

Aber in welchem ​​Fall, von welchem ​​Repo wurde das Paket apache2 installiert? Da wir sehen, dass eine neue Version vorgeschlagen wird (repo security.debian.org), bedeutet dies, dass das Paket von diesem Repo installiert wurde. Da jedoch ein Update verfügbar ist, wurde die Zeile aus dem Abschnitt *** und entfernt Deshalb gibt es nur eine Zeile mit / var / lib / dpkg / status .

Oder vielleicht bedeutet diese einzelne Zeile mit dem Repository / var / lib / dpkg / status, dass sie aus einem Repo installiert wurde, das aus den sources.list.d-Dateien entfernt wurde?

Bearbeiten (für den ersten Kommentar dieses Beitrags):

 # apt-cache showpkg apache2 Package: apache2  Versions:  2.2.22-13+deb7u12 (/var/lib/apt/lists/security.debian.org_dists_wheezy_updates_main_binary-amd64_Packages) Description Language:  File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages MD5: d24f049cd70ccfc178dd8974e4b1ed01 Description Language: en File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en MD5: d24f049cd70ccfc178dd8974e4b1ed01  2.2.22-13+deb7u8 (/var/lib/dpkg/status) Description Language:  File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages MD5: d24f049cd70ccfc178dd8974e4b1ed01 Description Language: en File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en MD5: d24f049cd70ccfc178dd8974e4b1ed01  2.2.22-13+deb7u6 (/var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages) Description Language:  File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages MD5: d24f049cd70ccfc178dd8974e4b1ed01 Description Language: en File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en MD5: d24f049cd70ccfc178dd8974e4b1ed01 

Diese Ausgabe verwirrt mich nur: Der Repo-Name neben der Version stimmt nicht mit dem Repo-Namen im Abschnitt Datei überein.

3
verwandt: https://superuser.com/questions/106794/wie- mcalex vor 6 Jahren 0
Die meisten dieser Beiträge beziehen sich auf noch nicht installierte Pakete, und ich möchte wissen, welche Pakete bereits installiert sind. Ich habe trotzdem versucht, Infos mit einem gefundenen Befehl (apt-cache showpkg) im Thema zu bekommen und meinen Beitrag zu bearbeiten, um die Ausgabe zu liefern. Es fügt nur Verwirrung hinzu (siehe Bemerkung nach der Ausgabe). koudougou vor 6 Jahren 0
Ich weiß nicht, dass die Daten neben der Versionsnummer wichtig sind. Entsprechend der Antwort von gotgenes auf diesen Link enthält die Zeile `File:` das Repo. Wenn Sie horizontal bis zum Ende der Ausgabe von gotgenes scrollen, werden Sie zwei Versionen des Reponames sehen. Das '... dpkg / status'-Bit ähnelt dem Ihrer Ausgabe. Ich empfehle ["man apt-cache"] (https://linux.die.net/man/8/apt-cache) mcalex vor 6 Jahren 0
Natürlich sind sowohl die Personen [Ask Ubuntu] (https://askubuntu.com/questions/8560/how-do-i-find-out-which-repository-a-package-comes-from) als auch die [Unix & Linux] (https://unix.stackexchange.com/questions/177620/find-source-of-all-installed-packages-on-debian-based-systems) hat sich bereits damit beschäftigt. mcalex vor 6 Jahren 0
Ich habe diese Themen bereits vor dem Posten gelesen. Sie beantworten die ersten beiden Fragen nicht. Wenn Sie schließlich feststellen, dass das Paket unter / var / lib / dpkg / status installiert wurde, wie kann es interpretiert werden? Was bedeutet das ? Das Paket wurde von einem bestimmten Repo installiert, dann wurde das Repo aus der sources.list entfernt. Eine andere Erklärung? koudougou vor 6 Jahren 0
But i still don't think any of that info matters. The line that starts 'File:' has the repo. Ignore the line with the version number. I'm pretty sure `/var/lib/dpkg/status` is just a local dir. mcalex vor 6 Jahren 1
Ok, das mache ich. koudougou vor 6 Jahren 0

0 Antworten auf die Frage