
Я сейчас занимаюсь решением ряда проблем безопасности на клиентском сервере, чтобы привести его в соответствие с законами о кредитных картах и т. п.
Первым делом необходимо обновить PHP с версии 5.2.14 до 5.2.16.
Когда я запускаю yum update php, я получаю следующий вывод:
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
Я новичок в CentOS, но в Debian/Ubuntu можно добавлять PPA, чтобы разрешить новые пакеты ПО. Есть ли что-то подобное для CentOS? Этот вывод создает впечатление, что он также игнорирует все основные репозитории пакетов.
решение1
Я настоятельно рекомендую использоватьПроект сообщества IUSрепозитории для обновления пакетов PHP 5.2 и даже PHP 5.3 на CentOS 5. Это набор очень хорошо поддерживаемых и высококачественных пакетов, используемыхМесто в стойкеи поддерживается,но не поддерживаетсяими (если вы, конечно, не являетесь их клиентом).
Инструкции по установке могут быть немного сложными для поиска, если вы новичок в этом деле. Вы ищетеруководство по использованию клиентомна их вики. Я продублирую инструкции здесь для удобства использования.
[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
Это загрузит и установит обаЭПЕЛЬи репозитории IUS для вас.
IUS обещает не использовать конфликтующие имена пакетов с любым из официальных репозиториев, включая EPEL (это здорово), но все не так просто, как yum upgrade php
. Сначала вам нужно будет удалить все существующие пакеты PHP и установить соответствующие из IUS. В качестве альтернативы вы можете использовать плагин, yum-plugin-replace
чтобы добавить полезную возможность «замены» в YUM.
Вручную
Первый:
[root@linuxbox ~]# rpm -qa | grep php
[root@linuxbox ~]# yum erase php
rpm -qa | grep php
перечисляет каждый установленный пакет PHP. Вы будете использовать этот список для установки всех соответствующих отдельных пакетов PHP из IUSyum erase php
команда просто стирает PHP и его зависимые пакеты
Окончательно:
[root@linuxbox ~]# yum search php52
[root@linuxbox ~]# yum install php52 php52-common php52-pecl-apc php52-mysql ...
yum search php52
перечисляет доступные пакеты PHP 5.2yum install
устанавливает выбранные вами пакеты PHP 5.2. Вы можете использовать список, полученный на первом этапе, чтобы определить, какие вам нужны
yum-плагин-замена
[root@linuxbox ~]# yum install yum-plugin-replace
[root@linuxbox ~]# yum replace php --replace-with php52
Это волшебным образом определит, какие пакеты PHP следует удалить, а какие соответствующие пакеты php52 следует установить.