Donc, j'effectuais une mise à niveau d'Ubuntu Server de 11.04 à 11.10.
Je l'ai oublié en arrière-plan et mon client SSH a expiré et s'est déconnecté (mastic sous Windows, allez comprendre). La dernière chose sur mon terminal était une question sur la conservation d'une ancienne configuration, etc.
Lorsque je me suis reconnecté au serveur, les fichiers d'aptitude ont été verrouillés par un autre processus, donc je suppose que ce processus de mise à niveau est assis là en attendant mon entrée.
Comment puis-je interagir avec ce processus et poursuivre la mise à niveau? Si possible.
Merci
Réponses:
Le processus s'exécute en fait dans une session écran ou byobu en tant qu'utilisateur root. reconnectez-vous au serveur avec du mastic sur le port 22 ou la sécurité intégrée 1022. sudo su - ou su - dans votre compte root et reprenez l'écran avec byobu ou un écran -r et reprenez là où vous êtes parti.
oh et oui j'ai découvert à la dure ;-)
la source
screen -r <id>
fonctionne également et il vous suffit de taper quelques caractères de l'ID pour que cela fonctionne.screen
n'est pas installé.sudo screen -D -r
aprèssudo su -
(sinon root).Tu ne peux pas. Trouvez le processus de mise à niveau en faisant
Tuez-le, corrigez toutes les mises à niveau interrompues avec
et redémarrez la mise à niveau.
la source
do-release-upgrade
?and restart the upgrade
étape ne fonctionne pas dans mon cas (j'ai perdu la session ssh pendant ledo-release-upgrade
14.04 -> 16.04). Ce que je fais à la place comme dernière étape pour terminer la mise à niveau de la version estsudo apt autoremove
et ensuitesudo shutdown -r now
.cryopid (trouvé via cette question ) pourrait aider à moins que "un processus, pas une arborescence de processus" soit un problème dans ce cas.
Les fichiers peuvent être verrouillés car le processus a été tué sans cérémonie et n'a pas eu la chance de se nettoyer après lui-même, alors confirmez que aptitude est toujours en cours d'exécution. Utilisez
lsof /var/lib/dpkg/lock
comme suggéré dans la réponse de Teddy pour vérifier - cela vous indiquera le pid pour essayer cryopid aussi.À l'avenir, je recommande d'essayer de parcourir l'écran autant que possible. J'ai pris l'habitude que l'écran (ou byobu, qui est un écran autour de l'écran qui définit certains comportements utiles) soit la première chose que j'exécute lorsque SSHing n'importe où, puis je peux me reconnecter s'il y a des problèmes. Vous pouvez le configurer pour démarrer ou rattacher automatiquement, même si je n'ai jamais eu l'occasion de le faire n'importe où - il existe un certain nombre d'exemples en ligne ( celui-ci par exemple ) si vous voulez essayer.
la source