Shell: Wie deinstalliere ich alle mit einem bestimmten Paket verbundenen Pakete? / Ubuntu

Shell: Wie deinstalliere ich alle mit einem bestimmten Paket verbundenen Pakete? / Ubuntu

Ich habe meinen Hosting-Anbieter kürzlich gebeten, das Betriebssystem neu zu laden, in der Ubuntu 12.04 64 bit minimalAnnahme, dass auf „Minimal“ die mindestens erforderlichen Pakete installiert wären. Dann stellte ich jedoch fest, dass MySQL installiert war. Da ich es nicht benötige, wollte ich alle damit verbundenen Pakete deinstallieren.

Was ich getan habe, war:

$ sudo apt-get --purge remove mysql-client
$ sudo apt-get --purge remove mysql-server

Allerdings finde ich immer noch MySQL-Binärdateien und -Dateien

$ whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/bin/X11/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

Ich denke an so etwas wie

$ dpkg -s mysql*

Aber das hat nicht geholfen.

Irgendein Rat?

Antwort1

Warum bist du so sicher, dass du es nicht brauchst? Vielleicht sind andere Pakete davon abhängig, es wird nicht ausschließlich zum Einrichten eines MySQL-Servers verwendet, einige Programme verwalten damit beispielsweise ihre internen Datenbanken.

Um nun Ihre Frage zu beantworten, besteht der erste Schritt darin, herauszufinden, welches Paket diese Dateien installiert hat:

$ dpkg -S /usr/bin/mysql
mysql-client-core-5.5: /usr/bin/mysql

Dies ist die Ausgabe einer virtuellen Maschine mit Ubuntu 14.04. Ihre Version ist wahrscheinlich eine andere, aber das gleiche Prinzip gilt. Jetzt kennen Sie den Paketnamen und können ihn manuell entfernen.

Im Grunde sind die beiden Pakete, die Sie entfernt haben, beideMetapaketedie auf andere Pakete verweisen. Als Sie sie entfernt haben, haben Sie also nur das Dummy-Paket entfernt und nicht alles, was mit ihnen installiert wurde. Um alles zu entfernen, was mit MySQL zu tun hat, führen Sie Folgendes aus:

sudo apt-get remove --purge mysql-*

Antwort2

Wenn Sie es für eine Datei verwenden möchten, apt-get removedie in einem bestimmten Paket enthalten ist, haben Sie folgende Möglichkeiten:

apt-get remove $(dpkg  -S /usr/bin/mysql | cut -d ':' -f 1)

(Ersetzen Sie /usr/bin/mysql, durch die Datei, die Sie entfernen möchten)

Wenn Sie dies verwenden, apt-getwerden Sie immer noch gefragt, ob Sie das Paket (das dpkg gefunden hat) wirklich entfernen möchten. Manchmal erkennen Sie, dass Sie das nicht möchten, nachdem Sie den Paketnamen gesehen haben

verwandte Informationen