Проблема с зависимостью 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
Я прошел через все это, но не повезло. Поэтому я попытался удалить и установить, и после перезагрузки все работало нормально. Не могли бы вы опубликовать это как ответ, чтобы я мог принять это как правильное решение.
13:30

Ответы:


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-common: sudo apt-get install nginx-common
  2. Удалить listen [::]:80 default_server;из / etc / nginx / sites-enabled / default (я сделал это с помощью пользователя 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
Нет, я сделал это
13:30
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.