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
就是这样。