当我尝试使用 apt-get --reinstall install nginx-common 安装 nginx-common 时,出现以下信息:

当我尝试使用 apt-get --reinstall install nginx-common 安装 nginx-common 时,出现以下信息:

root@vpsirham:~# apt-get --reinstall install nginx-common
        Reading package lists... Done Building dependency tree Reading state
        information... Done Suggested packages:   fcgiwrap nginx-doc The
        following NEW packages will be installed:   nginx-common 0 upgraded,
        1 newly installed, 0 to remove and 0 not upgraded. Need to get 0
        B/18.3 kB of archives. After this operation, 220 kB of additional
        disk space will be used. (Reading database ... 45660 files and
        directories currently installed.) Preparing to unpack
        .../nginx-common_1.4.6-1ubuntu3.4_all.deb ... Unpacking nginx-common
        (1.4.6-1ubuntu3.4) ... dpkg: error processing archive
        /var/cache/apt/archives/nginx-common_1.4.6-1ubuntu3.4_all.deb
        (--unpack):  trying to overwrite '/etc/logrotate.d/nginx', which is
        also in package nginx 1.8.1-1~trusty Errors were encountered while
        processing: 
        /var/cache/apt/archives/nginx-common_1.4.6-1ubuntu3.4_all.deb E:
        Sub-process /usr/bin/dpkg returned an error code (1)</blink>

答案1

首先,你已经启用了 NGINX 上游存储库;这些不工作与 Ubuntunginx-common软件包不同,并且从未被设计成这样。 我在我的博客文章中对此进行了更深入的解释,但在所有实际使用情况下,仅使用或者其他在 NGINX 的 Ubuntu 软件包和上游 nginx.org 存储库之间 - 请勿同时使用两者,它们无法正常工作,而且永远不会正常工作,因为它们会相互干扰。(上游制作一个软件包,Debian/Ubuntu 将其拆分为其他软件包,以便于理智地使用默认值替换配置等)

如果你要获得最新版本的 NGINX,同时又能与 Ubuntu 更好地兼容,你可以使用NGINX 主线 PPA(由我维护,但我也在 Ubuntu 中维护它),它将具有与 Ubuntu 更加兼容的软件包集,这些软件包更类似于您期望使用的软件包,而不是您正在使用的软件包。

如果您想这样做,我也会在我的博客上提供详细信息。

答案2

发生这种情况是因为您之前从 Ubuntu 存储库安装了 Nginx,然后添加了新的 PPA 并尝试升级。

解决此问题的正确方法是完全删除 Nginx(如果需要,请备份您的 conf 文件)并重新安装它。

以下是说明:

1 - 删除 Nginx(备份 conf 文件后

sudo apt-get purge nginx*

2 - 再次安装,这次是从你的新 PPA 安装最新版本:

sudo apt install nginx

就是这样。

相关内容