
Ich bin gerade dabei, eine Reihe von Sicherheitsproblemen auf dem Server eines Kunden zu lösen, um ihn mit den Kreditkartengesetzen usw. konform zu machen.
Der erste Tagesordnungspunkt ist die Umstellung von PHP von 5.2.14 auf 5.2.16.
Wenn ich „yum update php“ ausführe, erhalte ich folgende Ausgabe:
Excluding Packages from CentOS-5 - Addons
Finished
Excluding Packages from CentOS-5 - Base
Finished
Excluding Packages from CentOS-5 - Extras
Finished
Excluding Packages from CentOS-5 - Updates
Finished
Setting up Update Process
No Packages marked for Update
Ich bin ziemlich neu bei CentOS, aber bei Debian/Ubuntu können Sie PPAs hinzufügen, um neue Softwarepakete zuzulassen. Gibt es etwas Ähnliches für CentOS? Diese Ausgabe lässt es so aussehen, als würden auch alle Hauptpaket-Repos ignoriert.
Antwort1
Ich empfehle dringend die Verwendung vonIUS-GemeinschaftsprojektRepositories zum Upgrade Ihrer PHP 5.2- und sogar PHP 5.3-Pakete auf CentOS 5. Dies sind eine Reihe sehr gut gepflegter und qualitativ hochwertiger Pakete, die verwendet werden vonRackspaceund gepflegt,aber nicht unterstütztvon ihnen (es sei denn, Sie sind natürlich ein Kunde).
Die Installationsanweisungen können etwas schwer zu finden sein, wenn Sie neu in diesem Bereich sind. Sie suchen nach demClient-Nutzungshandbuchauf ihrem Wiki. Ich werde die Anweisungen zur einfacheren Verwendung hier kopieren.
[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-6.ius.el5.noarch.rpm
[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
[root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm
Dadurch werden dieEPELund IUS-Repos für Sie.
IUS verspricht, keine widersprüchlichen Paketnamen mit den offiziellen Repos zu verwenden, einschließlich EPEL (das ist eine tolle Sache), aber so einfach ist das nicht yum upgrade php
. Sie müssen zuerst alle Ihre vorhandenen PHP-Pakete deinstallieren und die entsprechenden von IUS installieren. Alternativ können Sie das yum-plugin-replace
Plugin verwenden, um YUM eine nützliche „Ersetzungs“-Funktion hinzuzufügen.
Manuell
Erste:
[root@linuxbox ~]# rpm -qa | grep php
[root@linuxbox ~]# yum erase php
rpm -qa | grep php
listet jedes installierte PHP-Paket auf. Sie verwenden diese Liste, um alle entsprechenden einzelnen PHP-Pakete von IUS zu installierenyum erase php
Befehl löscht nur PHP und seine abhängigen Pakete
Endlich:
[root@linuxbox ~]# yum search php52
[root@linuxbox ~]# yum install php52 php52-common php52-pecl-apc php52-mysql ...
yum search php52
listet die verfügbaren PHP 5.2 Pakete aufyum install
installiert Ihre ausgewählten PHP 5.2-Pakete. Sie können die Liste, die Sie in Schritt 1 erhalten haben, verwenden, um zu bestimmen, welche Sie benötigen
yum-plugin-ersetzen
[root@linuxbox ~]# yum install yum-plugin-replace
[root@linuxbox ~]# yum replace php --replace-with php52
Dadurch wird auf magische Weise ermittelt, welche PHP-Pakete gelöscht und welche passenden php52-Pakete für Sie installiert werden sollen.