Shell: 特定のパッケージに関連するすべてのパッケージをアンインストールするにはどうすればいいですか? / Ubuntu

Shell: 特定のパッケージに関連するすべてのパッケージをアンインストールするにはどうすればいいですか? / Ubuntu

最近、ホスティング プロバイダーに、最小限必要なパッケージがインストールされるように OS をリロードするように依頼しましたUbuntu 12.04 64 bit minimalが、mysql がインストールされていることに気付きました。そのため、必要ないので、それに関連するすべてのパッケージをアンインストールしたいと思います。

私がやったことは次のとおりです:

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

しかし、私はまだmysqlバイナリとファイルを見つけています

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

私はこう考えています

$ dpkg -s mysql*

しかし、これは役に立ちませんでした。

何かアドバイス?

答え1

なぜそれが必要ないと思っているのですか? おそらく他のパッケージがそれに依存しており、mysql サーバーのセットアップにのみ使用されるわけではなく、たとえば一部のプログラムはそれを使用して内部 DB を管理しています。

さて、あなたの質問に答えるには、最初のステップは、それらのファイルをインストールしたパッケージを見つけることです。

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

これは Ubuntu 14.04 仮想マシンからの出力です。お使いのマシンはおそらく異なるバージョンですが、同じ原則が適用されます。これでパッケージ名がわかり、手動で削除できます。

基本的に、削除した2つのパッケージはどちらもメタパッケージ他のパッケージを指しているもの。そのため、これらを削除すると、ダミー パッケージのみが削除され、一緒にインストールされたすべてのものは削除されません。mysql に関連するものをすべて削除するには、次のコマンドを実行します。

sudo apt-get remove --purge mysql-*

答え2

apt-get remove特定のパッケージに含まれるファイルに使用する場合は、次のようにします。

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

(/usr/bin/mysqlを削除したいファイルに置き換えます)

これを使用すると、apt-getdpkgが見つけたパッケージを本当に削除するかどうかを尋ねられますが、パッケージ名を見た後に、それを望んでいないことに気付くことがあります。

関連情報