Проблема залежності nginx намагається оновити


12

Намагаючись оновити свій Ubuntu 12.04 vps, я отримую таку помилку:

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.

Тому я намагаюся запустити це:

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)

Хтось може допомогти виправити це?


2
Приділіть час розгляду цього питання загального призначення . Якщо вам не пощастить, спробуйте перевстановити nginxпакет:sudo apt-get remove nginx* && sudo apt-get install nginx-full
Lucio

2
Я пройшов всю справу, але не пощастило. Тому я спробував видалити та встановити, і після перезавантаження все спрацювало нормально. Чи можете ви опублікувати це як відповідь, щоб я міг прийняти це як правильне рішення.
hstr

Відповіді:


20

Проблема полягає в тому, що nginx-fullзалежить від того, nginx-commonце означає , що ви не можете встановити пакет nginx-fullбез мати певну версію про nginx-common.

Ось питання, присвячене цій проблемі, але резолюція дуже обширна, охоплює не один, а різні випадки. Тому я покажу вам короткий, але ефективний метод.

Насправді я не знаю, як встановити цю версію nginx-common, але я знаю, що ви вирішите свою проблему, перевстановивши весь пакет . Для цього потрібно ввести наступну команду в термінал.

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

3
після цих кроків потрібно було перезавантажити, щоб все працювало! Спасибі
Аакаш Гоял

4
Мені потрібно було зупинити Apache (також обслуговуючи порт 80), перш ніж це спрацювало.
Ахмед Фасіх

6

У мене була така ж проблема. У мене немає Apache, і більше нічого не блокувало мій порт 80. Я не міг встановити nginx за допомогою

sudo apt-get install nginx

ні з

sudo apt-get install nginx-common nginx-full

Через тиждень я натрапив на цей маленький блог: https://etc.banana.fish/?p=75

У цьому блозі рішення:

  1. Встановіть nginx-звичайний: sudo apt-get install nginx-common
  2. Видалити listen [::]:80 default_server;з / etc / nginx / включеного / за замовчуванням сайтів (я зробив це за допомогою користувача root)
  3. Щоб бути впевненим, я перезавантажив свій сервер.
  4. Просто щоб бути впевненим двічі, я sudo apt-get updateі тоді sudo apt-get upgrade.
  5. Тепер я нарешті зателефонував sudo apt-get install nginx-fullі це спрацювало!

Після слова я міг бачити титр екрану nginx, коли я вводив IP-адресу віддаленого сервера!


0

У мене є сильне відчуття, що ви забули запустити sudo apt-get updateперед запуском sudo apt-get upgrade- менеджер пакунків використовує стару інформацію про nginx-commonверсію пакета, тоді як nginx-fullвимагає нової версії.


1
Ні, я це зробив.
hstr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.