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?

hstr
fuente
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
Lucio
fuente
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!

ElectRocnic
fuente
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.

Sergey
fuente
1
No, hice eso.
hstr