Comment puis-je suspendre / reprendre un processus de mise à jour apt-get dans un terminal?

20

Mon Internet se met parfois en pause à cause d'un changement dans la force du signal 3G et je dois recommencer tout le processus de mise à jour d'apt-get! Chaque mise à jour consomme 13-15 Mo et chaque Mo coûte ici !! Puis-je faire quelque chose pour suspendre la mise à jour afin de pouvoir la reprendre après avoir à nouveau connecté mon Internet! ps - Je sais que je peux reprendre les téléchargements d'applications / mise à niveau

avi
la source
alors, pourquoi voulez-vous exactement faire une pause? est-ce uniquement pour que vous puissiez effacer les fichiers de package téléchargés pour l'installation? Si c'est le cas, utilisez simplement la commande clean que j'ai décrite APRÈS avoir exécuté l'installation du logiciel, cela libérera l'espace pris par les installateurs de packages téléchargés.
Thomas Ward
@EvilPhoenix Non. Ce n'est pas pour ça. Le fait est que si la connexion se rompt à la dernière étape de ma mise à jour, je perds 14 Mo, car je dois la relancer! et ma connexion Internet est basée sur les données ... donc je ne peux pas me permettre de perdre des données inutilement!
avi
@amith pour marquer une réponse comme réponse, cliquez sur la coche à côté de la réponse de @jgbelacqua.
theTuxRacer
@Kaustubh mais sa bonne réponse n'est pas une vraie réponse! C'est un commentaire sur une autre réponse !!
avi
comment se fait-il que chaque mise à jour prenne 13-15 Mo? Exécutez-vous la pré-version? Une nouvelle mise à jour ne devrait prendre que quelques 100 Ko.
user1974

Réponses:

25

En regardant les recommandations d'utilisation de Ctrl+ C, je pense qu'il serait préférable d'essayer Ctrl+ Zde suspendre le processus en arrière-plan lorsque / si le réseau tombe en panne. Vous pourrez peut-être utiliser fgpour reprendre une fois votre connectivité revenue. (Je ne sais pas à quel point apt-get est robuste dans ce scénario, cependant.)

Une autre possibilité serait d'utiliser axelet le apt-fastscript. Il est annoncé comme accélérant les téléchargements en effectuant des téléchargements parallèles, mais il semble également utile de garder une trace de ce qui a déjà été téléchargé, probablement parce qu'il doit suivre les morceaux de fichier lors du téléchargement en morceaux parallèles.

Voici le fil d'origine d'Ubuntuforum .

belacqua
la source
axel / apt-fast peut-il également suivre la mise à jour d'apt-get? peut-il faire une pause?
avi
@amith - En ce qui concerne la pause axel / apt-fast, il y a une tolérance pour la pause, mais je ne sais pas si le mécanisme est exactement ce dont vous avez besoin.
belacqua
qui a fait le vote négatif? J'ai voté pour!
avi
5

Vous pouvez arrêter le téléchargement de packages ou la mise à jour du système, en appuyant sur "Ctrl + C" et en arrêtant le programme. Cela arrêtera complètement le programme. La prochaine fois que vous essayerez la même commande, apt-get reprendra le téléchargement au point où il s'est arrêté la dernière fois

Amith KK
la source
@Amith Il reprendra les paquets mais pas la mise à jour! La mise à jour recommence!
avi
1
Il serait préférable d'essayer Ctrl-Z pour suspendre le processus en arrière-plan si le réseau tombe en panne - vous pourrez peut-être utiliser fgpour reprendre une fois votre connectivité de retour. Cependant, je ne sais pas à quel point apt-get est robuste dans ce scénario.
belacqua
1
@jgbelacqua hey !! cela fonctionne ... comment puis-je marquer cela comme la réponse ??
avi
@amithv - J'ai ajouté le commentaire en haut de ma réponse d'origine, car cela semble fonctionner. Je suis très content que cela aide.
belacqua
5

Mettez d'abord ce travail en pause. pour suspendre un travail:

Ctrl + z 

pour redémarrer le travail à nouveau lorsque vous obtenez les signaux réseau:

pour l'exécuter au premier plan, utilisez

fg %1 

pour l'exécuter en arrière-plan, utilisez

 bg %1 
AviD1511
la source
Au moins en bash, vous n'avez pas besoin de spécifier le %1for fgou bg, du moins s'il vient d'être suspendu.
Xen2050
4

Comme mon aptitudem'a dit après un redémarrage inattendu, utilisez:

sudo dpkg --configure -a

Et comme l' man dpkgexplique:

Si -a ou --pending est indiqué à la place du package, tous les packages décompressés mais non configurés sont configurés.

Denis Ryzhkov
la source
2

L'installation / mise à jour est une opération atomique. Soit il se termine, soit il ne le fait pas. Si la mise à jour s'arrête / s'arrête, elle revient au dernier point avant le début de la mise à jour. Parce que les en-têtes (fichiers qui contiennent des données de packages et où les récupérer) Les packages commencent cependant à télécharger à partir du moment où votre connexion s'est interrompue. Juste un conseil, n'interrompez pas une installation, il y a des chances que cela rende le système inutilisable.

theTuxRacer
la source
-1

Je n'aime pas le terminal. Personne ne sait s'il est possible d'utiliser un terminal ou non. Mais il y a une mauvaise façon de faire ce que vous avez demandé. Pour cela, vous avez besoin de "Synaptic Package Manager". Si vous ne l'avez pas, installez-le d'abord. Maintenant, si vous l'avez alors, ouvrez-le; Cliquez sur "Marquer toutes les mises à niveau". Cela fera apparaître tous les packages évolutifs (pouvant être mis à jour). Maintenant, commencez à télécharger des packages jusqu'à ce que votre connexion soit perdue. Si la connexion est perdue, Synaptic s'en plaindra et arrêtera la mise à niveau. Pas de soucis, fermez le gestionnaire de paquets synaptique. (N'ouvrez pas le Centre logiciel et n'utilisez pas apt-get via la ligne de commande tant que la mise à niveau n'est pas terminée.)

Maintenant, après la reconnexion, redémarrez synaptique. Et cliquez à nouveau sur "Marquer toutes les mises à niveau" et commencez la mise à jour. Cette fois, vous verrez que seuls les packages qui n'ont pas pu être téléchargés sont téléchargés et d'autres sont ignorés.

Ce n'est pas une bonne solution, mais cela fonctionne. Si le centre synaptique ou le logiciel se plaignent d'une sorte de "verrouillage", allez dans / var / cache / apt / archives et supprimez le fichier "lock" et vous serez prêt à partir :)

Apprenti curieux
la source
Encore une chose. Ne gardez pas les mises à jour en attente pendant des jours. Comme Canonical produit des mises à jour plus récentes, vos fichiers déjà téléchargés deviendront obsolètes.
Curious Apprentice