Nginx-Abhängigkeitsproblem beim Upgrade


12

Beim Versuch, mein Ubuntu 12.04 vps zu aktualisieren, wird die folgende Fehlermeldung angezeigt:

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.

Also versuche ich folgendes auszuführen:

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)

Kann jemand helfen, das zu beheben?


2
Nehmen Sie sich Zeit für diese allgemeine Frage . Wenn Sie damit kein Glück haben, versuchen Sie, das nginxPaket erneut zu installieren :sudo apt-get remove nginx* && sudo apt-get install nginx-full
Lucio

2
Ich habe die ganze Sache durchgemacht, aber kein Glück. Also habe ich versucht, zu entfernen und zu installieren, und nach einem Neustart funktionierte alles in Ordnung. Könnten Sie dies als Antwort posten, damit ich es als die richtige Lösung akzeptieren kann.
hstr

Antworten:


20

Das Problem nginx-fullhängt davon ab nginx-common, dh Sie können das Paket nicht nginx-fullohne eine bestimmte Version von installieren nginx-common.

Hier ist eine Frage, die diesem Problem gewidmet ist, aber die Lösung ist sehr umfangreich und erstreckt sich nicht nur auf einen, sondern auf verschiedene Fälle. Deshalb zeige ich Ihnen eine kurze, aber effektive Methode.

Eigentlich weiß ich nicht, wie man diese Version von installiert nginx-common, aber ich weiß, dass Sie Ihr Problem lösen können, indem Sie das gesamte Paket neu installieren . Dazu müssen Sie in einem Terminal den folgenden Befehl eingeben.

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

3
Nach diesen Schritten war ein Neustart erforderlich, damit alles funktioniert! Vielen Dank
Aakash Goyal

4
Ich musste Apache stoppen (auch auf Port 80), bevor dies funktionierte.
Ahmed Fasih

6

Ich hatte das gleiche problem Ich habe keinen Apache und nichts anderes hat meinen Port 80 blockiert. Ich konnte Nginx NICHT mit installieren

sudo apt-get install nginx

noch mit

sudo apt-get install nginx-common nginx-full

Nach einer Woche bin ich über dieses kleine Blog gestolpert: https://etc.banana.fish/?p=75

In diesem Blog lautet die Lösung:

  1. Installieren Sie nginx-common: sudo apt-get install nginx-common
  2. Entfernen Sie listen [::]:80 default_server;aus / etc / nginx / sites-enabled / default (ich habe dies mit dem root-Benutzer gemacht)
  3. Nur um sicher zu gehen, habe ich meinen Server neu gestartet.
  4. Nur um sicher zu gehen, habe ich es zweimal getan sudo apt-get updateund dannsudo apt-get upgrade .
  5. Jetzt habe ich endlich angerufen sudo apt-get install nginx-fullund es hat funktioniert!

Nach den Worten konnte ich den Titlescreen von nginx sehen, als ich die IP meines Remote-Servers eingab!


0

Ich habe das starke Gefühl, dass Sie das Ausführen sudo apt-get updatevor dem Ausführen vergessen haben sudo apt-get upgrade- der Paketmanager verwendet alte Informationen zur nginx-commonPaketversion, während nginx-fulleine neuere Version erforderlich ist.


1
Nein, das habe ich gemacht.
hstr
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.