我偶尔会丢失配置文件“/etc/mysql/my.cnf”,并想恢复它。该文件属于mysql-common
一些重要功能所需的包,所以我不能只使用purge && install
它:依赖项也会被卸载(或者如果我可以暂时忽略它们,它们将无法工作)。
有没有办法从包中恢复配置文件,而无需取消ar
包文件?
dpkg-reconfigure mysql-common
没有恢复它。
答案1
dpkg -i --force-confmiss mysql-common.deb
将重新创建任何丢失的配置文件,即/etc/mysql/my.cnf
在您的情况下。
答案2
以上方法都不适用于我 - 也许已经过时了 - 无论如何,我找到了这个解决方案:
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall mysql-common
答案3
在 Debian Squeeze 中 — 至少 — 我们也可以这样做,在之后su
— 或者sudo
对于 Ubuntu —
aptitude install -o Dpkg::Options::=--force-confmiss mysql-server
这将处理依赖关系mysql-server
并重置所有缺失的 conf 文件,包括mysql-common
。冲突(剩余)文件将被提示保留或重置。
不幸的是,aptitude 中的一个错误, 和
aptitude purge -o Dpkg::Options::=--force-all mysql-server
不管用。所以我们必须一个接一个地做
dpkg --force-all --purge mysql-common mysql-server mysql-client …
这会删除所有配置文件,原始或修改版,但自定义文件将被保存,并显示一条屏幕消息。顺便说一句,请注意,它dpkg
还会识别--force-confnew
和--force-confold
选项。
要mysql-server
在屏幕上打印依赖项列表:
aptitude --simulate remove mysql-server
答案4
在我的/etc/mysql/
目录中,我有一个my.cnf.orig
包含原始内容的文件my.cnf
。
我不知道从哪里来/etc/mysql/my.cnf.orig
的——也就是说,我是 mysql 的安装导致的。我记得有一次检查过曾是完全一样my.cnf
如果你有这样的东西,不 my.cnf
您可以将一个复制到另一个。
sudo cp /etc/mysql/my.cnf.orig /etc/mysql/my.cnf
无论如何,它是一个 3897 字节的简单文本文件,您可以从通用 Mysql 配置文件中复制和粘贴。
这将是一个好主意一旦你恢复请/etc/mysql/my.cnf
制作一份副本,以便将来可以轻松恢复。