grep-dctrl
und seine Derivate bieten eine großartige Möglichkeit, die apt-Cache-Dateien abzufragen. (Sie können diese Tools unter Ubuntu mit sudo apt-get install dctrl-tools installieren.)
Bei verfügbaren (aber nicht unbedingt installierten) Paketen können Sie verwenden grep-available
. So listen Sie beispielsweise alle verfügbaren Pakete auf:
grep-available -s Package .
Bearbeiten:
aptitude
Sie können eine Liste der nicht installierten Pakete anzeigen, indem Sie sie einfach starten.
Sie können auch eine Liste nicht installierter Pakete abrufen, aptitude
indem Sie Folgendes verwenden:
aptitude -F "%p" search "?not(?installed)"
Beachten Sie, dass Sie mit den neuen Multi-Arch-Paketen Pakete für andere Architekturen erhalten, die in diesem Ergebnis aufgeführt sind. Zum Beispiel bekomme ich:
aptitude -F "%p" search "?not(?installed)" | grep "^bash:"
bash:i386
Ich habe das bash
Paket installiert, aber es ist die amd64-Version, da auf meinem Betriebssystem die amd64-Version von Ubuntu Precise installiert ist. Wenn Sie diese Pakete nicht für andere Architekturen anzeigen möchten, können Sie Zeilen ausschließen, die Folgendes enthalten :
:
aptitude -F "%p" search "?not(?installed)" | grep -v ':'
apt-cache
wird zum Abfragen des Paket-Cache verwendet:quelle
code
"dpkg --get-selections | grep '[[: space:]] install $' | awk '{print $ 1}' > built.txt "und Duplikate gefunden. Die beiden anderen Befehle , die Sie zur Verfügung gestellt wird nicht funktionieren , weil ich nicht für ein bestimmtes Paket bin auf der Suche , sondern jedem Paket , das derzeit nicht installiert ist.Verwenden Sie
apt-cache
für diesen Zweck:Da
apt-cache
nur der Paket-Cache auf dem System verwendet wird, stellen Sie sicher, dass dieser Cache auf dem neuesten Stand ist:Sie können das Dienstprogramm auch verwenden,
apt-file
wenn Sie den Namen einer Datei kennen, nach der Sie suchen möchten. Dies muss jedoch zum System hinzugefügt werden. Beispielsweise:Ich neige dazu,
apt-cache
auf eine der folgenden Arten zu verwenden:(Dies zeigt Ihnen Dinge, die tatsächlich einen Gegenstand in ihrer Zusammenfassung oder in ihren Namen haben.)
(Diese sucht nach etwas und sortiert es dann für eine angenehme Betrachtung mit
less
.)quelle
Mein Standpunkt ist es, mit standardmäßig installierten Befehlen zu arbeiten und zusätzliche Pakete zu vermeiden, wenn es keinen bestimmten Grund gibt.
In meinem Debian mit GNU bash diese einfachen Befehle
gibt eine Liste von allem (installiert und nicht installiert). Ich kann dann die Ergebnisse einschränken, wenn grep "installiert" oder grep -v "installiert" ist. Es kann auch mit einem oder mehreren Paketnamen kombiniert werden (Platzhalter werden akzeptiert).
Der Schalter "-all-versions" stellt in der Ausgabe separate Zeilen für jede Paketversion bereit (stable, testing, unstable, experimental).
Einfache "Apt-Liste" gibt nur eine (die höchste Priorität) Version.
quelle
Nehmen Sie Ihre Frage genau (Sie möchten eine Liste der nicht installierten Pakete anzeigen), und versuchen Sie es mit
(bearbeitet nach Kommentaren unten)
Ich bin mir jedoch der genauen Syntax nicht sicher, da ich dies auf eine Windows-Box schreibe und nicht überprüfen kann. Vielleicht versuchen Sie zu ändern, worauf Sie Lust haben
quelle
'^ii'
nicht'[ii]'
), sind Sie auf Pakete fehlen , die installiert sind , aber nicht zum Beispiel konfiguriert (wieiF
oderiH
zum Beispiel).