Cosa posso fare per riparare in modo sicuro i miei pacchetti yum dopo un cattivo aggiornamento?

Sto eseguendo amazon linux su una casella micro EC2. Recentemente ho eseguito sudo yum update --security nella speranza che avrebbe patch Heartbleed. Purtroppo sono uscito dalla memory durante il process di aggiornamento e alcuni pacchetti non sono stati eseguiti correttamente. Ho tentato di risolvere questo problema riavviando quindi eseguire sudo yum clean poi sudo yum update come mostrato nella seguente pastebin ma le cause di dipendenza esistono ancora.

Come posso risolvere questo problema senza rompere di più?

Ecco un taglio dalla produzione yum:

 Error: initscripts conflicts with util-linux-ng-2.17.2-13.17.amzn1.i686 Error: initscripts conflicts with util-linux-ng-2.17.2-13.17.amzn1.x86_64 Error: Package: glibc-devel-2.12-1.107.43.amzn1.x86_64 (@amzn-main) Requires: glibc-headers = 2.12-1.107.43.amzn1 Removing: glibc-headers-2.12-1.107.43.amzn1.x86_64 (@amzn-main) glibc-headers = 2.12-1.107.43.amzn1 Updated By: glibc-headers-2.17-36.81.amzn1.x86_64 (amzn-updates) glibc-headers = 2.17-36.81.amzn1 Available: glibc-headers-2.17-36.80.amzn1.x86_64 (amzn-main) glibc-headers = 2.17-36.80.amzn1 

Ecco il log completo della console: http://sebsauvage.net/paste/?e0f7235450f97bae#qq6QKe/Co+jR2T4FXfGo4w2H8aw7xZkE4z+iZXdMpQ8=

One Solution collect form web for “Cosa posso fare per riparare in modo sicuro i miei pacchetti yum dopo un cattivo aggiornamento?”

Reinstallare RPMS non riusciti

Ho visto questo problema quando qualcosa fallisce durante la transazione RPM. Il database RPM può non essere sincronizzato con il sistema. Di conseguenza, ciò che il sistema ha effettivamente e quali RPM pensa è installato varia.

SUGGERIMENTO: Prima di eseguire qualsiasi operazione di questa creat, un'image AMI in modo da poter recuperare facilmente se le cose non riescono.

È ansible utilizzare rpm -qa --last per get un elenco degli RPM che sono stati recentemente installati.

Quindi ricostruisci il database rpm --rebuilddb , rpm --rebuilddb .

È quindi ansible utilizzare la yum reinstall per reinstallare qualsiasi pacchetto che faceva parte delle transactions non valide.

Questo dovrebbe anche raccogliere eventuali problemi di dipendenza e cercare di correggerli.

In alcuni casi, ho dovuto risolvere manualmente i conflitti scaricando il download di rpm yum download e utilizzando rpm per eseguire l'installazione.

Se si deve tornare all'installazione manuale usando il numero di rpm tenere le note dettagliate, specialmente quando è coinvolto glibc.

Raccomandazione

Vi consiglio vivamente di distribuire le operazioni su AWS in modo da poter facilmente eseguire una nuova istanza EC2 e non preoccuparti di tali problemi. Se utilizzi volumi dedicati EBS per i tuoi dati e memorizzi i tuoi file di configuration altrove, puoi spesso spinare una nuova istanza e tornare in function più veloce di un debug di un problema RPM come questo. Quando abbiamo EC2 problemi come questo, di solito distribuire una nuova istanza dal nostro AMI personalizzato, rimuovere IP e farlo con esso. Se necessario, possiamo fare un'analisi di cause root sui sisthemes falliti / corrotti senza influenzare le operazioni di produzione.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.