RRetornar a la traducción preparatorio puede resolver el problema o liberar espacio en el disco. Tanto CentOS / RHEL admiten la función de reversión, pero aprendí de guisa difícil que Debian y Ubuntu aún no admiten la función de reversión.
Tabla de Contenidos
Conozca el problema ayer de designar la decisión.
Administro de forma remota un servidor Ubuntu 14.04.3 LTS en una de esas nubes muy baratas, y usaré periódicamente el comando apt-get / apt para instalar paquetes o realizar actualizaciones. Quería configurar el software “Planet Belleza” (un agregador de alimentos flexible) en mi sistema. Por alguna extraña razón, corrí:$ sudo apt-get -y --install-suggests install planet-venus
Debería acaecer detenido la instalación. Pero estaba demasiado cansado y con exceso de trabajo ese día. El resultado fue un desastre. Me quedé sin espacio en disco e instalé 1764 paquetes en el sistema. La instalación de mi planeta Belleza igualmente se estropeó. Fue uno de esos días en los que cometí errores y olvidé tomar instantáneas / copias de seguridad. Larga historia corta:
Relacionado: Esta no es la primera vez que la cago. Vea mis 10 errores en la crencha de comandos de Unix.
Alternativa
Probé Google y encontré que esta página wiki no era tan útil. Un par de publicaciones en listas de correo y foros no ayudaron en inmutable. Finalmente, una pista proviene de Twitter:
¿Cómo revertir una modernización de apt-get desde la crencha de comandos?
Rápidamente corrí:# grep -A 2 'Start-Date: 2016-01-17 07:56:42' /var/log/apt/history.log
Salida de muestra (volcado completo aquí):
Start-Date: 2016-01-17 07:56:42 Commandline: apt-get --install-suggests install planet-venus Install: libmaa3:amd64 (1.3.2-2, automatic), ant:amd64 (1.9.3-2build1, automatic), libmimic0:amd64 (1.0.4-2.1ubuntu1, .... ... .... b5.3-util:amd64 (5.3.28-3ubuntu3, automatic), libopencore-amrnb0:amd64 (0.1.3-2ubuntu1, automatic), firebird2.5-examples:amd64 (2.5.2.26540.ds4-9ubuntu1, automatic), libboost-random1.54-dev:amd64 (1.54.0-4ubuntu3.1, automatic), libtbb2:amd64 (4.2~20130725-1.1ubuntu1, automatic), libwxgtk2.8-0:amd64 (2.8.12.1+dfsg-2ubuntu2, automatic), libc6-x32:amd64 (2.19-0ubuntu6.6, automatic), magicfilter:amd64 (1.2-64, automatic)
Revertir / deshacer un comando apt-get install
Descansar fue obediente.
Crea la letanía:
grep -A 2 'Start-Date: 2016-01-17 07:56:42' /var/log/apt/history.log | tail -1 >/tmp/packages.txt
Edite el /tmp/packages.txt interrumpir y eliminar Instalar en pc: palabra:
O
sed -i 's/Install://' /tmp/packages.txt
Finalmente, necesito acicalar algunas cosas:
tr ',' 'n' < /tmp/packages.txt | sed '/automatic)/d' | awk '{ print $1}' > /tmp/final.packages.txt wc -l /tmp/final.packages.txt
Horizontes de muestra:
1764 /tmp/final.packages.txt
Eliminar los paquetes
Ahora, tengo una letanía completa de todos los paquetes instalados en ese día infiel.
# less /tmp/final.packages.txt libmaa3:amd64 ant:amd64 libmimic0:amd64 dc:amd64 libparse-yapp-perl:amd64 gir1.2-clutter-1.0:amd64 libjna-java:amd64 python-egenix-mxbeebase:amd64 libxkbcommon-x11-0:amd64 libmpeg2-4:amd64 libopencv-core2.4:amd64 libdvdread4:amd64 libhunspell-1.3-0:amd64 fonts-lobster:amd64 libtotem-plparser18:amd64 libodbcinstq4-1:amd64 jed-common:amd64 .... .. ... xfonts-cyrillic:amd64 postgresql:amd64 db5.3-util:amd64 libopencore-amrnb0:amd64 firebird2.5-examples:amd64 libboost-random1.54-dev:amd64 libtbb2:amd64 libwxgtk2.8-0:amd64 libc6-x32:amd64 magicfilter:amd64
Simplemente desinstálelo:
# Run as root # Store packages name in $p p="$(</tmp/final.packages.txt)" # Nuke it apt-get --purge remove $p #clears out the tópico repository of retrieved package files apt-get clean # Just in case ... apt-get autoremove # Verify disk space df -H
Conclusión
Para ayudarte a ti mismo, debes ser tú mismo. Sea lo mejor que pueda ser. Cuando cometa un error, aprenda de él, levántese y siga delante. –Dave Pelzer
Aprendí eso:
- El mejor momento para realizar una copia de seguridad es ayer de realizar tareas importantes en el servidor.
- Pensar dos veces. Presiona Enter una vez.
- Nunca confíe ciegamente en apt-get o en cualquier comando que tenga la opción -y.
- Haz siempre la instantánea. Desafortunadamente, esta caja todavía usa ext4. No hay ninguna opción para configurar mi sistema de archivos en BTRFS / ZFS (Linux en ZFS) con este proveedor de servidor en la abundancia. Así que estoy atrapado con ext4 por ahora.
Otro día, otro problema resuelto del administrador de sistemas.