Instalé Carpadio en mi instalación de Xubuntu (un Live USB), que luego extrajo como más de 50 paquetes, supongo, del lado de Ubuntu del repositorio. Ahora me gustaría deshacer esto. Sin embargo, para toda mi búsqueda, no puedo encontrar nada más útil que ¿Cómo puedo revertir el comando sudo apt get install , que solo sugiere apt-get purge? Esto no es útil ya que todo lo que hace es eliminar 2 paquetes (carpadio y carpadio-gnomepanel).
/var/log/apt/history.logtiene una lista de todos los paquetes que se instalaron junto con ese comando. Entonces, me preguntaba si hay alguna manera fácil de eliminarlos a todos . De lo contrario, puedo reinstalar, de todos modos esta fue una instalación nueva, pero tengo curiosidad.
Una pequeña muestra del registro del historial (1 / 5-1 / 10 de toda la lista)
Línea de comandos: apt-get install cardapio-gnomepanel
Instalar: libdbusmenu-qt2: amd64 (0.9.2-0ubuntu1, automático), python-packagekit: amd64 (0.7.2-4ubuntu3, automático), cups-pk-helper: amd64 (0.2.1.2-1ubuntu0.1, automático) , geoclue: amd64 (0.12.0-1ubuntu12, automático), unity: amd64 (5.18.0-0ubuntu1, automático), impresoras indicadoras: amd64 (0.1.6-0ubuntu1, automático), libevolution: amd64 (3.2.3- 0ubuntu6, automático), libqt4-declarative: amd64 (4.8.1-0ubuntu4.3, automático), libmtp9: amd64 (1.1.3-1ubuntu0.1, automático), tracker-miner-fs: amd64 (0.14.0-2ubuntu1 , automático), gir1.2-rb-3.0: amd64 (2.96-0ubuntu4.2, automático), python-aptdaemon.pkcompat: amd64 (0.43 + bzr805-0ubuntu7, automático), gnome-media: amd64 (3.4.0- 0ubuntu3.1, automático), metacity: amd64 (2.34.1-1ubuntu11, automático), nautilus: amd64 (3.4.2-0ubuntu6, automático), libcompizconfig0: amd64 (0.9.7.0 ~ bzr428-0ubuntu6, automático), compiz- plugins-default:amd64 (0.9.7.12-0ubuntu1, automático), libunistring0: amd64 (0.9.3-5, automático), libebackend-1.2-1: amd64 (3.2.3-0ubuntu7, automático), ubuntu-docs: amd64 (12.04.6 , automático), python-mako: amd64 (0.5.0-1, automático),
Para todos aquellos que sugirieron autoremove: No estoy seguro de por qué, pero obtuve solo 1 paquete relacionado con Python (python-keybinder o algo así) como "innecesario" y eso es todo lo que Autoremove pudo eliminar.
Entre la instalación y la desinstalación, solo se instaló un cambio importante xubuntu-restricted-extras.

