Ubuntu

將 nginx 1.4.4 更新到 1.4.5 試圖覆蓋也在包 Y 中的 X

  • March 2, 2014

我在嘗試升級時收到此錯誤:

Preparing to replace nginx 1.4.4-4~raring (using .../nginx_1.4.5-1~raring_amd64.deb) ...
Unpacking replacement nginx ...
dpkg: error processing /var/cache/apt/archives/nginx_1.4.5-1~raring_amd64.deb (--unpack):
trying to overwrite '/usr/sbin/nginx', which is also in package nginx-full 1.4.4-4~raring
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/nginx_1.4.5-1~raring_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

我正在使用這些儲存庫:

deb http://nginx.org/packages/ubuntu/ raring nginx
deb-src http://nginx.org/packages/ubuntu/ raring nginx

為什麼這個文件在 nginx 和 nginx-full 中?我以為 nginx-full 依賴於 nginx?

有誰知道為什麼會發生這種情況以及如何解決它?謝謝!

nginx-full 軟體包不是來自“ http://nginx.org/packages/ubuntu/ ”儲存庫,它來自 Ubuntu 主記憶體儲庫。

在安裝 nginx(來自 nginx 儲存庫)之前刪除 nginx-full(來自主記憶體儲庫)。

include請記住,文件中的指令會有問題nginx.conf,您需要在安裝後更改該include /etc/nginx/conf.d/*.confinclude /etc/nginx/sites-enabled/*.conf

您可以使用 apt pinning 來避免此問題,方法是將 nginx 儲存庫中的 nginx 包優先於預設的 ubuntu 儲存庫。

看看這裡:http ://www.argon.org/~roderick/apt-pinning.html

引用自:https://serverfault.com/questions/577860