Puncte:5

Serverul Centos 7 cu Nginx raportează erori la actualizarea pachetelor

drapel cn

Am o VM CentOS 7 cu Nginx instalat. Folosesc Webmin pentru a administra serverul.

În mod normal, instalează actualizările automat, dar actualizarea nginx a eșuat, așa că am încercat să fac actualizarea manual. Returnează asta:

Instalarea pachetelor cu comanda /bin/yum -y install nginx ..
Pluginuri încărcate: fastestmirror
Vitezele de încărcare în oglindă din fișierul gazdă stocat în cache
 * baza: mirror.netsite.dk
 * epel: mirror.netsite.dk
 * extra: mirror.netsite.dk
 * actualizări: mirror.netsite.dk
Rezolvarea Dependențelor
--> Rularea verificării tranzacției
---> Pachetul nginx.x86_64 1:1.20.1-9.el7 va fi actualizat
--> Dependență de procesare: nginx(abi) = 1.20.1 pentru pachet: 1:nginx-mod-mail-1.20.1-9.el7.x86_64
--> Dependență de procesare: nginx(abi) = 1.20.1 pentru pachet: 1:nginx-mod-stream-1.20.1-9.el7.x86_64
--> Dependență de procesare: nginx(abi) = 1.20.1 pentru pachet: 1:nginx-mod-http-perl-1.20.1-9.el7.x86_64
--> Dependență de procesare: nginx(abi) = 1.20.1 pentru pachet: 1:nginx-mod-http-image-filter-1.20.1-9.el7.x86_64
--> Dependență de procesare: nginx(abi) = 1.20.1 pentru pachet: 1:nginx-mod-http-xslt-filter-1.20.1-9.el7.x86_64
---> Pachetul nginx.x86_64 1:1.20.2-1.el7.ngx va fi o actualizare
--> Rezolvarea dependenței terminată
Eroare: Pachetul: 1:nginx-mod-http-perl-1.20.1-9.el7.x86_64 (@epel)
           Necesită: nginx(abi) = 1.20.1
           Eliminarea: 1:nginx-1.20.1-9.el7.x86_64 (@epel)
               nginx(abi) = 1.20.1
           Actualizat de: 1:nginx-1.20.2-1.el7.ngx.x86_64 (nginx)
               Nu a fost gasit
Eroare: Pachetul: 1:nginx-mod-stream-1.20.1-9.el7.x86_64 (@epel)
           Necesită: nginx(abi) = 1.20.1
           Eliminarea: 1:nginx-1.20.1-9.el7.x86_64 (@epel)
               nginx(abi) = 1.20.1
           Actualizat de: 1:nginx-1.20.2-1.el7.ngx.x86_64 (nginx)
               Nu a fost gasit
Eroare: Pachetul: 1:nginx-mod-mail-1.20.1-9.el7.x86_64 (@epel)
           Necesită: nginx(abi) = 1.20.1
           Eliminarea: 1:nginx-1.20.1-9.el7.x86_64 (@epel)
               nginx(abi) = 1.20.1
           Actualizat de: 1:nginx-1.20.2-1.el7.ngx.x86_64 (nginx)
               Nu a fost gasit
Eroare: Pachetul: 1:nginx-mod-http-image-filter-1.20.1-9.el7.x86_64 (@epel)
           Necesită: nginx(abi) = 1.20.1
           Eliminarea: 1:nginx-1.20.1-9.el7.x86_64 (@epel)
               nginx(abi) = 1.20.1
           Actualizat de: 1:nginx-1.20.2-1.el7.ngx.x86_64 (nginx)
               Nu a fost gasit
Eroare: Pachetul: 1:nginx-mod-http-xslt-filter-1.20.1-9.el7.x86_64 (@epel)
           Necesită: nginx(abi) = 1.20.1
           Eliminarea: 1:nginx-1.20.1-9.el7.x86_64 (@epel)
               nginx(abi) = 1.20.1
           Actualizat de: 1:nginx-1.20.2-1.el7.ngx.x86_64 (nginx)
               Nu a fost gasit
 Puteți încerca să utilizați --skip-broken pentru a rezolva problema
 Ai putea încerca să rulezi: rpm -Va --nofiles --nodigest
.. instalarea a eșuat!

Am încercat să rulez comanda rpm sugerată - și apoi refacem actualizarea pachetului. Dar asta nu a făcut nicio diferență.

Am încercat să instalez și celelalte 19 pachete - toate s-au instalat corect. Apoi am reîncercat Nginx - dar tot eșuează cu aceeași eroare...De asemenea, am încercat să dezactivez repo-ul nginx și repo-ul epel pe rând (în cazul în care a fost o ciocnire între cele două repo) - dar nu a avut nicio diferență.

Știe cineva ce a cauzat această problemă - și cum să o rezolvi?

Mulțumesc anticipat!

/Ioan

