AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 842217
Accepted
Walf
Walf
Asked: 2016-10-27 17:23:32 +0800 CST2016-10-27 17:23:32 +0800 CST 2016-10-27 17:23:32 +0800 CST

由于 debconf 无法更新 nginx

  • 772

我在 14.04.5 LTS。运行正常的 apt-get 升级时出现此错误:

Setting up nginx-common (1.10.1-3+trusty1) ...
dpkg: error processing package nginx-common (--configure):  
 subprocess installed post-installation script returned error exit status 1

我已经省略了由此引起的所有后续错误,“Package nginx-common is not configured yet.”等。

我按照这个答案中的过程来调试.postinst它,它永远不会超过第 3 行:. /usr/share/debconf/confmodule- 这就是返回1.

我已经尝试过这个解决方案,但没有帮助,debconf 绝对可以访问。而这些(错误仍然存​​在)。据我所知,我在任何包含的 conf 文件中都没有 ipv6 监听指令。

我不知道如何调试 debconf 以查看它失败的原因。有谁知道我接下来应该尝试什么?


编辑:新的更新,他们安装,但最后我得到这个错误:

Setting up nginx-full (1.10.1-3+trusty2) ...
initctl: invalid command: upgrade
Try `initctl --help' for more information.
invoke-rc.d: initscript nginx, action "upgrade" failed.

不确定我是否应该标记为已解决。

14.04
  • 3 3 个回答
  • 3268 Views

3 个回答

  • Voted
  1. Best Answer
    Thomas Ward
    2016-10-28T08:24:50+08:002016-10-28T08:24:50+08:00

    此特定问题已修复,请更新您的软件包!


    Ubuntu 存储库 (LP 错误 #1637058)

    在Ubuntu Zesty 提议的存储库中(这是一个开发中的版本,我希望你没有使用这个......),1.10.1-0ubuntu5解决了这个问题。

    在Ubuntu Trusty、Xenial 和 Yakkety 中,安全团队已经发布了软件包的更新版本来解决这个问题,并且正在考虑它是软件包中的回归。此信息在错误中有详细说明,并且在相应的Ubuntu 安全通知 (USN-3114-2)中非常简短,但此问题已在以下版本的软件包中得到修复:

    • Ubuntu Trusty:( 1.4.6-1ubuntu3.7安全和更新存储库)
    • Ubuntu Xenial:( 1.10.0-0ubuntu0.16.04.4安全和更新存储库)
    • Ubuntu Yakkety:( 1.10.1-0ubuntu1.2安全和更新存储库)

    Ubuntu Precise存储库中的版本不受影响,因为它们从未以引入 CVE 的方式进行更改,该 CVE 提示最近更新。(这仅适用于 Ubuntu 存储库,不适用于 PPA。)


    PPA (LP 错误 #1637200)

    我已将修改后的软件包上传到解决此问题的暂存 PPA,并实施了修复。这些构建没有问题,并于 2016 年 10 月 27 日下午 12:56 (UTC-04:00) 复制到 Launchpad 上的主要主线和稳定 PPA。

    这包括对Precise、Trusty、Xenial 和 Yakkety 的修复。PPA 还没有 Zesty 支持。


    强制性披露:

    我是负责nginx软件包的 Ubuntu 服务器团队的主要人员。我还在https://launchpad.net/~nginx维护团队下的 PPA 。

    我也对这个问题有直接的了解,以及提供修复的过程,因为我帮助发现了这个问题会影响最近完成的安全更新,以及 Debian。

    • 9
  2. Emil Burzo
    2016-10-28T00:57:00+08:002016-10-28T00:57:00+08:00

    官方固定包已经发布,使用那些

    TL;DR滚动到底部

    我自己也遇到了这个问题。

    为了进一步调试它,我设置了以下环境变量:

    export DEBCONF_DEBUG=developer

    这样我们就可以看到 debconf 在做什么。

    现在我们运行

    dpkg --configure --pending

    我们可以看到以下内容:

     Setting up nginx-common (1.10.1-3+xenial1) ...
     debconf (developer): frontend started
     debconf (developer): frontend running, package name is nginx-common
     debconf (developer): starting /var/lib/dpkg/info/nginx-common.config configure 1.10.1-3+xenial0
     dpkg: error processing package nginx-common (--configure):
     subprocess installed post-installation script returned error exit status 1
     dpkg: dependency problems prevent configuration of libnginx-mod-http-image-filter:
     libnginx-mod-http-image-filter depends on nginx-common (= 1.10.1-3+xenial1); however:
     Package nginx-common is not configured yet.
    

    现在我们可以编辑/var/lib/dpkg/info/nginx-common.config脚本并更改

    #!/bin/sh

    和

    #!/bin/sh -x也可以启用调试。

    再次运行dpkg --configure --pending会显示:

    Setting up nginx-common (1.10.1-3+xenial1) ...
    debconf (developer): frontend started
    debconf (developer): frontend running, package name is nginx-common
    debconf (developer): starting /var/lib/dpkg/info/nginx-common.config configure 1.10.1-3+xenial0
    + set -e
    + . /usr/share/debconf/confmodule
    + [ ! 1 ]
    + [ -z  ]
    + exec
    + [  ]
    + exec
    + DEBCONF_REDIR=1
    + export DEBCONF_REDIR
    + logdir=/var/log/nginx
    + log_symlinks_check 1.10.1-3+xenial0
    + [ -z 1.10.1-3+xenial0 ]
    + dpkg --compare-versions 1.10.1-3+xenial0 lt-nl 1.10.1-0ubuntu1.1
    + return
    dpkg: error processing package nginx-common (--configure):
    

    现在我们可以在脚本中看到我们有问题的行

    dpkg --compare-versions 1.10.1-3+xenial0 lt-nl 1.10.1-0ubuntu1.1

    返回退出代码 1,因为它应该 - 它正在进行版本比较并根据结果返回 0 或 1。

    我不会评论如何正确修复它,因为它是在 LP 的#1637058(适用于 Ubuntu)和#1637200(适用于 PPA)中跟踪的一个实际错误。

    解决方法:

    编辑/var/lib/dpkg/info/nginx-common.config

    并在函数return的第一行添加一个。log_symlinks_check

    例如:

     log_symlinks_check() {
         return                <---- here
         # Skip new installations
         [ -z "$1" ] && return
    

    这将允许升级过程继续。

    编辑正如@Thomas Ward 所指出的,这将跳过设置步骤(修复不安全的符号链接——如果有的话——在/var/log/nginx 中)

    • 7
  3. Sergei Filippov
    2016-10-27T18:30:31+08:002016-10-27T18:30:31+08:00

    有同样的问题:

    • 14.04.5 LTS (GNU/Linux 3.13.0-32-generic x86_64)
    • 16.04.1 LTS (GNU/Linux 4.4.0-45-generic x86_64)

    设置 nginx-common (1.10.1-3+trusty1) ... dpkg: 错误处理包 nginx-common (--configure): subprocess installed post-installation script returned error exit status 1 dpkg: 依赖问题阻止配置 libnginx -mod-http-auth-pam:libnginx-mod-http-auth-pam 依赖于 nginx-common (= 1.10.1-3+trusty1);然而:包 nginx-common 尚未配置。

    dpkg:错误处理包 libnginx-mod-http-auth-pam (--configure):依赖问题 - 未配置 dpkg:依赖问题阻止配置 libnginx-mod-http-echo:libnginx-mod-http-echo 依赖于 nginx -常见(= 1.10.1-3+trusty1);然而:包 nginx-common 尚未配置。

    dpkg:错误处理包 libnginx-mod-http-echo (--configure):依赖问题 - 未配置处理时遇到错误:nginx-common libnginx-mod-http-auth-pam libnginx-mod-http-echo

    解决了

    我能够通过首先备份/etc/nginx文件夹来解决这个问题。

    sudo tar -zcf ~/nginx.tgz /etc/nginx
    

    然后我从系统中清除了与 nginx 相关的所有内容。随着依赖性问题的触发,我不得不一步一步地去做。

    sudo apt-get purge nginx-full
    sudo apt-get purge nginx-common
    sudo apt-get purge nginx*
    

    之后,将 nginx 重新安装到系统上sudo apt-get install nginx-full。

    最后使用恢复/etc/nginx文件夹sudo tar -zxf ~/nginx.tgz并重新启动nginxsudo service nginx restart

    希望这可以帮助!

    • 6

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve