Quiero desinstalar libreoffice. Este programa consta de aproximadamente tres docenas de módulos. Idealmente, podrían eliminarse con:
aptitude remove libreoffice3.6* libreoffice-debian-menus libobasis3.6-*
pero eso falla con
Couldn't find any package whose name or description matched "libreoffice3.6*"
etc.
¿Cómo elimino un conjunto de paquetes por patrón?
PD: estoy contento con las respuestas con el uso dpkg
o apt
, también
Respuestas:
Usa
apt-get
, noaptitude
, y usa expresiones regulares.En una expresión regular,
.
significa cualquier carácter y*
significa cero o más veces. Entonces, la expresiónlibreoffice.*
coincide con cualquier nombre de paquete que contenga la cadenalibreoffice
, seguido de cualquier número de caracteres.Rodee la expresión regular con comillas simples para evitar que el shell interprete el asterisco. (Si tuviera un archivo llamado,
libreoffice.example
por ejemplo, en su directorio actual, el shell se reemplazaríalibreoffice.*
conlibreoffice.example
, por lo que debe usar comillas simples para detener este comportamiento).Resultado:
fuente
libreoffice*
(es decir, patrones de estilo glob) que me confunde un poco porque ninguno de los dos debería funcionar :-)--dry-run
para ver qué se eliminaría sin ningún cambio en el sistema.apt
utiliza expresiones regulares POSIX. Deman apt-get
(Debian Jessie): "Si ningún paquete coincide con la expresión dada y la expresión contiene uno de '.', '?' o '*', entonces se supone que es una expresión regular POSIX ... "Una alternativa es:
Esto enumerará todos los paquetes que coinciden
libreoffice
. Cuando haya confirmado que son todos de los que desea deshacerse, ejecute el siguiente comando ... con precaución :La idea:
libreoffice
fuente
-p
opción para quexargs
le pedirá confirmación antes de ejecutar cada comando construido, o consultar primero conecho
su lugar desudo apt-get purge
-p
ayudaría, pero no sería un comando de una sola vez. Utilicé echos para probar lo que estaba obteniendo antes de ejecutar el comando, por lo que vale la pena recomendarlo.-n1
es bueno para elecho
pero hay que eliminarlo de la purga; de lo contrario, el orden de dependencia (a depende de b, intenta eliminar b primero) podría romper la purga.Aptitude tiene soporte para patrones globales, y otros partidos geniales como este:
Esto coincidirá con cualquier paquete que tiene en su nombre
libreoffice
y3.6
también está instalado (eso es lo que los~i
representa.fuente