apt-get 不会在 /etc 中删除\创建目录

ele*_*hil 1 debian apt

我不明白这是一个错误还是我不知道什么。

我安装了,例如mysql-server包:

apt-get 安装 mysql-server

它安装并运行良好。然后我尝试删除它,它的配置:

apt-get 清除 mysql 服务器

正如我从手册中了解到的,清除删除所有包的配置,但目录/etc/mysql仍然存在。然后我手动删除了它:

rm -r /etc/mysql
Run Code Online (Sandbox Code Playgroud)

但是当我再次尝试安装该软件包时,它不会在其中创建目录/etc ,当然该软件包不起作用。它不仅发生在 MySQL 中,而且发生在许多其他软件包中,包括 Apache vim。

我该怎么办?

这是在 Debian 7“喘息”上。

ste*_*tew 6

您需要确保正在清除实际包含配置文件的包。例如,/etc/mysql/my.cnf 不属于 mysql-server 包,而是属于 mysql-common 包。您可以通过运行dpkg -S /etc/mysql或来查看这一点dpkg -S /etc/mysql/my.cnf。对于 apache2,它的 apache2.2-common 包拥有大部分配置。

apt-file是一个方便的实用程序,您也可以安装它来搜索此类内容。之后apt-file updateapt-file search /etc/mysql应该有助于确定需要重新安装的软件包。

另请注意,您不一定必须清除包来替换丢失的配置,有一个 dpkg 选项--force-confmiss可以替换丢失的配置并--force-confnew替换现有配置,因此您可能会解决 mysql 问题apt-get -o DPkg::options::=--force-confmiss install --reinstall mysql-common