首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu安装中的依赖关系错误

Ubuntu安装中的依赖关系错误
EN

Ask Ubuntu用户
提问于 2013-09-06 16:33:52
回答 2查看 3.6K关注 0票数 4

我正在试图修复Ubuntu服务器中的一个APT设置,该服务器只有SSH访问权限,不能对依赖关系错误进行处理。

我运行了sudo apt-get install -f,并获得了以下内容:

代码语言:javascript
复制
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up ssl-cert (1.0.23ubuntu2) ...
dpkg: error processing ssl-cert (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of postgresql-common:
 postgresql-common depends on ssl-cert (>= 1.0.11); however:
  Package ssl-cert is not configured yet.
dpkg: error processing postgresql-common (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          dpkg: dependency problems prevent configuration of postgresql-8.4:
 postgresql-8.4 depends on postgresql-common (>= 104~); however:
  Package postgresql-common is not configured yet.
 postgresql-8.4 depends on ssl-cert; however:
  Package ssl-cert is not configured yet.
dpkg: error processing postgresql-8.4 (--configure):
 dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                                              dpkg: dependency problems prevent configuration of postgresql:
 postgresql depends on postgresql-8.4; however:
  Package postgresql-8.4 is not configured yet.
dpkg: error processing postgresql (--configure):
 dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 ssl-cert
 postgresql-common
 postgresql-8.4
 postgresql
E: Sub-process /usr/bin/dpkg returned an error code (1)

这到底是什么意思?有循环依赖关系吗?

我尝试过安装所需的依赖项ssl-cert,但它也不起作用。

我也不能直接使用dpkg

对于如何解决这个问题,有什么建议吗?或者有人能帮我更好地理解这个问题吗?我是否应该提供更多的信息?

===

编辑:

运行sudo sh -x /path/to/config.postinst configure将产生以下输出:

代码语言:javascript
复制
+ . /usr/share/debconf/confmodule
+ [ !  ]
+ PERL_DL_NONLAZY=1
+ export PERL_DL_NONLAZY
+ [  ]
+ exec /usr/share/debconf/frontend /var/lib/dpkg/info/ssl-cert.postinst configure

这是否意味着脚本无法执行最后一行?

运行sudo /usr/share/debconf/frontend /var/lib/dpkg/info/ssl-cert.postinst configure以静默方式完成,但后续的echo $?将生成1,这表明确实发生了错误。

当我将set -x添加到文件的顶部,然后运行sudo ... frontend ... configure命令时,它将失败:

代码语言:javascript
复制
make-ssl-cert generate-default-snakeoil

对此文件进行set -x处理也会在以下位置失败:

代码语言:javascript
复制
 openssl req -config /tmp/tmp.wPl6nkzKYm -new -x509 -days 3650 -nodes -out /etc/ssl/certs/ssl-cert-snakeoil.pem -keyout /etc/ssl/private/ssl-cert-snakeoil.key

使用sudo运行此命令将提供:

代码语言:javascript
复制
Generating a 1024 bit RSA private key
.....................++++++
.......................++++++
writing new private key to '/etc/ssl/private/ssl-cert-snakeoil.key'
-----
problems making Certificate Request
53829:error:0D07A097:asn1 encoding routines:ASN1_mbstring_ncopy:string too long:a_mbstr.c:154:maxsize=64

我对OpenSSL不熟悉,这是怎么回事?

(另外,我应该把这个问题转到一个新问题上吗?是否超出了这个问题的范围?)

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2013-09-06 16:42:11

我绕了一会儿,似乎你的“公司名称”对openSSL来说太长了。这是个小虫子。您应该将您的系统升级到精确或稍后才能修复此问题。

删除任何阻塞包并升级您的系统。这应该能解决这个问题。

票数 3
EN

Ask Ubuntu用户

发布于 2013-09-06 16:42:25

输出的关键摘录是在为ssl-cert包运行安装后脚本时出现的错误:

设置ssl-cert (1.0.23ubuntu2)dpkg:错误处理ssl-cert (--配置):子进程安装后安装脚本返回错误退出状态1

所有后续错误都是由于未能完成ssl-cert的安装而造成的。

要找到确切的后脚本是如何失败的,请运行

代码语言:javascript
复制
sudo sh -x /var/lib/dpkg/info/ssl-cert.postinst configure

一旦您设法调试了根本原因,请再次运行sudo apt-get install -f

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/342307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档