错误:无法统计文件‘/etc/alternatives/my.cnf’:参数无效

错误:无法统计文件‘/etc/alternatives/my.cnf’:参数无效

在我的 Ubuntu 22.04.1 服务器上运行 apt upgrade 时,我收到一个阻止所有升级的错误。经过几周的谷歌搜索,我还是不知所措。还有人知道原因吗?

Do you want to continue? [Y/n] y
Extracting templates from packages: 100%
Preconfiguring packages ...
Setting up mariadb-common (1:10.6.12-0ubuntu0.22.04.1) ...
update-alternatives: error: cannot stat file '/etc/alternatives/my.cnf': Invalid argument
dpkg: error processing package mariadb-common (--configure):
 installed mariadb-common package post-installation script subprocess returned error 
exit status 2
Errors were encountered while processing:
 mariadb-common
E: Sub-process /usr/bin/dpkg returned an error code (1)

答案1

的情况下mariadb-common,有一个名为的符号链接文件/etc/alternatives/my.cnf,Ubuntu 替代系统使用:

$ ls -l /etc/alternatives/my.cnf 
lrwxrwxrwx 1 root root 22 Mar 11 10:39 /etc/alternatives/my.cnf -> /etc/mysql/mariadb.cnf

该文件应该仅由 Ubuntu 替代系统管理(使用update-alternatives命令)...以其他方式处理该文件将会破坏它并导致 Ubuntu 替代系统无法识别/无法使用它...看来这就是您遇到的情况...因此出现错误:

update-alternatives:错误:无法统计文件‘/etc/alternatives/my.cnf’:参数无效

要解决此问题,请删除现有的符号链接/文件,如下所示:

sudo rm /etc/alternatives/my.cnf

然后以正确的方式重新创建它(或者在你的情况sudo apt upgrade)像这样:

$ sudo dpkg-reconfigure mariadb-common
update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode

相关内容