Comment reprendre en toute sécurité une mise à niveau d'aptitude dist après le délai d'expiration SSH?

10

J'ai commencé aptitude dist-upgradesur SSH sur mon réseau local. À un moment donné, la session a expiré mais la mise à niveau n'était pas terminée (elle a été laissée sur l'un de ces écrans d'acceptation de logiciel - j'oublie lequel, donc je ne sais pas jusqu'où je suis arrivé, mais le fait est que en ce moment, il est inutile d'attendre que j'accepte).

Je suis retourné SSH sur mon serveur et je vois que le processus d'aptitude est toujours en cours d'exécution. Quelle est la façon la plus sûre de procéder? Je n'ai pas utilisé screendonc existe-t-il un moyen de reprendre le processus d'aptitude en cours d'exécution? Sinon, quel est le moyen le plus sûr de le tuer et de le redémarrer?

Eric
la source

Réponses:

13

Tuez-le avec killet exécutez-le à nouveau. Il ne téléchargera rien de déjà téléchargé et terminera la mise à niveau. Si cela ne peut pas continuer parce que votre système est dans un état cassé, apt-get -f installdevrait le réparer.

angus
la source
3
Oui, +1. Cela a fonctionné pour moi (mais avec apt-get plutôt qu'avec aptitude) depuis plus d'une décennie. Je suggère de courir dpkg --configure --pendingentre tuer l'aptitude d'origine et la relancer. Cela configurera tout ce qui a déjà été installé mais n'a pas encore été configuré (à l'exception des packages avec des dépôts non résolus).
cas
3

Sur Ubuntu (au moins), la mise à niveau est exécutée dans une session d'écran qui peut être reprise:

sudo screen -ls
sudo screen -r <screen number>
GTC
la source