Wie kann man auf einem Debian-basierten System, einschließlich Ubuntu, feststellen, aus welchem Repository ein Paket heruntergeladen wird, ohne den Download tatsächlich zu starten? aptitude show
und apt-cache info
zeigt den Abschnitt (z. B. Metapaket, Basis, Grafiken), aber nicht das Repository, zu dem ein Paket gehört (z. B. http://ppa.launchpad.net/mactel-support/ppa/ubuntu oder http: // us .archive.ubuntu.com / ubuntu / ).
Bei der Installation des Pakets wird das tatsächliche Repository während des Downloads angezeigt (es wird in der Ausgabe "Herunterladen von ..." von apt und ähnlichen Programmen ausgedruckt). Wie kann man jedoch Informationen über das Repository erhalten, das das Paket enthält (oder ein bestimmtes Repository)? Version eines Pakets), ohne es zuerst herunterzuladen und zu installieren?
Wie kann das Quellrepository für ein bereits installiertes Paket ermittelt werden?
quelle
Antworten:
Ich laufe
apt-cache policy <package name>
:Das heißt, es gibt drei
wajig
Pakete:Eine, die installiert ist (
/var/lib/dpkg/status
)Eine, die in einem lokalen Repository verfügbar ist (
file:/home/wena/.repo_bin/
)Eine, die in einem Remote-Repository (
ftp://ftp.is.co.za/debian
) verfügbar ist , das zufällig auch die gleiche Version ( 2.0.47 ) wie die in einem lokalen Repository hatDarüber hinaus
apt-cache madison <package name>
werden ähnliche Informationen in einem Tabellenformat angezeigt.quelle
2.1
Version in keinem Repository verfügbar. Es ist vor Ort gebaut.***
oder/var/lib/dpkg/status
?apt-cache policy
sagt:Installed: (none)
.Aha! Anscheinend ist der richtige
apt
Befehl nichtapt-cache info
, sondernapt-cache showpkg
.Die
File:
Zeile enthält die Repository-Informationen nach dem/var/lib/apt/lists/
.Es gibt einen Fehlerbericht, der
aptitude
das Quell-Repository nicht anzeigen kann , aber es scheint, dass die Funktion derzeit noch auf der Wunschliste steht.quelle
apt-cache showpkg
) nicht als die richtige markiert ist.Das funktioniert bei mir (zeigt wo das 2vcard Paket ist):
Sie können zusätzliche Filter anwenden, um Versionen usw. zu überprüfen, wenn mehrere Versionen verfügbar sind.
quelle
dpkg
.Ich frage mich, warum niemand etwas erwähnt hat
aptitude
. Ich benutze es die ganze Zeit.Eignung ist:
sudo apt install aptitude
ncurses
GUI (wird aber meistens ohne benutzt)liefert eine wirklich hübsche Ausgabe. Verwenden Sie den folgenden
aptitude versions
Befehl, um Versionen von Paketen anzuzeigen:hat keine Super Cow Powers
Der Buchstabe vor jeder Zeichenfolge gibt den Status des Pakets an. I ist installiert und p ist gelöscht (oder nie installiert). Stable , testing und unstable sind Repository-Definitionen. Die Zahl am Ende hat eine PIN-Priorität .
Eine Einschränkung in Bezug auf neuere Versionen von aptitude, die hier erwähnt werden sollte: Standardmäßig werden alle Pakete angezeigt, die den von Ihnen gesuchten Namen enthalten. Verwenden Sie also ein wenig Regex , um beispielsweise nach dem strengen Namen zu suchen
aptitude versions ^kde-workspace$
.quelle
versions
Sie können einfach die passenden Pinning-Werte der angegebenen Pakete überprüfen, nicht die zugehörigen Repos. Es ist dennoch nützlich, wenn Sie alle Ihre Repos kennen und wissen, wie sie festgehalten werden.Leider werden diese Informationen während der Paketinstallation nicht aufgezeichnet. Sie können eine Vermutung anstellen, ob sich das Repository noch in der Quellliste befindet und das Repository noch das Paket enthält:
apt-cache showpkg
zeigt Daten aus der Repository-Datenbank an (nicht die installierte), sodass es sich um eine andere Form der gleichen Informationen aus dem grep handelt.Sogar Synaptic kann (im Origin-Bildschirm) nicht erkennen, ob Sie das Repository deaktivieren und aktualisieren.
quelle
Oder, inspiriert von Sunny, probieren Sie:
ps. nicht 100% genau.
quelle