vấn đề phụ thuộc nginx cố gắng nâng cấp


12

Đang cố gắng nâng cấp Ubuntu 12.04 vps của tôi, tôi gặp phải lỗi sau:

henrik@neung:~$ sudo apt-get upgrade
[sudo] password for henrik: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 nginx-full : Depends: nginx-common (= 1.2.4-1ubuntu0ppa2~precise) but 1.2.4-2ubuntu0ppa1~precise is installed
E: Unmet dependencies. Try using -f.

Vì vậy, tôi cố gắng để chạy này:

henrik@neung:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  nginx-full
The following packages will be upgraded:
  nginx-full
1 upgraded, 0 newly installed, 0 to remove and 42 not upgraded.
2 not fully installed or removed.
Need to get 0 B/441 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
dpkg: dependency problems prevent configuration of nginx-full:
 nginx-full depends on nginx-common (= 1.2.4-1ubuntu0ppa2~precise); however:
  Version of nginx-common on system is 1.2.4-2ubuntu0ppa1~precise.
dpkg: error processing nginx-full (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of nginx:
 nginx depends on nginx-full | nginx-light; however:
  Package nginx-full is not configured yet.
  Package nginx-light is not installed.
dpkg: error processing nginx (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                          No apport report written because the error message indicates its a followup error from a previous failure.
                                                    Errors were encountered while processing:
 nginx-full
 nginx
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ai có thể giúp khắc phục điều này?


2
Hãy dành thời gian của bạn tìm câu hỏi mục đích chung này . Nếu bạn không có may mắn với điều đó, hãy thử cài đặt lại nginxgói:sudo apt-get remove nginx* && sudo apt-get install nginx-full
Lucio

2
Tôi đã trải qua tất cả mọi thứ, nhưng không có may mắn. Vì vậy, tôi đã thử gỡ bỏ và cài đặt, và sau khi khởi động lại, mọi thứ đều hoạt động tốt. Bạn có thể đăng bài này như một câu trả lời để tôi có thể chấp nhận nó là giải pháp phù hợp.
hstr

Câu trả lời:


20

Vấn đề là nginx-fullphụ thuộc vào nginx-common, phương tiện này mà bạn không thể cài đặt các gói nginx-fullmà không có một phiên bản cụ thể của nginx-common.

Dưới đây là một câu hỏi dành riêng cho vấn đề này, nhưng độ phân giải rất rộng, đạt tới, không chỉ một, mà cả các trường hợp khác nhau. Vì vậy, tôi sẽ chỉ cho bạn một phương pháp ngắn nhưng hiệu quả.

Trên thực tế, tôi không biết cách cài đặt phiên bản đó nginx-common, nhưng tôi biết rằng bạn sẽ giải quyết vấn đề của mình bằng cách cài đặt lại tất cả các gói . Để làm điều đó, bạn phải nhập lệnh sau trong một thiết bị đầu cuối.

sudo apt-get remove nginx* && sudo apt-get install nginx-full

3
khởi động lại được yêu cầu sau các bước này để làm cho tất cả hoạt động! Cảm ơn
Aakash Goyalty

4
Tôi cần phải dừng Apache (cũng phục vụ trên cổng 80) trước khi điều này hoạt động.
Ahmed Fasih

6

Tôi đã từng gặp vấn đề tương tự. Tôi KHÔNG có Apache và không có gì khác chặn cổng 80. Tôi không thể cài đặt nginx với

sudo apt-get install nginx

cũng không phải với

sudo apt-get install nginx-common nginx-full

Sau một tuần, tôi tình cờ thấy blog nhỏ này: https://etc.banana.fish/?p=75

Trong blog này, giải pháp là:

  1. Cài đặt nginx-common: sudo apt-get install nginx-common
  2. Xóa listen [::]:80 default_server;khỏi / etc / nginx / site-enable / default (Tôi đã thực hiện điều này bằng cách sử dụng root-user)
  3. Để chắc chắn, tôi đã khởi động lại máy chủ của mình.
  4. Chỉ cần chắc chắn hai lần, tôi đã làm sudo apt-get updatevà sau đó sudo apt-get upgrade.
  5. Bây giờ tôi cuối cùng đã gọi sudo apt-get install nginx-fullvà nó đã làm việc!

Afterwords Tôi có thể thấy Titlescreen của nginx, khi tôi nhập IP của máy chủ từ xa!


0

Tôi có một cảm giác mạnh mẽ rằng bạn đã quên chạy sudo apt-get updatetrước khi chạy sudo apt-get upgrade- trình quản lý gói sử dụng thông tin cũ về nginx-commonphiên bản gói trong khi nginx-fullyêu cầu phiên bản mới hơn.


1
Không, tôi đã làm điều đó.
hstr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.