Ich habe vor kurzem Ubuntu Server Edition 13.10 (Saucy Salamander) installiert. Aber ich bin auf ein Problem gestoßen.
Am Ende der Installation werden Sie nach mehreren zusätzlichen Paketen gefragt, ob Sie diese möchten oder nicht, z. B. OpenSSH-Server und Host der virtuellen Maschine. Folgendes schaue ich mir an:
Mein Problem ist nun, dass ich mich nicht erinnern kann, ob ich das Kontrollkästchen "Host der virtuellen Maschine" aktiviert habe. Wie überprüfe ich, ob mein Server die entsprechenden Pakete hat?
Welche Pakete sind im Host der virtuellen Maschine enthalten?
$ apt-cache policy <package-name>
ZB$ apt-cache policy dillo
Antworten:
Möchten Sie alle dpkg-Befehle mit Optionen kennenlernen? Lesen Sie den folgenden Link.
15 dpkg-Befehle zum Verwalten von Debian-basierten Linux-Servern
So listen Sie alle installierten Pakete auf
Hier ist "less" ein einfacher Textleser, mit dem Sie durch die Liste der Pakete in einem neuen Puffer scrollen können, der im vorhandenen Terminalfenster geöffnet wird. Die Liste wird nicht mit anderen Terminalbefehlen gemischt und ausgegeben. Drücken Sie 'q', um zur Eingabeaufforderung des Terminals zurückzukehren. Siehe "Mann weniger" für weitere Informationen.
So überprüfen Sie, ob ein Paket installiert ist:
So prüfen Sie, ob das Paket installiert ist oder nicht (z. B.
vlc
). Falls installiert, starten Sie das Paket:Zeigen Sie den Speicherort an, an dem das Paket installiert ist. Das "-S" (Hauptstadt S) steht für "Suche"
So verwenden Sie Grep zum Suchen:
quelle
dpkg -l packagename
, wie es mit einem 0 Exit - Code selbst wenn das Paket nicht vollständig installiert zurückkehren könnte - siehe: github.com/bitrise-io/bitrise/issues/433dpkg -l | cut -d " " -f 3 | grep "^vlc"
um alle Paketnamenvlc
Verwenden
dpkg
Dieser Befehl ist der Debian-Paketmanager.
Sie können alle installierten Pakete mit auflisten
Sie können Details für ein bestimmtes Paket mit anzeigen
Und um zu erfahren, ob es installiert ist, verwenden Sie
Sie können lernen, welches Paket die gewünschte Software enthält
In Ihrem Fall sollten Sie diesen Befehl verwenden, um den gewünschten Paketnamen zu suchen
quelle
apt -qq list PACKAGE
kann auch verwendet werden, um zu überprüfen, ob das PAKET installiert ist.Wenn installiert, gibt es so etwas wie (mit
[installed]
am Ende der Zeile) aus:Wenn nicht installiert, wird folgende Ausgabe ausgegeben:
quelle
-qq
? Es scheint identisch zu funktionieren, und diese Option ist nicht im Handbuchman apt
apt list
Befehl noch nicht vollständig dokumentiert ist. Einige schnelle Tests am 16.04 scheinen darauf hinzudeuten, dass dies-q
ein Synonym für--quiet
Option ist. Das erste-q
verhindert, dass das Wort "Fertig" gedruckt wird. Die zweite verhindert auch, dass "Listing ..." gedruckt wird.Ich habe eine Möglichkeit gefunden, die Paketinstallation nur mit dem Befehl dpkg-query und ohne Pipes zu überprüfen.
Ich habe nach einer solchen Lösung gesucht, als ich eine Aufgabe für ein lesbares Spielbuch geschrieben habe.
Also kannst du so etwas machen:
Dies ist nur ein anderer Weg, um die Sache zu tun.
quelle
shell
Modul.Ich schreibe eine neue Antwort, da Tasksel 'Aufgabennamen' NICHT in
dpkg
oderapt
Abfragen angezeigt wird . Das heißt, die anderen Antworten sind unvollständig (oder falsch)."Ich kann mich nicht erinnern, ob ich das Kontrollkästchen" Host der virtuellen Maschine "aktiviert habe."
Überprüfen Sie nach dem erneuten Ausführen, ob ein Sternchen neben dem Namen vorhanden ist
sudo tasksel
.(oder ein ' i ' wenn läuft
tasksel --list-tasks
).Wenn Sie dies nicht sehen, ist das 'tasksel - Metapaket' wahrscheinlich nicht installiert.
"..Wie überprüfe ich, ob mein Server die entsprechenden Pakete hat?"
Wenn Sie herausfinden möchten, was unter dem Metapaket Virtual Machine Host tasksel installiert ist, gehen Sie wie folgt vor:
tasksel --list-tasks
(in deinem fall
tasksel --list-tasks | grep virt
reicht das)Dies gibt die richtige Aufgabe Namen und eine Angabe darüber, ob es installiert ist.
In Ihrem Fall lautet dieser Tasksel-Name
virt-host
."Welche Pakete sind im Host der virtuellen Maschine enthalten?"
Suchen Sie im letzten Befehl den Tasknamen tasksel.
Dies wird für den nächsten Befehl benötigt:
tasksel --task-packages virt-host
Dies listet das einzelne Tasksel-Metapaket (gekennzeichnet durch das angehängte '^') auf, aus dem der Name besteht.
In deinem Fall ist es
virt-host^
.Sobald Sie den richtigen Metanamen gefunden haben, können Sie apt verwenden:
(oder
apt-cache show
...
wennapt show
nicht funktioniert.)Daraufhin werden alle Pakete angezeigt, aus denen das angegebene Metapaket besteht.
Dann:
Dies teilt Ihnen mit, ob das einzelne Paket installiert / deinstalliert wurde (mit dem 2. Buchstaben: "i" bedeutet "installiert"). Tun Sie dies für alle Pakete, die unter dem Paket task / meta aufgeführt sind.
Dies sollte die ursprünglichen Fragen beantworten.
Anmerkung: /usr/share/tasksel/descs/ubuntu-tasks.desc enthält auch Beschreibungen der Tasksel-Metapakete. Wenn Sie:
grep "virt" /usr/share/tasksel/descs/ubuntu-tasks.desc
Es wird der richtige APT-Metapaketname angezeigt. (In deinem Fall ist dasubuntu-virt-server
). Sie können auchapt
Befehle mit diesem Metanamen verwenden.Wenn Sie Tasksel-Pakete entfernen möchten, gerät dies etwas ins Unkraut. Bitte konsultieren Sie https://askubuntu.com/a/88897/169878 oder eine beliebige Anzahl anderer Antworten.
Bitte beachten Sie, dass "Meta" -Pakete nicht mit den Tasksel-Paketnamen übereinstimmen. Weitere Informationen finden Sie auf der Tasksel-Community-Seite .
quelle
Verwenden Sie tasksel (
sudo apt-get install tasksel
falls Sie es noch nicht haben) und führen Sie es austasksel --list-tasks
.tasksel druckt eine Liste der Aufgaben aus, und
i
neben jeder installierten Aufgabe undu
neben jeder nicht installierten Aufgabe befindet sich eine.Wenn Sie den Task installieren möchten, verwenden Sie
tasksel install <task>
. Der Name der gesuchten Aufgabe lautetvirt-host
.Die Software-Auswahlelemente werden als "Aufgaben" bezeichnet.
quelle
Wenn jemand interessiert ist, habe ich ein kleines Skript erstellt, mit dem Sie automatisch aus einer Liste von Paketen oder Anwendungen installieren oder einfach überprüfen können, ob sie bereits installiert sind:
Hoffe es hilft jemandem.
quelle
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. Wenn Sie den genauen Paketnamen nicht kennen, können Sie einenapt search
Teil davon verwenden, um eine Liste verwandter Pakete anzuzeigen.quelle