我有一台 centos 6 服务器,我想将 php 版本从 5.4 升级到 5.5,但据我所知,我需要先卸载 5.4 版本(至少大多数指南都这么说),当我输入时,yum remove php-common
它说它也会删除 squirrelmail 和 phpMyAdmin。
我不想发生这种情况,有什么方法可以防止它吗?
答案1
我最终使用 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
答案2
您没有看到链接上的警告吗?
请注意:这样做风险自负。通常,这样做只会让依赖变得更严重。请联系经验丰富的 Linux 系统管理员来帮助您。
rpm -e --nodeps
应作为最后的手段保留。如果您想要交换软件包而不影响依赖于其提供内容的其他软件包,则可以使用yum shell
、yum swap
或yum replace
(可通过 yum-plugin-replace 软件包获得) 在单个事务中移除和安装软件包。
从您的问题中无法明确您从哪里获得适用于 CentOS 6 的 PHP 5.4,但我对覆盖常规软件包名称的存储库持谨慎态度。当偏离常规版本时,在软件包名称上使用版本后缀是一种常见做法,例如php55
或类似。