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)
誰でもこれを修正するのを助けることができますか?
問題は、nginx-full
がnginx-common
に依存していることです。これは、パッケージのnginx-full
を固有のバージョンなしではインストールできないことを意味しますnginx-common
。
ここ はこの問題に特化した質問ですが、解決策は非常に広範囲であり、1つだけでなくさまざまなケースにまで及びます。そこで、短いが効果的な方法を紹介します。
実際、そのバージョンのnginx-common
をインストールする方法はわかりませんが、すべてのパッケージを再インストールすることで問題を解決できることを知っています。そのためには、ターミナルで次のコマンドを入力する必要があります。
Sudo apt-get remove nginx* && Sudo apt-get install nginx-full
同じ問題がありました。 Apacheがなく、ポート80をブロックしているものは他にありません。nginxをインストールできませんでした。
Sudo apt-get install nginx
とも
Sudo apt-get install nginx-common nginx-full
1週間後、私はこの小さなブログを見つけました: https://etc.banana.fish/?p=75
このブログの解決策は次のとおりです。
Sudo apt-get install nginx-common
listen [::]:80 default_server;
を削除します(rootユーザーを使用して作成しました)Sudo apt-get update
を実行してからSudo apt-get upgrade
を実行しました。Sudo apt-get install nginx-full
を呼び出して、うまくいきました!あとで、リモートサーバーのIPを入力すると、nginxのタイトル画面が表示されました。
Sudo apt-get update
を実行する前にSudo apt-get upgrade
を実行するのを忘れたと強く感じています-パッケージマネージャーはnginx-common
パッケージバージョンに関する古い情報を使用しますが、nginx-full
は新しいバージョンを必要とします。