Busqué esa información en la red y encontré diferentes líneas de comando, como estas:
sudo apt-get remove application
sudo apt-get remove application*
sudo apt-get remove --purge application
sudo apt-get remove --purge application*
sudo apt-get purge application
sudo apt-get purge application*
Entonces, ¿cuál es la forma correcta? ¿Es necesario usar ese "*"?
Después de eso, también encontré estos comandos:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
command-line
package-management
usuario48949
fuente
fuente
application*
en ocasiones puede dar resultados inesperados; por ejemplo, si tiene un archivo en el directorio actual llamadoapplication_information
, el shell lo expandirá antes de pasarlo a apt-get. Si esto está sucediendo y desea el asterisco literal, puede usarapplication\*
o'application*'
application*
es aún más peligroso donde no hay archivos en el directorio actual:apt-get
usa expresiones regulares, no patrones globales. La gente casi ha borrado todo el sistema tratando de eliminarlowine*
.application*
tampocoapplication\*
es seguro! Citar*
con\
o'
'
solo aumenta el riesgo, asegurando que*
se pase tal como estáapt-get
(¡aunque generalmente es de todos modos!), Haceapt-get
que interprete el argumento como una expresión regular. En una expresión regular*
significa "cero o más del carácter anterior". Una forma común de que el error es desinstalarwine*
, la eliminación de todos los envases,win
(nowine
,win
) en cualquier lugar en sus nombres y todos los paquetes en función de cualquiera de ellos. Vea esta explicación y posibles soluciones . @IzkataRespuestas:
apt-get remove packagename
eliminará los archivos binarios, pero no la configuración o los archivos de datos del paquete
packagename
. También dejará las dependencias instaladas con él en el tiempo de instalación intacto.apt-get purge packagename
oapt-get remove --purge packagename
eliminará todo lo relacionado con el paquete
packagename
, pero no las dependencias instaladas con él en la instalación. Ambos comandos son equivalentes.Particularmente útil cuando quiere 'comenzar de nuevo' con una aplicación porque ha estropeado la configuración. Sin embargo, no elimina los archivos de configuración o de datos que residen en los directorios de inicio de los usuarios, generalmente en carpetas ocultas allí. No hay una manera fácil de eliminarlos también.
apt-get autoremove
elimina los paquetes huérfanos, es decir, los paquetes instalados que solían instalarse como una dependencia, pero ya no lo son. Use esto después de eliminar un paquete que tenía dependencias instaladas que ya no le interesan.
aptitude remove packagename
oaptitude purge packagename
(igualmente)también intentará eliminar otros paquetes que fueron requeridos por
packagename
on pero no son requeridos por ningún paquete restante. Tenga en cuenta queaptitude
solo recuerda la información de dependencia para los paquetes que ha instalado.Y existen muchos más.
dpkg
Se pueden usar comandos de nivel inferior (avanzado) o herramientas GUI como Muon, Synaptic, Software Center, etc. No existe una única "forma correcta" de eliminar aplicaciones o realizar otras tareas que interactúen con la administración de su paquete.La lista que encontraste son solo ejemplos. Asegúrese de comprender los significados y pruebe lo que quiere hacer antes de aceptar la acción (debe presionar
Y
antes de que realmente realice las acciones según lo propuesto).La versión de asterisco en la pregunta es probablemente incorrecta ;
apt-get
acepta una expresión regular y no un patrón global como el shell. Entonces, ¿qué pasa cones el siguiente:
El shell intenta expandirse
application*
mirando los archivos en el directorio actual. Si (como suele ser el caso) no encuentra nada, devuelve el patrón global sin alterar (suponiendo quebash
con el comportamiento predeterminado aquí --- sezsh
producirá un error).apt-get
eliminará los paquetes cuyo nombre contiene una cadena que satisface la expresión regularapplication*
, es decir,applicatio
seguido de un número arbitrario den
:applicatio
,application
,applicationn
,libapplicatio
, etc.Para ver cómo esto puede ser peligroso, intente (sin root para doble seguridad)
apt-get -s remove "wine*"
(-s
simulará la cosa en lugar de hacerlo) --- dirá que eliminará todos los paquetes que tienen "win" en su nombre y el dependiente, casi todo el sistema ...Probablemente, el comando que se entiende es realmente
(tenga en cuenta las comillas y el punto) que eliminará todos los paquetes cuyo nombre comienza con
application
.Estos comandos,
están completamente fuera del alcance de la gestión de paquetes. ¡No elimine archivos que pertenecen a paquetes sin usar el administrador de paquetes! Se confundirá y es la forma incorrecta de hacer las cosas.
Si no sabe a qué paquete pertenece un archivo, intente esto:
fuente
apt-get-autoremove --purge
también es importante tener en cuenta que la opción --purge no afecta a los archivos de configuración en su directorio de inicio. Deberá eliminarlos manualmente.apt remove -s texlive*
susapt-get
líneas de retorno de contraparte, comoNote, selecting 'texlive-font-utils' for glob 'texlive*'
(lo que implica que sí aceptan globos), seguido de las líneas habitualesPackage 'texlive-common' is not installed, so not removed
, y finalmenteRemv
, comoRemv texlive-font-utils [2015.20160320-1] [...]
.apt-get remove packa*
realmente toma el globo enpacka*
lugar de mirarlo como una expresión regular: coincidepackage
pero nopack
.Para Ubuntu 12.04 y quizás superior, el método correcto es:
Como se detalla aquí .
No lo use
packagename*
ya que puede eliminar paquetes no deseados y causar más problemas de los que resuelve. O si debe, al menos ejecutarlo con un-s
,--simulate
,--dry-run
primera bandera para ver exactamente lo que va a hacer sin hacerlo.fuente
Puedes usar este comando:
Purgará los paquetes necesarios junto con las dependencias que están instaladas con esos paquetes. La
--auto-remove
opción (ser un alias deautoremove
) funciona de forma similar asudo apt-get autoremove
. Al usar este comando podemos ejecutar un solo comando:En lugar de:
fuente
sudo apt-get --purge autoremove packagename
. El mismo comando aquíapt-get autoremove --purge
lugar deapt-get purge --auto-remove
?Puede usar de forma segura
sudo apt-get remove --purge application
o elsudo apt-get remove applications
99% del tiempo. Cuando usa lapurge
bandera, simplemente elimina todos los archivos de configuración también. Lo que puede o no ser lo que desea, dependiendo de si desea reinstalar dicha aplicación. Elapplication*
coincidirá con todas las aplicaciones que se inician con elapplication
, que suelen ser complementos, características adicionales, etc de la aplicación principal que está eliminando. es decireliminaría
gedit
,gedit-plugins
ygedit-common
. Por lo general, no es necesario hacer esto, ya que la mayoría de los complementos / programas asociados dependen de la aplicación principal y se eliminarán automáticamente (o se marcarán para su eliminación) cuando desinstale la aplicación principal.Su último comando es eliminar las sobras de las aplicaciones que se sabe que tienen desinstaladores desordenados, y simplemente elimina los restos de la aplicación.
fuente
Recibí algunos mensajes de error al eliminar un paquete, la única forma en que encontré que funcionó fue esta:
Descubrí que aunque solo use
no elimina el paquete, me muestra la ruta correcta al archivo para moverlo:
Sustituya el paquete con el nombre de su aplicación. Usa sudo en Ubuntu, conviértete en root en Debian.
fuente
Encontré este comando en internet.
http://www.debian-administration.org/article/Reinstalling_packages_to_fix_problems .
fuente
Depende de la aplicación que quieras eliminar. Siempre asegúrese de verificar sus dependencias antes de emitir el comando yes. Cuando elimina algo mediante la línea de comando, a veces mostrará un puñado de bibliotecas que ya no son necesarias. Estos se pueden eliminar con apt-get autoremove.
Tenga en cuenta que al usar comandos como sudo apt-get remove --purge applicationname puede eliminar algunas dependencias que otras aplicaciones necesitan y, como tal, podría dañar su sistema.
Si desea hacerlo de una manera más segura, siempre puede eliminarlo utilizando solo el centro de software o apt-get remove applicationname. Si las dependencias ya no son necesarias, publique apt-get autoremove más tarde.
fuente
Solo quería aclarar una cosa que parece ser una fuente de confusión aquí. La
dpkg
utilidad no conoce ni rastrea las dependencias de los paquetes en relación entre sí, lo cual fue una gran razón queapt
se desarrolló, creo. Puede leer sobre esto en la sección 8.6 de esta página. Las Preguntas Frecuentes de Debian GNU / Linux - Las herramientas de administración de paquetes de DebianCon apt: si quisiera purgar el paquete A, y tiene una dependencia llamada paquete B, y el paquete B no tenía otros paquetes dependientes, entonces los paquetes A y B serán purgados. Si el paquete B tenía otros paquetes dependientes, solo se purgará el paquete A.
Con dpkg: ¿Qué dependencia? ¡Me acabas de decir que purgue el maldito
paquete, así que eso fue lo que hice! La mala planificación de su parte no
constituye una emergencia de mi parte.
Dicho esto, aquí hay dos líneas simples que se pueden usar para cada método de purga:
Elimine el
--dry-run
para realizar la operación de purga real en lugar de informar qué acciones habría tomado.fuente