Shell: Как удалить все связанные пакеты с определенным пакетом? / Ubuntu

Shell: Как удалить все связанные пакеты с определенным пакетом? / Ubuntu

Недавно я попросил своего хостинг-провайдера перезагрузить ОС, предположив, что 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, некоторые программы управляют своими внутренними БД с его помощью, например.

Теперь, чтобы ответить на ваш вопрос, первым шагом действительно будет выяснить, какой пакет установил эти файлы:

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

Это вывод виртуальной машины Ubuntu 14.04. У вас, вероятно, будет другая версия, но принцип тот же. Теперь вы знаете имя пакета и можете удалить его вручную.

По сути, оба удаленных вами пакета — этомета-пакетыкоторые указывают на другие пакеты. Поэтому, когда вы их удалили, вы удалили только фиктивный пакет, а не все, что было установлено вместе с ними. Чтобы удалить все, что связано с 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-getвсе равно будет спрашиваться, действительно ли вы хотите удалить пакет (который нашел dpkg), иногда вы понимаете, что не хотели этого, после того, как увидите имя пакета.

Связанный контент