Mempertahankan daftar mirror up-to-date di Arch Linux Anda memberikan beberapa manfaat utama. Jika Anda menggunakan mirrorlist yang diperbarui, Anda dapat dengan mudah menghindari kecepatan unduh yang lambat, dan pesan kesalahan waktu habis saat menginstal, dan memperbarui paket. Tutorial ini menjelaskan apa itu Reflektor dan cara mengambil daftar mirror terbaru di Arch Linux menggunakan Reflector.
Apa itu Reflektor?
Reflektor adalah modul dan skrip Python 3 sederhana yang memeriksa dan mengambil daftar cermin terbaru yang diurutkan berdasarkan kecepatan dari Status Cermin halaman, dan menyimpannya di /etc/pacman.d/mirrorlist
file di sistem Arch Linux Anda.
Umumnya /etc/pacman.d/mirrorlist
file akan berisi satu server cermin per negara. Namun, seharusnya ada lebih dari satu server per negara, tetapi file daftar cermin biasanya hanya memiliki satu.
Jadi, bagaimana Anda menambahkan atau mengambil daftar mirror terbaru dan terkini dari pilihan Anda di Arch Linux? Di sinilah Reflektor datang membantu.
Reflektor akan mengambil dan memfilter daftar mirror Arch Linux terbaru dan tercepat berdasarkan kecepatan, negara, dan usia (sinkronisasi server terakhir).
Reflektor adalah skrip Python sumber terbuka dan gratis, yang berfungsi dengan baik di Arch Linux dan turunannya seperti EndeavourOS dan Manjaro Linux.
1. Instal Reflektor di Arch Linux, EndeavourOS, Manjaro
Untuk menginstal Reflector di Arch Linux dan variannya seperti EndeavourOS dan Manjaro, jalankan perintah berikut dari Terminal Anda:
$ sudo pacman -S reflector rsync curl
Perintah di atas akan menginstal Reflector bersama dengan dependensinya rsync dan paket curl.
2. Ambil daftar cermin terbaru menggunakan Reflektor di Arch Linux
2.1. Cadangkan daftar cermin saat ini
Sebelum menjalankan Reflektor, Anda harus membuat cadangan file daftar cermin default Anda. Karena, Reflektor akan menimpanya dan mengganti daftar cermin yang ada dengan yang baru.
Untuk mencadangkan daftar cermin saat ini, jalankan:
$ sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
2.2. Ambil mirror N terbaru dan urutkan berdasarkan kecepatan unduh
Mari kita ambil 20 mirror terbaru teratas dan urutkan daftar mirror berdasarkan kecepatan downloadnya, dan simpan di /etc/pacman.d/mirrorlist
file menggunakan perintah:
$ sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Harap dicatat bahwa ini akan menggantikan spion yang ada dengan spion baru.
Mari kita uraikan perintah di atas dan lihat apa yang dilakukan setiap opsi.
--latest 20
- ambil server yang paling baru disinkronkan--protocol https
- ambilhttps
cermin yang diaktifkan--sort rate
- urutkan daftar cermin berdasarkan kecepatan unduh--save /etc/pacman.d/mirrorlist
-
Anda dapat memverifikasinya dengan mencantumkan konten /etc/pacman.d/mirrorlist
berkas.
$ cat /etc/pacman.d/mirrorlist
Contoh keluaran:
##################################################################### ########### Arch Linux mirrorlist generated by Reflector ########### ##################################################################### With: reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist When: 2021-06-10 09:51:51 UTC From: https://www.archlinux.org/mirrors/status/json/ Retrieved: 2021-06-10 09:49:34 UTC Last Check: 2021-06-10 09:15:02 UTC Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch Server = https://archlinux.thaller.ws/$repo/os/$arch Server = https://arch.mirror.constant.com/$repo/os/$arch Server = https://mirror.f4st.host/archlinux/$repo/os/$arch Server = https://phinau.de/arch/$repo/os/$arch Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch Server = https://mirror.pseudoform.org/$repo/os/$arch Server = https://arch.mirror.square-r00t.net/$repo/os/$arch Server = https://mirror.pkgbuild.com/$repo/os/$arch Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch Server = https://mirror.telepoint.bg/archlinux/$repo/os/$arch Server = https://mirror.lty.me/archlinux/$repo/os/$arch Server = https://mirror.chaoticum.net/arch/$repo/os/$arch Server = https://mirror.efect.ro/archlinux/$repo/os/$arch Server = https://archmirror.it/repos/$repo/os/$arch Server = https://archlinux.mailtunnel.eu/$repo/os/$arch Server = https://archlinux.qontinuum.space:4443/$repo/os/$arch Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
Sekarang, Anda dapat menginstal, memperbarui, dan meningkatkan paket dari mirror terbaru.
$ sudo pacman -Syu
$ sudo pacman -S <package_name>
2.3. Ambil mirror N terbaru dan urutkan berdasarkan usia
Untuk mengambil mirror teratas dan mengurutkannya berdasarkan usianya yaitu sinkronisasi server terakhir, jalankan:
$ sudo reflector --latest 20 --protocol https --sort age --save /etc/pacman.d/mirrorlist
2.4. Ambil daftar cermin khusus negara
Anda juga dapat membatasi mirror ke negara tertentu. Misalnya, jika Anda tinggal di India, Anda mungkin ingin memperbarui daftar cermin dengan server hanya dari India.
Untuk mendaftar semua mirror Arch Linux yang tersedia di seluruh dunia, jalankan:
$ reflector --list-countries
Contoh keluaran:
Country Code Count ---------------------- ---- ----- Australia AU 19 Austria AT 6 Bangladesh BD 1 Belarus BY 4 Belgium BE 3 Bosnia and Herzegovina BA 2 Brazil BR 11 Bulgaria BG 11 Canada CA 20 Chile CL 8 [...]
Seperti yang Anda lihat pada output di atas, reflektor mencantumkan cermin yang tersedia di dunia bersama dengan kode negara dan jumlah cermin di setiap negara.
Saat menulis panduan ini, jumlah mirror Arch Linux terbanyak berada di AS (134 cermin), Jerman (114), dan Belanda (51).
Untuk mengambil cermin dari negara tertentu, Anda dapat menggunakan nama negara atau kode negara, atau campuran keduanya.
Perintah berikut akan mengambil 5 mirror teratas dari India , urutkan berdasarkan kecepatan unduh, dan simpan ke file mirrorlist.
$ sudo reflector --verbose --country 'India' -l 5 --sort rate --save /etc/pacman.d/mirrorlist
Berikut ini adalah ringkasan singkat tentang apa yang akan dilakukan oleh flag-flag ini dalam perintah di atas.
--verbose
- mencetak lebih banyak informasi dari biasanya.--country India
- lokasi cermin pilihan saya.--l 5
- mengambil lima cermin teratas India.--sort rate
- urutkan berdasarkan kecepatan unduh.--save
- simpan daftar cermin yang diunduh ke/etc/pacman-d/mirrorlist
.
Mari kita verifikasi daftar cermin yang diperbarui menggunakan perintah:
$ cat /etc/pacman.d/mirrorlist
Contoh keluaran:
################################################################################ ################# Arch Linux mirrorlist generated by Reflector ######################### ################################################################################ # With: reflector --verbose --country India -l 5 --sort rate --save /etc/pacman.d/mirrorlist # When: 2021-06-10 10:27:06 UTC # From: https://www.archlinux.org/mirrors/status/json/ # Retrieved: 2021-06-10 10:26:49 UTC # Last Check: 2021-06-10 09:15:02 UTC Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
Sayangnya, hanya ada tiga mirror Arch Linux yang tersedia di India.
2.5. Ambil daftar cermin dari beberapa negara
Anda juga dapat menentukan beberapa negara dengan dipisahkan koma seperti di bawah ini.
$ sudo reflector --country 'United States,India' -l 10 --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Perintah ini akan memilih 10 mirror HTTPS teratas disinkronkan dalam 12 jam terakhir dan berlokasi di Amerika Serikat atau India , urutkan berdasarkan kecepatan unduh, dan timpa file /etc/pacman.d/mirrorlist
berkas.
2.6. Ambil daftar cermin yang diurutkan berdasarkan negara
Untuk mendapatkan semua daftar negara yang diurutkan, jalankan perintah berikut:
$ sudo curl -o /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/all/
Setelah mengambil mirror yang diurutkan berdasarkan negara, edit /etc/pacman.d/mirrorlist
Anda berkas:
$ sudo nano /etc/pacman.d/mirrorlist
Batalkan komentar pada URL mirror pilihan Anda untuk mengaktifkannya.
Misalnya, saya mengaktifkan cermin dari India. Jadi, saya menghapus simbol (#) di depan setiap URL.
[...] India Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch [...]
Simpan dan tutup file. Perbarui daftar repositori menggunakan perintah:
$ sudo pacman -Syu
2.7. Pilih cermin tercepat
Reflektor dapat mengambil cermin tercepat untuk Arch Linux Anda.
Perintah berikut mengambil 5 10 mirror HTTPS tercepat berlokasi di Amerika Serikat , mengurutkannya berdasarkan kecepatan unduh, dan menimpa file /etc/pacman.d/mirrorlist
berkas.
$ sudo reflector -f 5 --country 'United States' --protocol https --sort rate --save /etc/pacman.d/mirrorlist
2.8. Tentukan protokol
Anda dapat memilih mirror terbaru yang mendukung jenis protokol tertentu, misalnya https
, http
, ftp
dll.
Misalnya, perintah ini akan memilih 5 mirror terbaru dari Amerika Serikat yang mendukung HTTP
dan ganti /etc/pacman.d/mirrorlist
berkas:
$ sudo reflector --latest 5 --protocol http --country 'United States' --save /etc/pacman.d/mirrorlist
Opsi lain yang didukung adalah --isos
yang hanya akan mengembalikan mirror yang menghosting ISO, --ipv4
yang hanya akan mengembalikan mirror yang mendukung IPv4, dan --ipv6
hanya mengembalikan mirror yang mendukung IPv6.
3. Perbarui daftar mirror Arch Linux secara otomatis saat boot
Reflektor termasuk systemd
layanan dan unit pengatur waktu yang dapat digunakan untuk memperbarui daftar cermin Pacman secara otomatis.
3.1. Aktifkan dan mulai layanan sistem reflektor
Mulai dari versi 2020.8, Reflektor dikirimkan dengan reflector.service
. Untuk memperbarui daftar mirror Arch Linux Anda secara otomatis pada setiap reboot, cukup aktifkan dan mulai layanan ini menggunakan perintah:
$ sudo systemctl enable reflector.service
$ sudo systemctl start reflector.service
reflektor.service akan menjalankan reflektor dengan parameter yang ditentukan dalam /etc/xdg/reflector/reflector.conf
mengajukan.
Pengaturan default cukup untuk sebagian besar waktu. Berikut adalah isi dari reflector.conf
berkas:
$ cat /etc/xdg/reflector/reflector.conf
Contoh keluaran:
# # Empty lines and lines beginning with "#" are ignored. All other lines should # contain valid reflector command-line arguments. The lines are parsed with # Python's shlex modules so standard shell syntax should work. All arguments are # collected into a single argument list. # # See "reflector --help" for details. # Recommended Options # Set the output path where the mirrorlist will be saved (--save). --save /etc/pacman.d/mirrorlist # Select the transfer protocol (--protocol). --protocol https # Select the country (--country). # Consult the list of available countries with "reflector --list-countries" and # select the countries nearest to you or the ones that you trust. For example: # --country France,Germany # Use only the most recently synchronized mirrors (--latest). --latest 5 # Sort the mirrors by synchronization time (--sort). --sort age
Anda juga dapat mengedit file ini dan mengubah parameter sesuai kebutuhan Anda. File ini menerima semua argumen baris perintah reflektor.
Anda dapat mengelompokkan argumen bersama dalam satu baris atau membagi banyak baris, dengan baris kosong opsional dan baris komentar dimulai dengan #
.
3.2. Aktifkan dan mulai pengatur waktu sistem reflektor
Reflektor mengirimkan unit systemd lain bernama reflector.timer
, yang memulai reflector.service
mingguan.
Untuk mengaktifkan dan memulainya secara otomatis pada boot sistem, jalankan perintah berikut satu per satu:
$ sudo systemctl enable reflector.timer
$ sudo systemctl start reflector.timer
Secara default, ini akan memulai reflector.service
sekali dalam seminggu. Jika Anda tidak ingin menunggu waktu yang dijadwalkan, Anda dapat memulai reflector.service untuk segera memperbarui daftar cermin pacman:
$ sudo systemctl start reflector.service
Kesimpulan
Dalam panduan ini, kita mempelajari apa itu Reflektor, cara mengambil daftar cermin Pacman terbaru untuk sistem Arch Linux Anda menggunakan skrip Reflektor dan terakhir cara memperbarui daftar cermin Arch Linux secara otomatis.