アップグレードしようとするnginxの依存関係の問題


12

Ubuntu 12.04 vpsをアップグレードしようとすると、次のエラーが表示されます。

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.

だから私はこれを実行しようとします:

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)

誰でもこれを修正するのを助けることができますか?


2
この一般的な目的の質問を見て時間をかけてください。うまくいかない場合は、nginxパッケージを再インストールしてくださいsudo apt-get remove nginx* && sudo apt-get install nginx-full
。– Lucio

2
私はすべてを試しましたが、運はありませんでした。だから私は削除してインストールしようとしましたが、再起動後にすべてがうまくいきました。これを回答として投稿して、正しい解決策として受け入れることができますか?
hstr

回答:


20

問題はにnginx-full依存しているnginx-commonので、これは特定のバージョンnginx-fullないとパッケージをインストールできないことを意味します。nginx-common

この問題に特化した質問を次に示しますが、解決策は非常に広範囲であり、1つだけでなくさまざまなケースにまで及びます。そこで、短いが効果的な方法を紹介します。

実際、そのバージョンのインストール方法はわかりませんがnginx-commonすべてのパッケージを再インストールすることで問題を解決できることがわかります。これを行うには、ターミナルで次のコマンドを入力する必要があります。

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

3
これらの手順をすべて実行するには、再起動が必要です!ありがとう
Aakash Goyal

4
これが機能する前に、Apache(ポート80でも機能している)を停止する必要がありました。
アーメドファシィ

6

同じ問題がありました。Apacheがなく、ポート80をブロックしているものは他にありません。nginxをインストールできませんでした。

sudo apt-get install nginx

とも

sudo apt-get install nginx-common nginx-full

1週間後、私はこの小さなブログを見つけました:https : //etc.banana.fish/?p=75

このブログの解決策は次のとおりです。

  1. nginx-commonをインストールします。 sudo apt-get install nginx-common
  2. / etc / nginx / sites-enabled / defaultlisten [::]:80 default_server;から削除します(rootユーザーを使用して作成しました)
  3. 念のため、サーバーを再起動しました。
  4. 念の二倍であることを、私がやったsudo apt-get update当時とsudo apt-get upgrade
  5. 今、私はついに電話をかけsudo apt-get install nginx-full、それが機能しました!

あとで、リモートサーバーのIPを入力すると、nginxのタイトル画面が表示されました。


0

実行するsudo apt-get update前に実行するのを忘れたと強く感じていますsudo apt-get upgrade-パッケージマネージャーはnginx-commonパッケージバージョンに関する古い情報を使用しますnginx-fullが、新しいバージョンが必要です。


1
いいえ、そうしました。
hstr
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.