Como parar e reiniciar o apt-get

2

Eu tenho uma conexão muito lenta (~ 10KB / s) porque minha operadora de celular me estrangulou. Agora, eles enviarão cerca de 32 KB e depois pararão.

Eu estou tentando instalar pacotes através do apt-get, e notei que posso parar (ctrl-c) e depois reiniciar a instalação e ele vai continuar de onde parou.

Fazendo isso, eu consigo um pouco de dados, paro, inicio e recebo um pouco mais de dados, caso contrário (sem parar e reiniciar), tenho que esperar cerca de 15 segundos antes que mais dados cheguem

Existe uma maneira de eu automatizar isso e ter um script para o apt-get e começar de novo?

    
por Jacob Valenta 13.06.2014 / 18:33

3 respostas

4

Aqui está um script que pega os nomes dos pacotes como argumentos e executa apt-get repetidamente, matando-o após alguns segundos. Ele executa apt-get no modo "download", portanto, só baixará, não instalará. Você pode querer ajustar o tempo de sleep dependendo da rapidez com que o seu provedor limita o download.

#!/bin/bash

me=$(basename $0)

if (($# == 0))
then
    printf "Usage: %s package [package]...\n" $me
    exit 1
fi

printf "Will install %d package(s).\n" $#
printf "This will run forever.\n"
printf "You can stop it by pressing ctrl-C when prompted.\n"
printf "If that fails, open another window and type 'killall %s'.\n" $me
read -p "Press 'Enter' to continue: "

while :
do
    timeout 3 apt-get -y -d install "$@"
    printf "Press ctrl-C within one second to stop\n"
    sleep 1
done
    
por 14.06.2014 / 13:57
1

Eu acredito que seria melhor tentar Ctrl + Z para suspender o processo em segundo plano. Você pode usar fg para retomar quando sua conectividade retornar.

Para pausar um trabalho, pressione Ctrl + Z .

Para reiniciar o trabalho novamente quando receber os sinais de rede:

fg %1
    
por 14.06.2014 / 14:24
0

Você pode querer usar o apt-fast , ele faz o download de vários espelhos em paralelo. Mesmo se você desconectar de um, ele continuará fazendo o download de outros espelhos. Você pode baixá-lo e instalá-lo diretamente na página do GitHub do apt-fast, ele está muito bem documentado.

    
por 13.06.2014 / 19:06

Tags