web-dev-qa-db-fra.com

problème de dépendance nginx essayant de mettre à jour

En essayant de mettre à niveau mon Ubuntu 12.04 vps, j'obtiens l'erreur suivante:

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.

Alors j'essaye de lancer ceci:

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)

Quelqu'un peut aider à résoudre ce problème?

12
hstr

Le problème est que nginx-full dépend de nginx-common, cela signifie que vous ne pouvez pas installer le package nginx-full sans une version spécifique de nginx-common.

Ici est une question dédiée à ce problème, mais la résolution est très longue et peut atteindre plusieurs cas. Je vais donc vous montrer une méthode courte mais efficace.

En fait, je ne sais pas comment installer cette version de nginx-common, mais je sais que vous allez résoudre votre problème en en réinstallant tout le paquet . Pour ce faire, vous devez entrer la commande suivante dans un terminal.

Sudo apt-get remove nginx* && Sudo apt-get install nginx-full
20
Lucio

J'ai eu le même problème. Je n'ai PAS Apache, et rien d'autre ne bloquait mon port 80. Je ne pouvais PAS installer nginx avec

Sudo apt-get install nginx

ni avec

Sudo apt-get install nginx-common nginx-full

Après une semaine, je suis tombé sur ce petit blog: https://etc.banana.fish/?p=75

Dans ce blog, la solution est:

  1. Installez nginx-common: Sudo apt-get install nginx-common
  2. Supprimez listen [::]:80 default_server; de /etc/nginx/sites-enabled/default (j'ai créé cela à l'aide de l'utilisateur root)
  3. Juste pour être sûr, j'ai redémarré mon serveur.
  4. Juste pour être sûr à deux reprises, j'ai fait Sudo apt-get update puis Sudo apt-get upgrade.
  5. Maintenant, j'ai finalement appelé Sudo apt-get install nginx-full et cela a fonctionné!

Après, je pouvais voir l'écran Titlescreen de nginx, lorsque je tapais l'adresse IP de mon serveur distant!

6
ElectRocnic

J'ai le fort sentiment que vous avez oublié d'exécuter Sudo apt-get update avant d'exécuter Sudo apt-get upgrade - le gestionnaire de paquets utilise les anciennes informations sur la version du paquet nginx-common, alors que nginx-full nécessite une version plus récente.

0
Sergey