problema de dependencia nginx tratando de actualizar


12

Al intentar actualizar mi Ubuntu 12.04 vps me sale el siguiente error:

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.

Entonces trato de ejecutar esto:

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)

¿Alguien puede ayudar a solucionar esto?


2
Tómese su tiempo buscando esta pregunta de propósito general . Si no tiene suerte con eso, intente reinstalar el nginxpaquete:sudo apt-get remove nginx* && sudo apt-get install nginx-full
— Lucio

2
Pasé por todo el asunto, pero no tuve suerte. Así que intenté eliminar e instalar, y después de reiniciar todo funcionó bien. ¿Podría publicar esto como respuesta para que pueda aceptarlo como la solución correcta?
— hstr

Respuestas:


20

El problema es que nginx-fulldepende de nginx-common, esto significa que no puede instalar el paquete nginx-fullsin tener una versión específica de nginx-common.

Aquí hay una pregunta dedicada a este problema, pero la resolución es muy extensa, llegando no solo a uno, sino a diferentes casos. Así que te mostraré un método corto pero efectivo.

En realidad, no sé cómo instalar esa versión de nginx-common, pero sé que resolverá su problema reinstalando todo el paquete . Para hacerlo, debe ingresar el siguiente comando en una terminal.

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

3
¡fue necesario reiniciar después de estos pasos para que todo funcione! Gracias
— Aakash Goyal

44
Necesitaba detener Apache (que también sirve en el puerto 80) antes de que esto funcionara.
— Ahmed Fasih

6

Yo tuve el mismo problema. NO tengo Apache, y nada más estaba bloqueando mi puerto 80. NO pude instalar nginx con

sudo apt-get install nginx

ni con

sudo apt-get install nginx-common nginx-full

Después de una semana me topé con este pequeño blog: https://etc.banana.fish/?p=75

En este blog, la solución es:

  1. Instalar nginx-common: sudo apt-get install nginx-common
  2. Eliminar listen [::]:80 default_server;de / etc / nginx / sites-enabled / default (lo hice usando el usuario root)
  3. Solo para estar seguro, reinicié mi servidor.
  4. Solo para estar seguro dos veces, lo hice sudo apt-get updatey luego sudo apt-get upgrade.
  5. Ahora finalmente llamé sudo apt-get install nginx-fully funcionó!

¡Después de eso pude ver la pantalla de títulos de nginx, cuando escribí la IP de mi servidor remoto!


0

Tengo la fuerte sensación de que olvidó ejecutar sudo apt-get updateantes de ejecutar sudo apt-get upgrade: el administrador de paquetes usa información antigua sobre la nginx-commonversión del paquete, mientras que nginx-fullrequiere una versión más nueva.


1
No, hice eso.
— hstr
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.