Saya ingin memperbarui sources.list
file saya dengan server tercepat dari baris perintah di instal Server Ubuntu baru. Saya tahu ini mudah dengan GUI, tapi sepertinya tidak ada cara sederhana untuk melakukannya dari baris perintah?
command-line
apt
repository
Evan
sumber
sumber
#
tanda - tanda dengan garis miring (/
). Kalau tidak, saya mendapatsed: -e expression #1, char 53: unterminated
perintah 's'.Jawaban:
Sepertinya tidak termasuk dalam Ubuntu yang lebih baru karena masalah sekuritas: lihat: Laporan bug
Tapi .. Saya biasanya hanya menggunakan ping untuk mengetahui kecepatan koneksi ke beberapa lokasi. Jumlah hop dan latensi.
sumber
Anda tidak perlu melakukan pencarian setiap lagi - sebagai ajmitch telah dijelaskan , Anda dapat menggunakan
deb mirror
untuk memiliki cermin terbaik dipilih untuk Anda secara otomatis.sumber
sudo apt-get update
sebelum melakukan apa punapt-get install
untuk menggunakan cermin terdekat.Inilah salah satu cara yang akan selalu berhasil, menggunakan sihir yang baik
netselect
dan lamagrep
:Retasan "find best server" pecandu terminal!
dpkg -i
netselect
untuk arsitektur Anda dari situs web Debian. (sekitar 125 KB, tidak ada dependensi)Temukan mirror Ubuntu tercepat dari lokasi Anda, baik yang terbaru atau paling lambat enam jam dengan ini (saya akan jelaskan di bawah ini, maaf itu tidak berpisah dengan baik di Markdown)
netselect
:-v
membuatnya sedikit bertele-tele - Anda ingin melihat titik-titik kemajuan dan pesan-pesan yang memberitahukan Anda tentang pemetaan cermin yang berbeda ke IP yang sama digabungkan :)-sN
mengontrol berapa banyak mirror yang Anda inginkan di akhir (mis. 10 mirror teratas)-tN
adalah berapa lama masing-masing mirror diuji kecepatan (standarnya adalah 10; semakin tinggi angkanya, semakin lama waktu yang dibutuhkan tetapi semakin dapat diandalkan hasilnya.)Ini adalah hal-hal backquotes (jangan tempel, hanya untuk penjelasan)
wget
menarik status mirror terbaru dari https://launchpad.net/ubuntu/+archivemirrors .grep
Ekstrak mirror pertama yang up-to-date atau enam jam di belakang, bersama dengan 8 baris konteks sebelumnya yang mencakup URL ftp / http aktualgrep
mengekstrak URL ftp / http iniBerikut ini contoh keluaran dari California, AS:
netselect
tidak selalu memilih URL yang paling tepat untuk ditampilkan ketika beberapa mirror memetakan ke IP tunggal; nomor 3 juga dikenal sebagainz.archive.ubuntu.com
!sumber
Oneliner yang memilih mirror terbaik (berdasarkan kecepatan unduhan) berdasarkan mirror.ubuntu.com untuk ip Anda.
sumber
sort -gr | head -3
.curl -s http://mirrors.ubuntu.com/mirrors.txt
hanya mengembalikan satu baris:http://archive.ubuntu.com/ubuntu/
yang mengalahkan tujuan memilih di antara beberapa baris . : - /curl
bagian dari jawaban ini bermanfaat karena dicurl -r 0-102400 -o /dev/null [server_url]/ls-lR.gz
mana[server_url]
URL mirror dasar terdaftarmirrors.txt
, memungkinkan perbandingan kecepatan ~ 100K pertama dari file indeks dari mirror.Berikut ini adalah skrip Python yang saya tulis yang menemukan mirror dengan latensi TCP terendah.
Skrip juga menyediakan bandwidth dan data status yang diambil dari launchpad , dan akan menghasilkan
sources.list
file baru secara otomatis atau menggunakan mirror yang dipilih dari daftar.Contoh penggunaan yang memungkinkan Anda memilih dari 5 cermin AS dengan latensi terendah ke mesin Anda:
sumber
netselect
tidak tersedia dalam versi Ubuntu yang lebih baruREADME
tautan pertama.Saya mengembangkan skrip nodejs berbasis ping sederhana yang menguji server yang terdaftar di mirrors.ubuntu.com/mirrors.txt dan mengembalikan yang tercepat:
Harap beri tahu saya jika Anda merasa itu berguna atau punya saran (=
sumber
git clone
repo dan jalankannode ffum
Saya tahu ini tidak secara langsung menjawab pertanyaan OP, tetapi ada tombol di desktop / GUI versi Ubuntu yang menemukan mirror terbaik untuk Anda. Tampaknya bekerja dengan cukup baik, jadi saya memeriksanya sebentar, tetapi tidak punya waktu untuk menindaklanjutinya.
Alasan saya membawanya adalah karena saya pikir itu akan sangat mudah dan dapat digunakan untuk membuatnya menjadi utilitas baris perintah.
Jika ada yang tertarik, tes ini sepertinya berlokasi di:
Sekali lagi, itu tentang sejauh yang saya dapatkan, tapi saya pikir saya akan meninggalkan ini di sini kalau-kalau ada yang menginginkannya. Saya mungkin akan mengambil kembali ketika saya punya sedikit waktu.
sumber
$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
Perintah Yang Menemukan Cermin Cepat
Di Ubuntu 18.04 saya mendapat hasil yang baik dengan menjalankan
Itu mencetak daftar cermin yang diatur oleh "waktu" (tidak dijelaskan), dan kemudian saya menggunakan salah satu cermin yang berperingkat tertinggi.
Keterangan lebih lanjut
Bagi saya, berguna untuk menguji beberapa hasil atas keluaran dengan perintah itu dengan menetapkan mereka sebagai mirror saya
/etc/apt/sources.list
dan kemudian lakukanuntuk melihat berapa lama untuk mengunduh daftar paket dari mirror itu. Saya menguji tiga saran teratas dan semuanya cepat, tetapi salah satunya dua kali lebih cepat daripada dua lainnya dalam
time sudo apt update
ujian.Berikut ini contoh keluaran dari
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
:sumber
Untuk baris perintah, Anda dapat menggunakan alat Python yang disebut apt-smart
Contoh penggunaan yang memungkinkan Anda mencantumkan mirror peringkat di negara Anda (secara otomatis mendeteksi):
Dengan
-l
, atau--list-mirrors
, Anda akan mendapatkan (contoh output dari server Travis CI US):Tentu saja,
apt-smart
dapat juga mengubah sumber Anda. Daftar jika Anda ingin:Dengan
-a
, atau--auto-change-mirror
untuk menemukan mirror yang tersedia, beri peringkat mirror dengan kecepatan koneksi dan perbarui status dan perbarui /etc/apt/sources.list untuk menggunakan mirror terbaik yang tersedia.Dengan
-c
, atau--change-mirror MIRROR_URL
untuk memperbarui /etc/apt/sources.list untuk menggunakan MIRROR_URL yang diberikan.Dibandingkan dengan alat lain:
apt-smart
secara otomatis menemukan di mana Anda berada sehingga Anda tidak perlu menentukan negara saat bepergian ke luar negeri.apt-smart
tidak mengunduh HTTP nyata dari setiap mirror untuk mendapatkan hasil yang lebih akurat (bandwidth & status) dan mendukung proxy HTTP, daripada menggunakanping
dan mengandalkan data yang tidak akurat launchpad.apt-smart
dipertahankan, sedangkan sebagian besar alat lainnya membiarkan masalah tidak bertahan lama.Anda dapat dengan mudah menginstal
apt-smart
melaluipip
, untuk perintah instalasi dan penggunaan copy'n'paste rinci silakan lihat Project Readme .sumber
Saya menggunakan yang berikut ini untuk memilih mirror secara otomatis (dan menonaktifkan deb-src)
sumber
Jika Anda ingin utilitas melakukan ini, Anda bisa mengimplementasikan utilitas seperti skrip bash sederhana seperti berikut ini. Ini mungkin berguna jika Anda ingin menggunakan utilitas tanpa perlu pip / nodejs.
sumber
Jawaban lain, termasuk jawaban yang diterima, tidak lagi valid (untuk Ubuntu 11.04 dan yang lebih baru) karena mereka merekomendasikan paket Debian seperti
netselect-apt
danapt-spy
yang tidak berfungsi dengan Ubuntu.Ada dua yang berbeda kerja jawaban untuk pertanyaan di bawah ini:
mirror:
metodeMenunjukkan kepada Anda cara menggunakan alat netselect untuk menemukan server tercepat yang baru-baru ini diperbarui dari Anda - bijaksana jaringan, bukan secara geografis. Gunakan
sed
untuk mengganti mirrorsources.list
.Gunakan
sed
untuk mengganti mirrorsources.list
Karena beberapa sumber menggunakan folder tambahan sebagai bagian dari jalurnya, mungkin lebih baik menggunakan sintaks pemisah alternatif.
sumber
Cara termudah dan efisien untuk mendapatkan cermin tercepat adalah dengan menggunakan
mirror://
sumber yang tepat , lihathttps://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/
sumber