У меня есть два сервера под управлением 13.04, и в какой-то момент я добавил исходники старых стабильных пакетов для PHP 5.4. По какой-то причине я больше не могу его обновлять - один сервер не обновляется с 5.4.23 до 5.4.24, а другой после нескольких удалений для устранения неполадок застревает на 5.4.9 из источников пакетов по умолчанию. .
Вот правильная версия, установленная на одном сервере:
PHP 5.4.23-1+sury.org~raring+1 (cli) (built: Dec 12 2013 09:25:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Вот что я сделал на другом сервере:
# add-apt-repository ppa:ondrej/php5-oldstable
# apt-get update && apt-get upgrade
Но я получил старую версию:
# php -v
PHP 5.4.9-4ubuntu2.4 (cli) (built: Dec 12 2013 04:29:20)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Я уже выполнил apt-get remove php * --purge
, за которым следует apt-get install php5
, но без кубиков: это снизило меня с 5.4.23 до 5.4.9.
Вот правильные варианты, которые мне нужно установить:
# dpkg --get-selections | grep php
libapache2-mod-php5 install
php-apc install
php-pear install
php5 install
php5-cli install
php5-common install
php5-curl install
php5-gd install
php5-imagick install
php5-mysql install
В кеше даже не отображается PPA:
# apt-cache policy php5
php5:
Installed: 5.4.9-4ubuntu2.4
Candidate: 5.4.9-4ubuntu2.4
Version table:
*** 5.4.9-4ubuntu2.4 0
500 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu/ raring-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ raring-security/main amd64 Packages
100 /var/lib/dpkg/status
5.4.9-4ubuntu2 0
500 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu/ raring/main amd64 Packages
Причина, по которой вы не можете установить нужный пакет, заключается в том, что его больше нет в добавленном вами PPA. Php5 5.4.23-1 + sury.org для рэринга был удален из PPA.
Вот как выглядел PPA 16 декабря 2013 года: http://web.archive.org/web/20131216111917/https://launchpad.net/~ondrej/+archive/php5-oldstable
Вы можете видеть, что в то время в PPA был пакет рассылки php5. Это то, что установлены ваши другие серверы. Если вы посмотрите на это сегодня, то этого пакета нет. Ubuntu не удалит пакет, который был установлен; так что ваши другие серверы все еще будут иметь его.
Причина удаления этого пакета из PPA, вероятно, заключается в том, что Ubuntu 13.04 исчерпала поддержку. Он прекратил получать обновления в январе. Любой, кто еще 13.04 должен обновить до 13.10.