Мне нужно понизить версию php на сервере, и я нашел команду ниже. Что-то не так с синтаксисом.
yum downgrade $(rpm -qa --qf "%{NAME} " | \
grep -v ioncube | grep ^php | awk '{print $1"-5.2.17"}')
Я получаю следующее сообщение об ошибке:
Error: Need to pass a list of pkgs to downgrade
usage: yum [options] COMMAND
Моя ситуация может быть немного специфичной, но вот что сработало для меня. Я уверен, что есть способ получше, но ....
Я добавил атомарное репо. wget -qq -O - http://www.atomicorp.com/installers/atomic | / bin / bash
Отправил все установленные программы в файл. rpm -qa --qf "% {NAME}"> установлено
Отфильтровал результаты в новый файл только с нужными мне приложениями. Команда grep -v не сработала так, как я думал. Мне нужно было исключить phpioncube, и я думал, что это сделает -v, но он все равно обнаружил файл. Я вручную удалил. grep -v ioncube установлен | grep php установлен> phpapps
Я знал конкретную версию, до которой я хотел перейти на более раннюю, поэтому добавил ее к имени каждого пакета и выполнил следующую команду. yum downgrade установить php-pdo-5.2.17-1.el6.art.x86_64 php-pecl-memcached-5.2.17-1.el6.art.x86_64 php-xml-5.2.17-1.el6.art.x86_64 php-pecl-memcache-5.2.17-1.el6.art.x86_64 php-5.2.17-1.el6.art.x86_64 php-pear-5.2.17-1.el6.art.x86_64 php-mcrypt-5.2 .17-1.el6.art.x86_64 php-xmlrpc-5.2.17-1.el6.art.x86_64 php-snmp-5.2.17-1.el6.art.x86_64 php-odbc-5.2.17-1. el6.art.x86_64 php-ldap-5.2.17-1.el6.art.x86_64 php-common-5.2.17-1.el6.art.x86_64 php-mysql-5.2.17-1.el6.art.x86_64 php-gd-5.2.17-1.el6.art.x86_64 php-mbstring-5.2.17-1.el6.art.x86_64 php-cli-5.2.17-1.el6.art.x86_64 php-devel-5.2 .17-1.el6.art.x86_64 php-pecl-zip-5.2.17-1.el6.art.x86_64 php-imap-5.2.17-1.el6.art.x86_64 php-ncurses-5.2.17- 1.el6.art.x86_64 php-mhash-5.2.17-1.el6.art.x86_64
Это дало мне то, что мне было нужно.
Я думаю, вы слишком усложняете командную строку:
sudo yum downgrade php-*
Я не думаю, что это даст вам то, что вы хотите.