Ubuntu
將 nginx 1.4.4 更新到 1.4.5 試圖覆蓋也在包 Y 中的 X
我在嘗試升級時收到此錯誤:
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/*.conf
行include /etc/nginx/sites-enabled/*.conf
。您可以使用 apt pinning 來避免此問題,方法是將 nginx 儲存庫中的 nginx 包優先於預設的 ubuntu 儲存庫。