Accidentalmente eliminé todos los paquetes que comienzan con el nombre jpeg
con:
sudo apt-get remove jpeg*
Esto arruinó muchas cosas, eliminó Unity, Firefox, Flash player, etc.
De alguna manera logré recuperar el escritorio y la unidad, pero muchas cosas todavía tienen errores. Por ejemplo, .rpm
archivos y .tag.gz
simplemente no se abrirán en absoluto.
Lo que quiero es una forma de arreglar todo lo que está mal. Algo que equivale a una 'instalación de reparación' con un disco de Windows.
¿Algún consejo, alguien?
Respuestas:
Puedes instalar la
ubuntu-desktop
tarea:Esto instalará todos los paquetes del escritorio Ubuntu estándar que haya eliminado. No restaurará los paquetes que haya instalado que no forman parte del escritorio estándar (es decir, reinstalará Unity y Firefox, pero no el reproductor Flash).
Para instalar esos paquetes, puede mirar
/var/log/apt/history.log
y ver exactamente lo que había eliminado.Nota: instalar la
ubuntu-desktop^
tarea no es lo mismo que instalar elubuntu-desktop
paquete . El primero le dará a APT algunos consejos para resolver las dependencias que involucran paquetes virtuales, el último le dará a APT la libertad de elegir paquetes (y terminará instalando cosas inútiles comoubiquity
).¿Por qué ha sucedido el problema?
apt-get remove jpeg*
será no eliminar todos los paquetes a partir dejpeg
. En su lugar, eliminará todos los paquetes que contenganjpe
en su nombre. Esto se debe a que apt-get funciona con expresión regular, por lo que jpeg * significa: todo lo que contiene jpe seguido de cero o más g .fuente
tasksel
para eliminar una tarea - vea el desagradable error deLa mejor manera de solucionar este problema podría ser reinstalar Ubuntu. (Debe hacer una copia de seguridad de sus documentos primero, incluso si planea reinstalar sin reformatear)
Si desea intentar arreglar el sistema en su lugar, mire los archivos de registro del administrador de paquetes para ver qué paquetes se eliminaron y vuelva a instalarlos:
/var/log/dpkg.log
(información completa, pero difícil de leer)/var/log/apt/history.log
(abreviado por le indicará cada paquete eliminado o modificado de otro modo, probablemente su mejor opción)/var/log/apt/term.log
(si eliminó los paquetesapt-get
en la terminal, esto debería mostrar lo que vio en ese momento, incluidas las listas de los paquetes que se eliminarán, por lo que esta podría ser la mejor manera)Reinstalar solo los paquetes cuyos nombres comienzan con
jpeg
no funcionará, porque muchos (casi seguramente la mayoría) de los paquetes que se eliminaron se eliminaron porque dependían de esos paquetes.En el futuro , recomiendo verificar cuidadosamente las consecuencias de desinstalar un paquete. Si está trabajando desde la línea de comandos, siempre se le notificará. (A menos que use la
-y
opción, en cuyo caso, generalmente no. Recomiendo no usar esa opción a menos que sepa lo que está haciendo, especialmente para las eliminaciones).Una forma de verificar las consecuencias de una operación de gestión de paquetes llevada a cabo
apt-get
, sin arriesgarse a que ocurra, es ejecutarla enapt-get -s
lugar de hacerlosudo apt-get
. Esto simplemente simula la acción especificada e informa qué paquetes se verían afectados como resultado y cómo.fuente
Ejecuto
sudo apt-get purge wine*
en Ubuntu 15.10, por lo que no hay una interfaz gráfica en la opción de inicio de sesión de terminal solo de arranque.Como sugirió Eliah Kagan, utilicé información de
/var/log/apt/history.log
Nano en history.log e hice un script simple que conteníasudo apt-get install
todos los paquetes purgados que encontré en la línea:Pero primero tuve que eliminar manualmente el texto entre todos: y, incluido el:,
en este paso, un nuevo script sería útil porque los paquetes eran cientos. después de eso ejecuté el script y eliminé algunos
Unable to locate packages
(que había instalado manualmente). ejecuta el script nuevamente y eso es todo. Todo funciona bien ... por suertefuente
Instale el paquete ubuntu-desktop
Instalará los paquetes necesarios para su sistema.
fuente
Me quité accidentalmente
libssl1.0.0
y mi máquina quedó paralizada. Para restaurar, hice:cp /var/log/apt/term.log ~/libssl.term.log
vi ~/libssl.term.log
ping google.com
), reinicie en modo de recuperación y habilite la redcat ~/libssl.term.log | grep ^Removing | sed -e 's/^Removing //g;s/ (.*$//g;/diversion of/d;/dangling symlinks/d' | xargs sudo apt-get -y install
fuente
Aquí hay una pequeña secuencia de comandos de Python donde puede escribir la cadena de paquete (inutilizable) de su desinstalación masiva que está activada
/var/log/apt/history.log
. Producirá una cadena que puede copiar y pegar en el comando apt-get install para instalar fácilmente todos los paquetes eliminados.fuente