problema di dipendenza nginx durante il tentativo di aggiornamento


12

Cercando di aggiornare il mio Ubuntu 12.04 vps ottengo il seguente errore:

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.

Quindi provo a eseguire questo:

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)

Qualcuno può aiutare a risolvere questo problema?


2
Prenditi il ​​tuo tempo a guardare questa domanda di carattere generale . Se non hai fortuna, prova a reinstallare il nginxpacchetto:sudo apt-get remove nginx* && sudo apt-get install nginx-full
Lucio,

2
Ho passato tutto, ma senza fortuna. Quindi ho provato a rimuovere e installare, e dopo un riavvio tutto ha funzionato bene. Potresti pubblicare questo come una risposta in modo che io possa accettarlo come la soluzione giusta.
hstr

Risposte:


20

Il problema è che nginx-fulldipende da nginx-common, questo significa che non è possibile installare il pacchetto nginx-fullsenza avere una versione specifica di nginx-common.

Ecco una domanda dedicata a questo problema, ma la risoluzione è molto ampia, raggiungendo non solo uno, ma casi diversi. Quindi ti mostrerò un metodo breve ma efficace.

In realtà, non so come installare quella versione di nginx-common, ma so che risolverai il tuo problema reinstallando tutto il pacchetto . Per fare ciò è necessario immettere il seguente comando in un terminale.

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

3
è stato richiesto un riavvio dopo questi passaggi per farlo funzionare! Grazie
Aakash Goyal,

4
Prima che funzionasse, dovevo interrompere Apache (anche sulla porta 80).
Ahmed Fasih,

6

Ho avuto lo stesso problema. NON ho Apache e nient'altro stava bloccando la mia porta 80. NON ho potuto installare nginx con

sudo apt-get install nginx

né con

sudo apt-get install nginx-common nginx-full

Dopo una settimana mi sono imbattuto in questo piccolo blog: https://etc.banana.fish/?p=75

In questo blog, la soluzione è:

  1. Installa nginx-common: sudo apt-get install nginx-common
  2. Rimuovi listen [::]:80 default_server;da / etc / nginx / sites-enabled / default (l'ho fatto usando l'utente root)
  3. Per essere sicuro, ho riavviato il mio server.
  4. Solo per essere sicuro due volte, l'ho fatto sudo apt-get updatee poi sudo apt-get upgrade.
  5. Ora finalmente ho chiamato sudo apt-get install nginx-fulle ha funzionato!

Dopo le parole ho potuto vedere la schermata del titolo di nginx, quando ho digitato l'IP del mio server remoto!


0

Ho la netta sensazione che ti sei dimenticato di eseguire sudo apt-get updateprima dell'esecuzione sudo apt-get upgrade: il gestore pacchetti utilizza vecchie informazioni sulla nginx-commonversione del pacchetto mentre nginx-fullrichiede una versione più recente.


1
No, l'ho fatto.
hstr
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.