У меня есть сервер Centos 6, и я хочу обновить свою версию php с 5.4 до 5.5, но насколько я знаю, мне нужно сначала удалить версию 5.4 (по крайней мере, в большинстве руководств), когда я yum remove php-common
через него говорит, что удалит squirrelmail и phpMyAdmin тоже.
Я не хочу, чтобы это произошло, есть ли способ предотвратить это?
2 ответа
В итоге я удалил пакеты, используя rpm и опцию --nodeps, как описано здесь: https://ma.ttias.be/removing-a-package-without-its-dependencies-in-centos-or-rhel/
rpm -qa | grep "php-sqlite2" #lists packages with this name
php-sqlite2-5.1.6-200705230937
rpm -e --nodeps "php-sqlite2-5.1.6-200705230937" #remove package without dependencies
Разве вы не видели предупреждение по вашей ссылке?
Обратите внимание: вы делаете это на свой страх и риск. Обычно вы просто увеличиваете ад зависимости. Пожалуйста, свяжитесь с опытным Linux Sysadmin, чтобы помочь вам в этом ..
rpm -e --nodeps
должен быть зарезервирован как последнее средство. Если вы хотите поменять пакеты, не нарушая другие пакеты, которые зависят от того, что они предоставляют, вы можете использовать yum shell
yum swap
yum replace
или замену yum (доступно через пакет yum-plugin-replace) для удаления и установки пакетов в одной транзакции.
Из вашего вопроса непонятно, где вы получаете PHP 5.4 для CentOS 6, но я буду осторожен с репозиториями, которые переопределяют имена стандартных пакетов. Обычно при отклонении от стандартных версий используется суффикс версии в имени пакета, например php55
или аналогичный.