Necesito limpiar mi servidor de los paquetes PHP 5.3 (hay muchos) para poder compilar PHP 5.2. ¿Cuál es el método más fácil / seguro para deshacerse de todos?
package-management
php
corev
fuente
fuente
php*
lo tratará como una expresión regular, y siempreph
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 sinphp
su nombre.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
fuente
aptitude
no está instalado o no se puede instalar en Ubuntu, qué tal laapt-get cache
búsqueda?Probablemente quiera purgar todos los paquetes php * de su sistema. Algo con un comodín debería funcionar
Tal vez le interese Cómo revertir a PHP 5.2 para saber dónde ir a continuación.
fuente
php*
lo tratará como una expresión regular, y siempreph
se eliminará el paquete con su nombre.Primero, debe eliminar Apache y todas sus dependencias con:
y entonces:
Si tiene algún problema con phpMyAdmin, intente ingresar esto en la Terminal:
fuente
En su caso, puede buscar todos los paquetes:
y luego purgarlos:
fuente
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
Que le mostrará archivos / carpetas con el nombre php en ellos. Luego, querrá verificar cada una de estas rutas de archivo, es decir:
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:fuente
La expresión regular que dijeron las dos personas es incorrecta.
En lugar de usar
php.*
ophp*
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
fuente
^php*
yphp*
php.*
también cubrirá casos dondephp
aparece al comienzo del nombre del paquete. No hay razón para usar ambos^php*
yphp.*
, además, debería serlo^php.*
; apt-get parece saber quephp*
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".