drapel cn
Mi se pare că noile pachete nu pot fi găsite pe serverul de depozit. Ai verificat ca oglinda este inca valabila?
drapel cn
Am aceeași problemă și pare același scenariu (CentOS 7, EPEL, Nginx repo, aceleași pachete sunt „Negăsit”).
drapel it
Am aceeași problemă, cu aceeași configurare (CentOS 7, EPEL, nginx repo). Erorile mele sunt identice. Serverele noastre C7 au încetat să se mai facă upgrade pe 16 noiembrie, adică [când depozitul nginx a adăugat 1.20.2](http://nginx.org/packages/centos/7/x86_64/RPMS/). Erorile sugerează (cel puțin pentru mine) că „yum update” încearcă să actualizeze nginx la 1.20.2, dar pachetele nginx furnizate de EPEL (de exemplu, [nginx-mod-mail](https://centos.pkgs. org/7/epel-x86_64/nginx-mod-mail-1.20.1-9.el7.x86_64.rpm.html)) au o cerință nginx de 1.20.1 (vezi „Necesită”), și astfel dependențele pot” nu se rezolva.
Puncte:5
drapel it

Am rezolvat acest lucru pentru sistemul meu, deși soluția mea poate să nu fie aplicabilă tuturor, în funcție de dacă utilizați sau nu nginx-* modulele care cauzează probleme de dependență.


Soluția mea a fost să elimina nginx-mod-http-perl, nginx-mod-stream, nginx-mod-mail, nginx-mod-http-image-filter, și nginx-mod-http-xslt-filter, și apoi am putut yum upgrade pentru a obține cea mai recentă versiune nginx.

Editat pentru a adăuga: Pe lângă eliminarea acestor pachete, am actualizat /etc/yum.repos.d/epel.repo a avea exclude=nginx*, a preveni @epel-a asigurat ca pachetele nginx să fie reinstalate.

Acest lucru a funcționat pentru mine, deoarece nu folosesc de fapt funcționalitatea oferită de acele pachete; Am bănuiala că sunt instalate de Webmin (pe care, la fel ca și OP, îl folosesc) pentru a sprijini unele dintre caracteristicile pe care le poate sa oferi.

Dacă utilizați funcționalitatea oferită de aceste module, atunci cred că soluția, cel puțin pentru moment, este aceea dezactivați depozitul nginx, și reactivați-l dacă/când @epel lansează module compatibile. Dacă faceți acest lucru, nu veți avea nicio actualizare nginx disponibilă, deoarece nu există 1.20.2 disponibil pe @epel.


Problema de bază pare să fie că tu (și cu mine) o avem nginx-1.20.1-9.el7.x86_64 (@epel) instalat, dar ambele @epel și nginx repos activat.

Pe/în jurul datei de 16 noiembrie nginx repo eliberat nginx-1.20.2, și așadar yum încearcă acum să actualizeze acea versiune. Cu toate acestea, nu există corespondente 1.20.2 actualizări pentru diverse nginx-* module instalate (fie pe @epel sau pe nginx) și deci nu au putut fi actualizate. Aceste module necesită, de asemenea nginx(abi) = 1.20.1, care este cel care @epel prevede (dar asta nginx face nu par să ofere) și astfel verificarea dependenței a eșuat.

Notă marginală: în cazul nostru, noi făcut au nginx-furnizat pachetul de bază instalat la un moment dat și a fost înlocuit la un moment dat cu @epel versiune - aceasta este din jurnalele yum:

# zgrep -h nginx.x86 /var/log/yum.log-202* /var/log/yum.log
22 aprilie 03:55:37 Actualizat: nginx.x86_64 1:1.18.0-1.el7.ngx
30 oct 09:27:11 Actualizat: nginx.x86_64 1:1.18.0-2.el7.ngx
21 aprilie 08:48:33 Actualizat: nginx.x86_64 1:1.20.0-1.el7.ngx
26 mai 04:20:28 Actualizat: nginx.x86_64 1:1.20.1-1.el7.ngx
18 iunie 06:46:31 Instalat: nginx.x86_64 1:1.20.1-2.el7
27 octombrie 04:51:03 Actualizat: nginx.x86_64 1:1.20.1-9.el7

Pe 18 iunie .ngx pachetul a fost înlocuit cu cel oferit de @epel. Acest lucru poate fi sau nu relevant pentru problema în cauză.

John Dalsgaard avatar
drapel cn
Bună @joel - mulțumesc pentru actualizare.Am încercat să dezinstalez și acele module (a trebuit să ignor dependențele) - și apoi actualizarea a reușit.
red_shift avatar
drapel cn
Tocmai am trecut prin același proces descris aici. Mulțumiri! Am adăugat „exclude=nginx*” la depozitul meu EPEL și am eliminat nginx. După aceea, am eliminat nginx folosind „yum remove nginx”, care mi-a eliminat și modulele. Am reușit să găsesc unele dintre modulele pe care le foloseam în depozitul principal nginx (https://centos.pkgs.org/7/nginx-x86_64/), dar câteva nu sunt acolo. Acum îmi lipsesc „nginx-mod-mail” și „nginx-mod-stream”. Noul format este „nginx-module-{module name}” de altfel. De asemenea, rețineți că vechea configurație nginx este salvată ca /etc/nginx/nginx.conf.rpmsave

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.