Wie finde ich installierte Pakete ohne Installationskandidaten?


7

Ich möchte eine Liste der installierten Pakete abrufen, die keinen Installationskandidaten haben (z. B. weil ich einen passenden Quelldateieintrag entfernt habe). Wie würde ich das auf Debian-basierten Systemen machen?


Sie könnten verwenden apt-show-versionsund grep für No available version in archive.
Faheem Mitha

Antworten:


8

Suchen Sie mit Aptitude nach dem ?obsolete Muster , möglicherweise mit einem benutzerdefinierten Anzeigeformat .

aptitude -F '%p' search '?obsolete'

Ich wusste, ich hätte anfangen sollen, Befehlszeilen-Paketmanagement mit aptitude anstelle von apt zu lernen. Danke, unkompliziert und schneller als die andere Antwort. :)
htorque

2

Dieser wurde aktualisiert:

for package in $(dpkg -l | awk '/ii/{print $2}'); do
     if ! grep -xq "Package: $package" /var/lib/apt/lists/*Packages; then
         echo $package
     fi
done

Verwenden der apt-Cache-Richtlinie:

for package in $(dpkg -l | awk '/ii/{print $2}'); do
    if ! apt-cache policy $package | grep -q '[0-9] http://'; then
        echo $package
    fi
done

Leider scheint dies nicht wichtig zu sein: i386-Pakete auf Systemen mit Multiarch-Unterstützung. Das Parsen der Ausgabe von apt-cache policy <package>würde funktionieren, aber das wäre ziemlich langsam, wie ich mir vorstellen kann.
Htorque

Geben Sie mir ein Beispiel dafür, wie die Ausgabe apt-cache policyauf Ihrem Multiarch-System aussehen würde.
Teresa e Junior

Das Beispiel für ein solches Paket ohne Installationskandidaten ...
Teresa e Junior

paste.ubuntu.com/811658 - aber ich habe eine andere Idee: versuchen, apt-get download -salle installierten Pakete.
Htorque

Ihr apt-cache policyhilft nicht und apt-get downloadexistiert nicht in Debian.
Teresa e Junior

0

Aktualisieren Sie einfach Ihre Pakete mit

sudo apt-get install update

In den meisten Fällen werden die Probleme dadurch behoben. Wenn nicht erfüllte Abhängigkeitsprobleme auftreten, verwenden Sie diese

sudo apt-get -f install
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.