Como posso pausar / retomar um processo de atualização do apt-get em um terminal?

20

Às vezes, minha Internet fica em pausa devido a alterações na intensidade do sinal 3G e tenho que reiniciar todo o processo de atualização do apt-get novamente! Cada atualização consome 13-15 mb e cada mb custa aqui !! Posso fazer algo para pausar a atualização para que eu possa retomar depois de conectar minha Internet novamente! ps - Eu sei que posso retomar downloads de aplicativos / atualizar

avi
fonte
então, por que exatamente você quer fazer uma pausa? é apenas para que você possa limpar os arquivos do pacote baixados para a instalação? Nesse caso, basta usar o comando clean que descrevi APÓS a execução da instalação do software, ele limpará o espaço ocupado pelos instaladores de pacotes baixados.
Thomas Ward
Não é por isso. O ponto é que, se a conexão quebrar na última etapa da minha atualização, eu perco 14 mb, porque preciso executá-la novamente! e minha conexão com a internet é baseada em dados ... então eu não posso perder dados desnecessariamente!
avi
@amith para marcar uma resposta como resposta, clique na marca de seleção ao lado da resposta de @jgbelacqua.
theTuxRacer
@ Kaustubh, mas sua resposta correta não é uma resposta real! É um comentário em outra resposta !!
avi
como é que cada atualização leva 13-15mb? Você está executando o pré-lançamento? Uma nova atualização deve levar apenas alguns 100 kBs.
user1974

Respostas:

25

Observando as recomendações para usar o Ctrl+ C, acho que seria melhor tentar Ctrl+ Zsuspender o processo em segundo plano quando / se a rede cair. Você pode usar fgpara continuar assim que sua conectividade retornar. (Eu não sei o quão robusto o apt-get é nesse cenário.)

Outra possibilidade seria usar axele o apt-fastscript. Ele é anunciado como acelerador de downloads por meio de downloads paralelos, mas também parece bom em acompanhar o que já foi baixado, provavelmente porque ele precisa rastrear as partes do arquivo durante o download em pedaços paralelos.

Aqui está o tópico original do Ubuntuforum .

belacqua
fonte
o axel / apt-fast também pode acompanhar a atualização do apt-get? pode fazer uma pausa?
avi
@amith - No que diz respeito à pausa no axel / apt-fast, há uma margem para a pausa, mas não sei se o mecanismo é exatamente o que você precisa.
Belacqua
quem fez o voto negativo? Eu votei em você!
avi
5

Você pode interromper o download de pacotes ou a atualização do sistema, pressionando "Ctrl + C" e interrompendo o programa. Isso interromperá o programa completamente. Na próxima vez que você tentar o mesmo comando, o apt-get continuará o download a partir do ponto em que parou na última vez

Amith KK
fonte
@Amith Ele retomará os pacotes, mas não a atualização! A atualização é iniciada novamente!
avi
11
Seria melhor tentar Ctrl-Z para suspender o processo em segundo plano se a rede cair - você pode usar fgpara retomar assim que a conectividade retornar. Porém, não sei o quão robusto o apt-get é nesse cenário.
Belacqua
11
@jgbelacqua hey !! isso funciona .. como faço para marcar isso como a resposta?
avi
@ amithv - adicionei o comentário na parte superior da minha resposta original, pois parece funcionar. Estou muito satisfeito que isso ajude.
Belacqua
5

Primeiro faça uma pausa nesse trabalho. pausar um trabalho:

Ctrl + z 

para reiniciar o trabalho novamente quando você receber os sinais de rede:

para executá-lo em primeiro plano, use

fg %1 

para executá-lo em segundo plano, use

 bg %1 
AviD1511
fonte
Pelo menos no bash, você não precisa especificar o %1for fgou bg, pelo menos, se foi apenas suspenso.
Xen2050
4

Como me aptitudedisse após uma reinicialização inesperada, use:

sudo dpkg --configure -a

E como man dpkgexplica:

Se -a ou --pending for fornecido em vez de pacote, todos os pacotes descompactados, mas não configurados, serão configurados.

Denis Ryzhkov
fonte
2

Instalar / Atualizar é uma operação atômica. Ou ele é concluído ou não. Se a atualização for interrompida / interrompida, ela reverte para o último ponto antes do início da atualização. Como os cabeçalhos (arquivos que contêm dados dos pacotes e de onde buscá-los) Os pacotes, no entanto, começam o download a partir do ponto em que sua conexão foi interrompida. Apenas uma palavra de conselho, não interrompa uma instalação, é provável que isso torne o sistema inutilizável.

theTuxRacer
fonte
-1

Eu não gosto de terminal. Nem sei se é possível usar o terminal ou não. Mas há uma maneira ruim de fazer o que você pediu. Para isso, você precisa do "Synaptic Package Manager". Se você não tiver isso, instale-o primeiro. Agora, se você o tiver, abra-o; Clique em "Marcar todas as atualizações". Isso exibirá todos os pacotes atualizáveis ​​(atualizáveis). Agora comece a baixar pacotes até que sua conexão seja perdida. Se a conexão for perdida, o Synaptic reclamará e parará de atualizar. Não se preocupe, feche o gerenciador de pacotes sinápticos. (Não abra o Centro de Software ou use o apt-get através da linha de comando até que a atualização seja concluída.)

Agora, após reconectar, inicie o sináptico novamente. E, novamente, clique em "Marcar todas as atualizações" e comece a atualizar. Desta vez, você verá que apenas os pacotes que não foram baixados estão sendo baixados e outros são ignorados.

Esta não é uma boa solução, mas funciona. Se o centro sináptico ou de software reclamar de algum tipo de "Bloqueio", vá para / var / cache / apt / archives e exclua o arquivo "bloqueio" e você estará pronto :)

Aprendiz curioso
fonte
Mais uma coisa. Não mantenha as atualizações pendentes por dias. Como a Canonical produz atualizações mais recentes, seus arquivos já baixados se tornam obsoletos.
Aprendiz curioso