Проблема с зависимостью nginx при обновлении

При попытке обновить мой 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)

Кто-нибудь может помочь исправить это?

3 ответа

Решение

Проблема в том, что nginx-full зависит от nginx-commonэто означает, что вы не можете установить пакет nginx-full без конкретной версии nginx-common,

Вот вопрос, посвященный этой проблеме, но решение очень обширное, охватывая не только один, но и разные случаи. Поэтому я покажу вам короткий, но эффективный метод.

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

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

У меня такая же проблема. У меня нет 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 моего удаленного сервера!

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

Другие вопросы по тегам