Answers:
我不建议跑步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
aptitude
未安装或无法在Ubuntu上安装该怎么apt-get cache
办,搜索怎么样?
php*
会将其视为正则表达式,并且带有ph
其名称的所有软件包都将被删除。
首先,您必须使用以下命令删除Apache及其所有依赖项:
sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin
接着:
sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql
如果您对phpMyAdmin有任何疑问,请尝试在终端中输入以下内容:
dpkg-reconfigure phpmyadmin
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>
aptitude
未安装在我的系统上(16.04)
sudo apt-get install aptitude
两人说的正则表达式不正确。
而不是使用php.*
或php*
应该使用^php*
那是正确的答案。
因此,您将使用:sudo apt-get purge "^php*"
尽管我不建议您使用这种方法来使它高度自动化,但我建议您使用此方法sudo apt list --installed | grep php
来获取软件包列表,并使用从该命令中从上述命令获得的软件包名称:
sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO
^php*
和php*
php.*
也将涵盖php
出现在软件包名称开头的情况。我们没有理由同时使用^php*
,并php.*
另外,它应该是^php.*
; apt-get似乎知道这php*
是一个glob,而不是正则表达式,但是当您添加^
字符时,它不可能是glob,因此您将获得所有以“ ph”开头的包。