masalah ketergantungan nginx mencoba untuk memutakhirkan

12

Mencoba untuk memutakhirkan Ubuntu 12.04 vps saya saya mendapatkan kesalahan berikut:

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.

Jadi saya mencoba menjalankan ini:

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)

Adakah yang bisa membantu memperbaiki ini?

hstr
sumber
2
Luangkan waktu Anda mencari pertanyaan tujuan umum ini . Jika Anda tidak beruntung dengan itu, coba instal ulang nginxpaket:sudo apt-get remove nginx* && sudo apt-get install nginx-full
Lucio
2
Saya telah melalui semuanya, tetapi tidak berhasil. Jadi saya mencoba menghapus dan menginstal, dan setelah reboot semuanya bekerja ok. Bisakah Anda memposting ini sebagai jawaban agar saya dapat menerimanya sebagai solusi yang tepat.
hstr

Jawaban:

20

Masalahnya adalah bahwa nginx-fulltergantung pada nginx-common, ini berarti bahwa Anda tidak dapat menginstal paket nginx-fulltanpa memiliki versi tertentu dari nginx-common.

Berikut adalah pertanyaan yang didedikasikan untuk masalah ini, tetapi resolusinya sangat luas, menjangkau, tidak hanya satu, tetapi berbagai kasus. Jadi saya akan menunjukkan kepada Anda metode singkat namun efektif.

Sebenarnya, saya tidak tahu cara menginstal versi itu nginx-common, tapi saya tahu Anda akan menyelesaikan masalah Anda dengan menginstal ulang semua paket . Untuk melakukan itu, Anda harus memasukkan perintah berikut di terminal.

sudo apt-get remove nginx* && sudo apt-get install nginx-full
Lucio
sumber
3
reboot diperlukan setelah langkah-langkah ini untuk membuat semuanya berfungsi! Terima kasih
Aakash Goyal
4
Saya perlu menghentikan Apache (juga melayani di port 80) sebelum ini berhasil.
Ahmed Fasih
6

Saya memiliki masalah yang sama. Saya TIDAK punya Apache, dan tidak ada lagi yang menghalangi port 80 saya. Saya TIDAK bisa menginstal nginx dengan

sudo apt-get install nginx

atau dengan

sudo apt-get install nginx-common nginx-full

Setelah satu minggu saya menemukan blog kecil ini: https://etc.banana.fish/?p=75

Di blog ini, solusinya adalah:

  1. Instal nginx-common: sudo apt-get install nginx-common
  2. Hapus listen [::]:80 default_server;dari / etc / nginx / situs-enabled / default (saya membuat ini menggunakan root-user)
  3. Hanya untuk memastikan, saya melakukan reboot server saya.
  4. Untuk memastikan dua kali, saya lakukan sudo apt-get updatedan kemudian sudo apt-get upgrade.
  5. Sekarang saya akhirnya menelepon sudo apt-get install nginx-fulldan berhasil!

Kata penutup Saya bisa melihat Layar Layar nginx, ketika saya mengetikkan IP server jarak jauh saya!

ElectRocnic
sumber
0

Saya memiliki perasaan yang kuat bahwa Anda lupa untuk menjalankan sudo apt-get updatesebelum menjalankan sudo apt-get upgrade- manajer paket menggunakan informasi lama tentang nginx-commonversi paket sementara nginx-fullmemerlukan versi yang lebih baru.

Sergey
sumber
1
Tidak, saya yang melakukannya.
hstr