我尝试使用sudo dpkg-reconfigure ca-certificates
命令安装自签名 SSL 证书,但在完成之前,我的计算机因电源故障而重置。
现在,当我运行sudo dpkg-reconfigure ca-certificates
命令时,出现以下错误:
sudo dpkg-reconfigure ca-certificates
/usr/sbin/dpkg-reconfigure: ca-certificates is broken or not fully installed
当我尝试时sudo update-ca-certificates
,出现以下错误:
sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
Unknown regexp modifier "/b" at /usr/bin/c_rehash line 15, at end of line
Unknown regexp modifier "/W" at /usr/bin/c_rehash line 26, at end of line
Unknown regexp modifier "/3" at /usr/bin/c_rehash line 26, at end of line
Unknown regexp modifier "/2" at /usr/bin/c_rehash line 26, at end of line
No such class installdir at /usr/bin/c_rehash line 58, near "Prefix our installdir"
(Might be a runaway multi-line // string starting on line 26)
syntax error at /usr/bin/c_rehash line 58, near "Prefix our installdir"
Execution of /usr/bin/c_rehash aborted due to compilation errors.
当我尝试 sudo 时apt install ca-certificates -f
,出现以下错误:
sudo apt install ca-certificates -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates is already the newest version (20160104ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up ca-certificates (20160104ubuntu1) ...
Processing triggers for ca-certificates (20160104ubuntu1) ...
Updating certificates in /etc/ssl/certs...
Unknown regexp modifier "/b" at /usr/bin/c_rehash line 15, at end of line
Unknown regexp modifier "/W" at /usr/bin/c_rehash line 26, at end of line
Unknown regexp modifier "/3" at /usr/bin/c_rehash line 26, at end of line
Unknown regexp modifier "/2" at /usr/bin/c_rehash line 26, at end of line
No such class installdir at /usr/bin/c_rehash line 58, near "Prefix our installdir"
(Might be a runaway multi-line // string starting on line 26)
syntax error at /usr/bin/c_rehash line 58, near "Prefix our installdir"
Execution of /usr/bin/c_rehash aborted due to compilation errors.
dpkg: error processing package ca-certificates (--configure):
subprocess installed post-installation script returned error exit status 255
Errors were encountered while processing:
ca-certificates
E: Sub-process /usr/bin/dpkg returned an error code (1)
因此,我甚至无法将我的工作推送到 Git repo。当我尝试这样做时,我收到以下错误:
fatal: unable to access 'https://github.com/***/***-tdd.git/': Problem with the SSL CA cert (path? access rights?)
有人知道如何修复这个问题吗?不用我重新安装 Ubuntu?请帮忙。
答案1
看起来 c_rehash perl 脚本中有一个错误(我遇到了类似的错误,我发现了以下讨论:https://aur.archlinux.org/packages/icaclient/?comments=all)。在我的系统(archlinux,看起来你的系统在 /usr/bin/c_rehash)上的 /bin/c_rehash 中缺少一些引号。我不得不更改这个(靠近文件顶部):
my $dir = /etc/ssl;
my $prefix = /usr;
到:
my $dir = "/etc/ssl";
my $prefix = "/usr";
然后它就成功了。
答案2
就我而言,错误关闭 ca-certificates 设置导致文件损坏。重新安装/更新“debconf”解决了我的问题:
sudo apt-get install debconf