Respuestas:
Esto debería eliminar completamente cualquier paquete con un nombre que comience php
y cualquier cosa relacionada con él.
sudo apt-get purge 'php*'
php*
lo tratará como una expresión regular, y siempre ph
se eliminará el paquete con su nombre.
Yo no recomiendo correr sudo apt-get purge php*
.
¡Eso fue espantoso! Afortunadamente, no escribí la -y
opción, porque eligió alrededor de cientos de paquetes sin php
su nombre.
sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
Cómo funciona:
En primer lugar , se genera una lista de paquetes usando esta serie de comandos: dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
.
Sugerencia: puede ejecutar esta parte del comando en su terminal para ver qué paquetes se eliminarían. Deberías obtener algo como:
libapache2-mod-php5 php5 php5-cli php5-common php5-json
Finalmente , cuando ejecuta el comando completo, esta lista de paquetes se pasa a sudo apt-get purge, eliminando todos los paquetes.
Sugerencia: Si se siente más seguro para usted, podría ejecutarlos fácilmente por separado y copiar y pegar la lista de paquetes para eliminar de la siguiente manera:sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json
aptitude
no está instalado o no se puede instalar en Ubuntu, qué tal la apt-get cache
búsqueda?
Probablemente quiera purgar todos los paquetes php * de su sistema. Algo con un comodín debería funcionar
sudo apt-get purge php.*
Tal vez le interese Cómo revertir a PHP 5.2 para saber dónde ir a continuación.
php*
lo tratará como una expresión regular, y siempre ph
se eliminará el paquete con su nombre.
Primero, debe eliminar Apache y todas sus dependencias con:
sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin
y entonces:
sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql
Si tiene algún problema con phpMyAdmin, intente ingresar esto en la Terminal:
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
En su caso, puede buscar todos los paquetes:
sudo aptitude search php5|awk {'print $2'}|grep -v i386|grep -v "^A"|tr "\n" " "
y luego purgarlos:
sudo apt-get purge <list of packages found>
aptitude
no está instalado en mi sistema (16.04)
sudo apt-get install aptitude
Además de las purgas mencionadas en las otras respuestas, si desea estar completamente seguro de que todo se elimina, es probable que desee ejecutar
cd /
sudo find -name "php"
Que le mostrará archivos / carpetas con el nombre php en ellos. Luego, querrá verificar cada una de estas rutas de archivo, es decir:
cd /usr/local/include/php
ls
Y elimínelos según corresponda. Sin embargo, tenga cuidado de no eliminar nada que sea crítico para otro proceso que necesite seguir ejecutando, a menos que desee tener que volver a instalarlo también.
Para eliminar un directorio o archivo, utilizamos el rm
comentario con la -rf
bandera, por lo que, dado el ejemplo anterior, tecleamos:
sudo rm -rf /usr/local/include/php
La expresión regular que dijeron las dos personas es incorrecta.
En lugar de usar php.*
o php*
Uno debería usar^php*
Esa es la respuesta correcta.
Entonces usarías:sudo apt-get purge "^php*"
Aunque no recomiendo usar este método porque es altamente automatizado y le recomiendo que lo use sudo apt list --installed | grep php
para obtener la lista de paquetes y use estos nombres de paquetes que obtuvo del comando anterior en este comando:
sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO
^php*
yphp*
php.*
también cubrirá casos donde php
aparece al comienzo del nombre del paquete. No hay razón para usar ambos ^php*
y php.*
, además, debería serlo ^php.*
; apt-get parece saber que php*
es un glob, no una expresión regular, pero cuando agrega el ^
carácter, no puede ser un glob, por lo que obtendrá todos los paquetes que comienzan en "ph".