我需要从服务器上清除 PHP 5.3 软件包(有很多),以便能够编译 PHP 5.2。摆脱它们最简单/最安全的方法是什么?
答案1
不建议在未仔细检查的情况下使用此方法。请阅读以下评论。
这应该会完全删除所有以 开头的名称的包php
以及与其相关的任何内容。
sudo apt-get purge 'php*'
确保y
在删除的软件包列表中没有其他软件包(除了与 php 软件包相关的软件包),例如:
php-common* python-openssl* php-curl* ... and tons of packages
如果是的话,请输入n
,复制列表(并整理不相关的包),然后手动删除它们:
sudo apt-get purge php-common* php-curl* ... and tons of packages
答案2
我不要建议跑步sudo apt-get purge php*
。
太可怕了!幸运的是,我没有输入该-y
选项,因为它选择了大约数百个php
名称中没有的包。
sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
怎么运行的:
第一的,使用以下一系列命令生成包列表:dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
。
暗示:您可以在终端中运行此命令以查看哪些软件包将被删除。您应该得到类似以下内容的结果:
libapache2-mod-php5 php5 php5-cli php5-common php5-json
最后,当您运行完整命令时,此软件包列表将传递给 sudo apt-get purge,从而删除所有软件包。
暗示:如果您觉得更安全,您可以轻松地单独运行它们,然后复制粘贴要删除的包列表,如下所示:sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json
答案3
答案4
sudo apt-get -y purge libapache2-mod-php5 libapache2-mod-php5filter libexpect-php5 libgv-php5 libow-php5 php5 php5-adodb php5-auth-pam php5-cgi php5-cli php5-common php5-curl php5-dbg php5-enchant php5-exactimage php5-ffmpeg php5-fpm php5-geoip php5-gmp php5-idn php5-imagick php5-imap php5-interbase php5-intl php5-json php5-lasso php5-ldap php5-librdf php5-mapscript php5-memcache php5-memcached php5-mhash php5-midgard2 php5-ming php5-mssql php5-mysql php5-mysqlnd php5-odbc php5-pgsql php5-ps php5-pspell php5-radius php5-recode php5-remctl php5-rrd php5-sasl php5-snmp php5-sqlite php5-suhosin php5-svn php5-sybase php5-tidy php5-tokyo-tyrant php5-uuid php5-xcache php5-xdebug php5-xmlrpc php5-xsl
对于您来说,您可以搜索所有包:
sudo aptitude search php5|awk {'print $2'}|grep -v i386|grep -v "^A"|tr "\n" " "
然后清除它们:
sudo apt-get purge <list of packages found>