An unserer Universität können wir fast jedes Ubuntu-Paket installieren, das wir möchten, aber wir sind selbst keine Superuser (wir müssen anfordern, dass Pakete installiert werden).
Bei einigen Bibliotheken ist es nicht immer einfach zu erkennen, ob das Paket bereits installiert ist oder nicht. Gibt es einen einfachen Weg / Befehl, um dies zu überprüfen?
package-management
Peter Smit
quelle
quelle
dpkg -s
funktioniert jedoch: askubuntu.com/a/1108801/52975apt
:apt policy <package name>
oderapt show <package name>
für mehr Info.Ich benutze das immer nur von der Kommandozeile aus:
Daher fordert der obige Befehl dpkg auf, alle installierten Pakete aufzulisten, und dann greife ich nur auf diejenigen zu, die mysql im Namen haben.
quelle
dpkg -l "*mysql*"
funktioniert auch und verbirgt nicht die erklärenden Zeilen in der Ausgabe.dpkg -l "*mysql*"
(oderdpkg -l '*mysql*'
) formatiert auch die Ausgabe so, dass jedes Paket in eine Zeile des Terminalfensters passt (grep nicht). In diesem Formular können Sie das Platzhalterformat (Präfixe oder Suffixe) auswählen und festlegen, ob überhaupt Platzhalter verwendet werden sollen (im Vergleich zu grep). Aber grep gibt schöne Färbung ..))Eine weitere Variante, die diesmal aptitude verwendet:
Die Tab-Vervollständigung funktioniert auch hier.
quelle
Sie können dselect verwenden. Es bietet nicht-su schreibgeschützten Zugriff.
Außerdem
dpkg -s <package name>
bietet eine Menge Details zu einem Paket zusammen. Z.B"quelle
dpkg -s
. Und umgekehrt,dpkg-query -l
funktioniert genauso gut wiedpkg -l
dpkg --list
Sie können es
dpkg-query -s <package> 2>/dev/null | grep -q ^"Status: install ok installed"$
in Skripten verwenden, da es den Exit-Code 1 zurückgibt, wenn das<package>
nicht installiert ist, und 0, wenn das<package>
installiert ist.quelle
dpkg -s
Produkt zurückgegeben wird0
, bedeutet dies nicht unbedingt, dass das Paket vollständig / korrekt installiert ist.dpkg -s
Gibt auch zurück,0
wenn das Paket inhalf-configured
oder imconfig-files
Status ist (und ich denke auch inhalf-installed
, aber ich habe das nicht überprüft). Weitere "unvollständige" Status finden Sie auf der Manpage vondpkg
( manpages.ubuntu.com/manpages/oneiric/man1/dpkg.1.html ).Einfachere Lösung:
Es gibt jetzt einen
apt list
Befehl, der installierte Pakete auflistet. Sie können auch mit nach einem bestimmten Paket suchenSiehe
man apt
für weitere Informationen.quelle
apt show
für weitere Detailsdpkg -s
programmatische NutzungIch mag
dpkg -s
es,1
wenn es mit Status beendet wird, wenn eines der Pakete nicht installiert ist, was es einfach macht, es zu automatisieren:Siehe auch:
Getestet unter Ubuntu 18.10.
quelle
Beispiel für die Verwendung eines bestimmten Wertes als var in Shellskripten (zB
test.sh
)Mach es ausführbar und beginne mit:
Oder machen Sie mit Ihren Skripten, was Sie wollen
quelle
Sie müssen den Status überprüfen, der gedruckt wird
dpkg -l
, zum Beispiel durch:Hier werden beide
vim
undfirefox-esr
installiert, daher können Sie Folgendes eingeben:quelle