Respuestas:
Los siguientes registros están relacionados con las actualizaciones de apt:
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log
Si el comando fue dist-upgrade
, hay registros adicionales en:
/var/log/dist-upgrade
Para su información, generalmente es seguro volver a ejecutar la actualización y apt continuará donde se detuvo cuando el proceso murió debido a la desconexión. Sin embargo...
Una cartilla de pantalla GNU:
Al ingresar a un servidor remoto e iniciar un proceso de larga duración en primer plano, es una buena práctica usar GNU Screen. Screen proporciona un terminal virtual que continúa ejecutándose incluso si se pierde su conexión ssh.
Instalar pantalla:
sudo apt-get install screen
Ejecutar pantalla:
screen
Después de ejecutar la pantalla, aparecerá un mensaje de línea de comando como con un terminal normal. Luego puede ejecutar la actualización desde la pantalla interior:
sudo apt-get upgrade
Para entender cómo funciona esto, "separe" la pantalla presionando Ctrl + a, d . Esto lo regresará a la terminal que no es de pantalla. Puede ver la lista de pantallas en ejecución con
screen -list
Si solo tiene una pantalla ejecutándose, puede volver a conectarla con:
screen -raAd
(Esto desconecta la pantalla en caso de que esté conectada a otra parte y la vuelve a conectar al terminal que está ejecutando actualmente).
Por lo general, no puede desplazarse 'normalmente' desde la pantalla sin alguna configuración adicional. Para desplazarse dentro de la pantalla, presione Ctrl-Esc para ingresar al modo de cursor. Luego puede desplazarse hacia abajo y hacia arriba con j y k . Presione Esc nuevamente para salir del modo cursor.
Hay muchos más recursos en la red disponibles para funciones de pantalla adicionales. Es una herramienta estándar invaluable para la administración del sistema.
Ver también:
screen -x
- adjunte a la pantalla en ejecución sin separar a los demás, haciendo que la sesión de pantalla sea "multijugador".
tail -f
comando y la opción de marca, lo que le permitirá observar el progreso en tiempo real (o ver que se bloqueó) al "volver a" iniciar sesión." Sé que es antiguo y aceptado, pero creo que debería agregarse cola a este conjunto de instrucciones, porque al carecer de este detalle, la respuesta a continuación por @TheAnonymousBear es más directa y directa. @doublerebel
sudo dpkg --configure -a
continuará con la actualización apta, cuando todavía estaba gastando.
Además de la respuesta de doublerebel, noté una alternativa hoy.
Me fui a la cama anoche después de comenzar una actualización sobre SSH. Estúpidamente olvidé iniciarlo screen
y perdí mi sesión de SSH durante la noche.
Estaba a punto de comenzar a investigar retty
cuando noté que root
había comenzado una screen
sesión.
me@GAMMA:~$ ps aux | grep -E 'release|upgrade|apt'
root 6208 0.0 0.0 29140 1628 ? Ss 01:57 0:05 SCREEN -e \0\0 -L -c screenrc -S ubuntu-release-upgrade-screen-window /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
root 6209 0.2 5.6 287428 93144 pts/2 Ss+ 01:57 3:13 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
root 6239 0.0 0.0 50052 1184 ? Ss 01:58 0:00 /usr/sbin/sshd -o PidFile=/var/run/release-upgrader-sshd.pid -p 1022
root 7306 0.0 4.6 287432 77284 pts/2 S+ 02:43 0:08 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
me 26829 0.0 0.0 9440 956 pts/5 S+ 22:18 0:00 grep --color=auto -E release|upgrade|apt
Así que enumeré root
las pantallas y las adjunto:
me@GAMMA:~$ sudo screen -list
There is a screen on:
6208.ubuntu-release-upgrade-screen-window (12/11/2013 01:57:58 AM) (Detached)
1 Socket in /var/run/screen/S-root.
me@GAMMA:~$ sudo screen -x -r
Y Bam! Estaba de vuelta en el juego.
do-release-upgrade
comando específico de ubuntu? Nunca he tenido la necesidad de revisar Debian, que uso exclusivamente, porque siempre lo ejecuto manualmente, lo desconecto y luego vuelvo. Y, por supuesto, usamos sudo apt dist-upgrade
después de cambiar en su /etc/apt/sources.list
lugar.
Para ver la salida en tiempo real del apt
trabajo en segundo plano , use:
sudo tail -f /var/log/apt/term.log
tail
) después de lo que llamaron un "reinicio de sesión".
Tuve exactamente el mismo problema, perdí mi conexión y el proceso dpkg estaba esperando la entrada.
Quizás la próxima vez intente: sudo dpkg --configure -a
"dpkg: error: dpkg frontend is locked by another process"
/var/dpkg/lock
si aún se está ejecutando. Y a pesar de todo, no responde a la pregunta de cómo "verificar el estado de actualización" y, en cambio, solo funcionará si la actualización falla (y solo entonces si el bloqueo no está activo). No recomendaría este enfoque a nadie. Respetuosamente, oemb1905