Cara menurunkan waktu tunggu untuk pembaruan repositori


32

Ketika melakukan aptitude update/ apt-get updateatau menggunakan Pembaruan Manajer untuk memperbarui kadang-kadang saya mendapatkan tautan repositori yang terlalu lama. Persennya tidak berakhir dan butuh waktu cukup lama sebelum mengabaikannya.

Bagaimana saya bisa menurunkan waktu sehingga jika repositori tertentu membutuhkan lebih dari 10 detik untuk menghubungkan atau menyelesaikannya, abaikan saja dan pindahkan yang berikut. Berikut ini adalah gambar yang menjelaskan masalahnya:

masukkan deskripsi gambar di sini

Itu mencoba untuk terhubung ke archive.ubuntu.com tetapi karena terlalu lama itu hanya duduk di sana selama setidaknya 3 hingga 5 menit (Belum mengukur waktu) dan kemudian itu ditampilkan sebagai diabaikan dan pindah ke yang berikut. Saya ingin mengubahnya menjadi detik, bukan menit.


Coba gunakan cermin lain. Yang default untuk setiap alasan seringkali bukan yang tercepat. Misalnya mirror default untuk China akan selalu membuat saya menunggu 5-15 menit untuk memperbarui repositori saya. Mengubahnya menjadi yang lebih cepat dan sekarang dibutuhkan sekitar 30 detik.
adempewolff

1
@adempewolff Apakah Anda dapat / mau menulis jawaban yang berisi informasi dalam komentar itu, dan juga memperlihatkan (termasuk deskripsi dan gambar) cara mengubah mirror di Sumber Perangkat Lunak?
Eliah Kagan

Jawaban:


38

Bagaimana saya bisa menurunkan waktu sehingga jika repositori tertentu membutuhkan lebih dari 10 detik untuk menghubungkan atau menyelesaikannya harus mengabaikannya dan memindahkan yang berikut?

Cermin adalah salah satu opsi, seperti yang dijelaskan @adempewolff. Biarkan saya memberi Anda jawaban langsung:

Mengatur batas waktu koneksi apt-get

Anda dapat mengontrol batas waktu ini melalui apt.confopsi berikut :

  Acquire :: http :: Timeout "10";
  Acquire :: ftp :: Timeout "10";
  

Perhatikan bahwa ini hanya berlaku untuk batas waktu koneksi, BUKAN batas waktu "selesai", yaitu jika terhubung dalam waktu 10 detik, itu akan terus mengunduh paket 100MB meskipun itu pada 1 KB / detik :)

Untuk mengimplementasikan opsi ini, cukup buat file conf di /etc/apt/apt.conf.d; misalkan kita menyebutnya 99timeout.

  • Tekan Alt+F2, ketikgksudo gedit /etc/apt/apt.conf.d/99timeout
  • Ketik / rekatkan baris di atas, dengan pilihan waktu habis dalam hitungan detik
  • Simpan dan keluar.
  • Sekarang coba sudo apt-get update

Dan hack "find best server" pecandu terminal!

Diperluas dan dipindahkan sebagai jawaban untuk pertanyaan yang lebih tepat ini


Opsi konfigurasi apt-get tambahan yang dapat Anda coba atur

  • Acquire::Queue-Mode: Mode antrian; Mode Antrian dapat menjadi salah satu hostatau accessyang menentukan bagaimana APT memparalelkan koneksi keluar. hostberarti bahwa satu koneksi per host target akan dibuka, accessberarti bahwa satu koneksi per jenis URI akan dibuka.

  • Acquire::Retries: Jumlah percobaan yang harus dilakukan. Jika ini bukan nol, APT akan mencoba kembali file yang gagal beberapa kali.

  • Acquire::http::Dl-Limit: menerima nilai integer dalam kilobyte, untuk mempercepat kecepatan unduh dan tidak memperlambat penelusuran / email / dll. saat memperbarui. Nilai default adalah 0 yang menonaktifkan batas dan mencoba menggunakan bandwidth sebanyak mungkin. Jika diaktifkan, ini akan menonaktifkan apt-getfitur pengunduhan paralel.

  • Gali man apt.confjika Anda pikir ada hal lain yang bisa membantu!


1
Apakah ada cara untuk menerapkan batas waktu "selesai waktu"? Saya tahu dalam kasus saya (dan saya menduga dalam kasus OP ketika ia menyebutkan persentase mengambil selamanya, menyiratkan itu sudah terhubung) biasanya bukan masalah waktu koneksi habis, itu hanya masalah koneksi yang sangat lambat ( seperti 1 kb / s lambat).
adempewolff

Saya berharap saya bisa memberi Anda +2 untuk bagian kedua itu; Saya telah bertanya-tanya bagaimana cara menguji server tercepat dari terminal untuk waktu yang lama.
adempewolff

Terima kasih @ adempewolff, saya sebenarnya ingin menulis / memodifikasi sesuatu seperti netselect-aptuntuk Ubuntu sehingga semuanya dapat dieksekusi. Kembali pertanyaan waktu selesai Anda, saya tidak berpikir ada cara di tingkat apt-conf. Tapi man apt.conf, dan lihat "Grup Acquire", khususnya Mode Antrian dan Coba Lagi yang mungkin membantu.
ish

Saya menerima tetapi untuk "Peretasan server terbaik", saya memberi Anda +1 pada jawaban yang lain dan yang ini. Sangat cerdas.
Luis Alvarado

5

Seringkali repositori memuat dengan lambat secara lambat hanya merupakan gejala menggunakan cermin lambat. Mirror default untuk banyak daerah bukan yang tercepat (saya tahu ini kasusnya di China).

Mengubah cermin Anda sangat mudah dilakukan melalui Perangkat Lunak Sumber GUI, Anda dapat membuka jendela ini dengan dua cara:

  1. Terbuka Ubuntu Software Centerdan klik Software Sourcesdi Editmenu.

atau

  1. Buka terminal (atau tipe alt-F2) dan jalankansoftware-properties-gtk

Ketika jendela ini muncul, Anda akan melihat menu drop down yang mengatakan Download From:bahwa memilih mirror Anda. Pilih Otheropsi dari menu ini.

sumber perangkat lunak

Di jendela baru yang muncul klik Select Best Servertombol dan ini akan menguji dan secara otomatis memilih server tercepat untuk lokasi Anda.

pilih server terbaik

Semoga ini membantu!

Lihat juga:


Hmmm, saya tidak bisa mendapatkan tangkapan layar untuk mengabadikan menu drop-down. Tidak tahu apakah saya ingin mengajukan pertanyaan tentang ini atau mengajukan bug ...
adempewolff

Kemungkinan bug lain yang mungkin saya ajukan adalah bahwa software-properties-gtkprogram yang digunakan untuk muncul di dasbor Unity saat Anda mengetik Software Sources, tetapi tidak lagi ...
adempewolff

Adempewolff jawaban yang bagus. Sebagai langkah pertama, inilah saatnya. Jika tidak berhasil maka jawaban yang diterima akan menjadi solusinya. +1 Terima kasih.
Luis Alvarado

2

apt-fast berfungsi seperti apt-get , tetapi mengunduh pembaruan dan paket repositori secara paralel. Lihat tutorial ini untuk mempelajari cara menggunakannya.

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.