sudo apt-get install -s packagedonde-sdenota una simulación ypackageserá reemplazado por el nombre del software apropiado.cardapio-gnomepanelpaquete?apt-get remove carpadiollevó.autoremoveno funciona para ti. O de alguna manera marcó todos los paquetes como instalados manualmente ahora o hay un simple malentendido. Es muy simple:apt-get autoremovesimplemente elimina todos los paquetes marcados instalados automáticamente sin una razón para tenerlos ahora. Si no funciona para usted, creo que ha cambiado algo en su sistema que no mencionó en su pregunta.Respuestas:
Básicamente, tendrá que ejecutar ambos
apt-get remove(o apt-get purge) el paquete y ejecutarloapt-get autoremovepara que revierta la instalaciónpackage-one.Veamos todo el proceso:
sudo apt-get install package-oneinstala 50 dependencias con él marcado "automático" como también se puede ver en el extracto de registro en su preguntasudo apt-get purge package-oneRemueve (purgas) sólo uno, sino hacer funcionar esto!Todas las siguientes acciones de instalación (si ejecuta alguna) generarán un mensaje informativo con los paquetes que ya no se necesitan:
Esta lista es básicamente una lista de todos los paquetes marcados como "automáticos" sin una dependencia inversa de ellos. En otras palabras, no hay razón para que se instalen en lo que respecta a la gestión de paquetes.
Nota: ¡No se necesita instalación! ¡Es solo para demostrar que APT es inteligente para informarle sobre sus paquetes innecesarios!
sudo apt-get autoremove --purgeelimina (purga) estosMás información
Documentación oficial en
autoremovela página deapt-get(8)manual:¿Cuál es la forma correcta de eliminar por completo una aplicación?
fuente
autoremove.autoremoveno ayudó.sudo apt-get updatesería suficiente?Cuando desee eliminar un paquete y sus dependencias que se instalaron en ese momento, debe usar:
pero para deshacer
aptacciones, puede usarapt-undoscript. Es un script simple que puede deshacer lasaptacciones realizadas en Ubuntu. Cabe señalar que este script solo puede funcionar si lo usa en lugar deapt-getinstalar / actualizar / eliminar / purgar / degradar sus paquetes.Para instalar
apt-undoen Ubuntu, ejecute los siguientes comandos en la terminal:uso:
Para deshacer, las
aptitudeacciones anteriores ejecutan los siguientes comandos en el terminal:fuente
Usa el poder de Unix. Tome la línea del archivo de registro que tiene y cree un comando que deshaga lo que hizo apt. Por ejemplo:
Para que pueda utilizar esta purga todos los paquetes que instaló accidentalmente, dada la línea apropiada de su archivo de registro:
(Lo he usado en
perllugar desedporquesedusa un tipo de expresión regular que no admite coincidencias no codiciosas, que era la forma más fácil de construir lo que necesitaba)fuente
aptregistro en un nuevo archivo y luego lo apliqué: ¡perl -pe 's/\(.*?\)(, )?//g' /path/to/apt-history.logEntonces todo lo que hice fue anteponer esa salidasudo apt-get removey listo!Después de quitar el paquete, y puede eliminarlo completamente mediante la adición de --purge, para,
apt-get remove --purge <package>, se debe dar un mensaje de que los programas para bibliotecas, en tirada eran instalan automáticamente y ya no es necesario, momento en el que se puede ejecutarapt-get autoremovea eliminarlosfuente
Sigue el
sudo apt-get purge packagenameconA menos que sea un metapaquete, esto debería encargarse.
Consulte también las preguntas frecuentes en ¿Cómo elimino manualmente todos los archivos de Cardapio? .
fuente
new_file.txtperl -pe 's/\(.*?\)(, )?//g' /path/to/new_file.txtsudo apt-get remove[pegue el contenido del portapapeles aquí]Hecho.
Básicamente, necesitamos formatear la lista de paquetes del registro de apt en algo que apt-get pueda entender. El paréntesis, las palabras intermedias y las comas deben ir, así que ahí es donde entra en juego el perl. Sí, hay formas mejores (más eficientes), pero lo he hecho, es fácil de entender y funciona.
fuente
Para deshacer la última instalación de apt, también puede usar algo como esto:
Esto capturará la última instalación apta del historial y purgará todos los paquetes instalados aquí.
Puede crear una función llamada aptpurgelastinstall para tenerla siempre a mano (agregará el código a ~ / .bashrc):
Ahora simplemente necesita escribir aptpurgelastinstall en el shell para rehacer la última instalación.
fuente
Si acaba de agregar un ppa y desea revertir, debe realizar los pasos que se describen a continuación. Comprenda que esto puede fallar cuando haya instalado otros paquetes que no desea desinstalar. Estoy seguro de que esto se puede hacer con un script. Personalmente, creo que esto debería ser parte de apt, y debería haber una mejor administración de qué paquetes se instalan debido a las dependencias y cuáles se instalan a pedido del usuario.
1) elimine el ppa de /etc/apt/sources.list Recuerde la hora en que agregó el ppa. Si tienes suerte, no necesitas ser preciso.
2) haga una lista de qué reinstalar, desde el momento en que instaló el PPA: cat /var/log/dpkg.log | grep 'actualización'
3) haga una lista de lo que debe eliminar, desde el momento en que instaló el PPA: cat /var/log/dpkg.log | grep 'instalar'
4) elimine todos los paquetes del paso 3: sudo apt-get remove {lista de paquetes del paso 3}
5) reinstale todos los paquetes del paso 2: sudo apt-get install --reinstall {lista de paquetes del paso 2}
6) Si las cosas salieron mal y no puede pensar en una solución, vuelva a colocar el PPA y reinstale todos los paquetes de las dos listas.
fuente
Sé que es una pregunta bastante antigua, pero vine aquí buscando ayuda y tal vez pueda ayudar a alguien. Tuve una situación similar a la de @ Karthik-T después de la instalación
unity8-desktop-session-mir. Sé que es grande. Sacó 233 paquetes con él.Utilizando
autoremoveme eliminan solo 34 de ellos. El punto es que durante launity8-desktop-session-mirinstalación, eliminó dos paquetes (python3-aptdaemon.pkcompatyevolution-data-server-online-accounts). Se indica en/var/log/apt/history.log, después de laInstallsección.Para deshacer completamente la instalación de Unity 8, emití lo siguiente:
sudo apt-get purge unity8-desktop-session-mirsudo apt-get --purge autoremovesudo apt-get install python3-aptdaemon.pkcompat evolution-data-server-online-accounts(eliminó 8 paquetes relacionados con Unity 8)sudo apt-get --purge autoremoveEsto no eliminará absolutamente todo lo que instaló antes, pero en algunos casos es lo suficientemente bueno.
PD: tal vez el
autoremovepaso dos no sea necesario, ya que emití nuevamente en el paso cuatro.fuente
Técnicamente, las operaciones de "eliminar" o "quitar automáticamente" no se "deshacen", aunque se puede hacer que hagan el trabajo lo suficientemente bien la mayoría de las veces.
De forma predeterminada, apt-get dejará paquetes atrás, a menos que especifique
-o APT::Suggests-Important=0 -o APT::Recommends-Important=0Es más confiable echar un vistazo a apt
history.logy desinstalar todos los paquetes instalados. He creado un pequeño script basado en nodos para facilitar el proceso:https://github.com/rolfen/apt-history
Además, aquí hay otro enfoque más manual para "retroceder" los cambios:
https://unix.stackexchange.com/a/236711
fuente