Cara berhenti dan mulai ulang apt-get


2

Saya memiliki koneksi yang sangat lambat (~ 10KB / s) karena operator seluler saya mencekik saya. Sekarang, mereka akan mengirim sekitar 32KB, lalu berhenti.

Saya mencoba untuk menginstal paket melalui apt-get, dan saya perhatikan bahwa saya dapat berhenti (ctrl-c) kemudian restart instal dan itu akan mengambil dari mana ia tinggalkan.

Melakukan ini, saya bisa mendapatkan sedikit data, lalu menghentikannya, memulainya, dan saya mendapatkan sedikit lebih banyak data, jika tidak (tidak berhenti dan memulai kembali) saya harus menunggu sekitar 15 detik sebelum lebih banyak data datang

Apakah ada cara saya dapat mengotomatiskan ini dan meminta script-get berhenti dan mulai lagi?

Jawaban:


4

Berikut ini adalah skrip yang menggunakan nama paket sebagai argumen dan berjalan apt-getberulang kali, membunuhnya setelah beberapa detik. Ini berjalan apt-getdalam mode "unduh", jadi itu hanya akan mengunduh, bukan menginstal. Anda mungkin ingin mengubah sleepwaktu tergantung pada seberapa cepat penyedia Anda mencekik unduhan.

#!/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

2
Mengapa tidak menggunakan alat batas waktu GNU coreutils ? Seharusnya tidak perlu menemukan kembali roda.
CVn

Oh bagus sekali. Tidak tahu tentang itu. Terima kasih.
Tom Zych

Ditulis ulang untuk digunakan timeout.
Tom Zych

1

Saya percaya akan lebih baik untuk mencoba Ctrl+ Zmenunda proses di latar belakang. Anda mungkin dapat menggunakan fguntuk melanjutkan setelah konektivitas Anda kembali.

Untuk menjeda pekerjaan, tekan Ctrl+ Z.

Untuk memulai kembali pekerjaan ketika Anda mendapatkan sinyal jaringan:

fg %1

0

Anda mungkin ingin menggunakan apt-fast , ini mengunduh dari beberapa mirror secara paralel. Bahkan jika Anda memutuskan sambungan dari satu itu akan terus mengunduh dari mirror lain. Anda dapat mengunduh dan mengaturnya langsung dari halaman GitHub dari apt-fast yang didokumentasikan dengan sangat baik.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.