Come posso mettere in pausa / riprendere un processo di aggiornamento apt-get in un terminale?


20

La mia Internet viene messa in pausa a volte a causa di un cambiamento nella potenza del segnale 3g e devo riavviare l'intero processo di aggiornamento di apt-get! Ogni aggiornamento consuma 13-15 mb e ogni mb costa qui !! Posso fare qualcosa per mettere in pausa l'aggiornamento in modo da poterlo riprendere dopo aver ricollegato Internet! ps - So che posso riprendere i download di app / upgrade


quindi, perché esattamente vuoi mettere in pausa? è solo per poter cancellare i file del pacchetto che vengono scaricati per l'installazione? In tal caso, basta usare il comando clean che ho delineato DOPO aver eseguito l'installazione del software, chiarirà lo spazio occupato dai programmi di installazione dei pacchetti scaricati.
Thomas Ward

@EvilPhoenix No.Non è per quello. Il punto è se la connessione si interrompe nell'ultimo passaggio del mio aggiornamento, perdo 14 MB, perché devo eseguirlo di nuovo! e la mia connessione a Internet è basata sui dati ... quindi non posso permettermi di perdere dati inutilmente!
avi

@amith per contrassegnare una risposta come risposta, fai clic sul segno di spunta accanto alla risposta di @jgbelacqua.
theTuxRacer

@Kaustubh ma la sua risposta corretta non è una risposta reale! È un commento su un'altra risposta !!
avi

come mai ogni aggiornamento richiede 13-15 MB? Stai eseguendo la pre-release? Un nuovo aggiornamento dovrebbe richiedere solo alcuni 100 kB.
user1974

Risposte:


25

Osservando i consigli per l'utilizzo di Ctrl+ C, penso che sarebbe meglio provare Ctrl+ Za sospendere il processo in background quando / se la rete si interrompe. Potrebbe essere possibile utilizzare fgper riprendere una volta ripristinata la connettività. (Non so quanto sia affidabile apt-get in questo scenario.)

Un'altra possibilità sarebbe l'utilizzo axele la apt-fastsceneggiatura. È pubblicizzato come accelerare i download eseguendo download paralleli, ma sembra anche utile tenere traccia di ciò che è già stato scaricato, presumibilmente perché deve tenere traccia dei file mentre si scarica in blocchi paralleli.

Ecco il thread originale di Ubuntuforum .


axel / apt-fast può tenere traccia anche dell'aggiornamento di apt-get? può mettere in pausa?
avi

@amith - Per quanto riguarda la pausa axel / apt-fast, c'è una tolleranza per la pausa, ma non so se il meccanismo è esattamente ciò di cui hai bisogno.
belacqua,

chi ha fatto il voto negativo? Ti ho votato!
avi

5

È possibile interrompere il download di pacchetti o l'aggiornamento del sistema, premendo "Ctrl + C" e arrestando il programma. Questo interromperà completamente il programma. La prossima volta che provi lo stesso comando, apt-get riprenderà il download dal punto in cui si è interrotto l'ultima volta


@Amith Riprenderà i pacchetti ma non l'aggiornamento! L'aggiornamento ricomincia da capo!
avi

1
Sarebbe meglio provare Ctrl-Z per sospendere il processo in background se la rete cade - potresti essere in grado di utilizzare fgper riprendere una volta ripristinata la connettività. Non so quanto sia robusto apt-get in questo scenario, però.
belacqua,

1
@jgbelacqua hey !! funziona ... come posso contrassegnarlo come risposta ??
avi

@amithv - Ho aggiunto il commento nella parte superiore della mia risposta originale, poiché sembra funzionare. Sono molto contento che sia d'aiuto.
belacqua,

5

Prima metti in pausa quel lavoro. per mettere in pausa un lavoro:

Ctrl + z 

per riavviare nuovamente il lavoro quando si ottengono i segnali di rete:

per eseguirlo in primo piano, utilizzare

fg %1 

per eseguirlo in background, utilizzare

 bg %1 

Almeno in bash, non è necessario specificare %1for fgo bg, almeno se è stato appena sospeso.
Xen2050,

4

Come mi è stato aptitudedetto dopo un riavvio imprevisto, utilizzare:

sudo dpkg --configure -a

E come man dpkgspiega:

Se viene fornito -a o --pending invece del pacchetto, vengono configurati tutti i pacchetti non compressi ma non configurati.


2

L'installazione / aggiornamento è un'operazione atomica. O completa o no. Se l'aggiornamento si interrompe / interrompe, ripristina l'ultimo punto prima dell'inizio dell'aggiornamento. Perché le intestazioni (file che contengono i dati dei pacchetti e da dove recuperarli) I pacchetti tuttavia iniziano a scaricarsi dal punto in cui la connessione si è interrotta. Solo un avvertimento, non interrompere l'installazione, è probabile che renderà inutilizzabile il sistema.


-1

Non mi piace il terminale. Né so se è possibile utilizzare il terminale o meno. Ma c'è un brutto modo di fare ciò che ti è stato chiesto. Per questo è necessario "Synaptic Package Manager". Se non lo hai, installalo prima. Ora, se ce l'hai, aprilo; Fai clic su "Segna tutti gli aggiornamenti". Questo farà apparire tutti i pacchetti aggiornabili (aggiornabili). Ora inizia a scaricare i pacchetti fino a quando la connessione non viene persa. Se la connessione viene persa, Synaptic si lamenterà e interromperà l'aggiornamento. Nessun problema, chiudi il gestore di pacchetti sinaptici. (Non aprire il Software Center o utilizzare apt-get attraverso la riga di comando fino al completamento dell'upgrade.)

Ora dopo la riconnessione, riavvia Synaptic. E di nuovo fai clic su "Segna tutti gli aggiornamenti" e inizia l'aggiornamento. Questa volta vedrai, solo i pacchetti che non sono stati scaricati, vengono scaricati e altri vengono saltati.

Questa non è una buona soluzione, ma funziona. Se synaptic o il software center si lamentano di una sorta di "Lock", vai su / var / cache / apt / archives ed elimina il file "lock" e sarai a posto :)


Un'altra cosa. Non tenere gli aggiornamenti in sospeso per giorni. Poiché Canonical produce aggiornamenti più recenti, i file già scaricati diventeranno obsoleti.
Apprendista curioso,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.