Memanfaatkan Mirror Protocol repo Ubuntu

Tulisan ini akan sedikit menjelaskan tentang bagaimana menggunakan mirror protocol untuk repo Ubuntu. Sedikit cerita, saya sebenarnya sangat menyukai CentOS dalam hal konfigurasi repository, terutama karena adanya pengaya fastestmirror. Dengan adanya pengaya tersebut saat kita melakukan yum update maupun saat melakukan instalasi paket, sistem akan secara otomatis memilihkan cermin repository terdekat, dan bahkan ketika suatu cermin (mirror) gagal digunakan yum akan secara otomatis mengulangi unduhan dengan repo lain. Ini sangat menarik, tentunya terlepas dari isu terkini yaitu CentOS 8 akan mulai menjadi hulu bagi RedHat yang menyebabkan banyak orang merasa kecewa karenanya.

Oke, kembali ke pembahasan. Konfigurasi repository distro berbasis Debian, termasuk Ubuntu umumnya formatnya adalah sebagai berikut (dalam berkas /etc/apt/sources.list):

#deb [url] [repo/rilis] [komponen]
deb http://buaya.klas.or.id/ubuntu/ bionic main restricted
deb http://buaya.klas.or.id/ubuntu/ bionic-updates main restricted
deb http://buaya.klas.or.id/ubuntu/ bionic universe
deb http://buaya.klas.or.id/ubuntu/ bionic-updates universe
deb http://buaya.klas.or.id/ubuntu/ bionic multiverse
deb http://buaya.klas.or.id/ubuntu/ bionic-updates multiverse
deb http://buaya.klas.or.id/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse

Nah, konfigurasi repo tersebut statis. Artinya kita akan mengambil paket dari repo yang telah kita tentukan (dan ini perlu secara manual kita masukkan ke) dalam berkas sources.list tersebut. Keuntungannya, kita dapat memilih repo mana yang akan kita gunakan. Saat kita lakukan update dan install, semua paket akan mengambil dari URL repositori tersebut. Misalnya kita lakukan update:

$ sudo apt update
Hit:1 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:2 http://buaya.klas.or.id/ubuntu bionic InRelease
Hit:3 http://buaya.klas.or.id/ubuntu bionic-updates InRelease
Hit:4 https://linux.teamviewer.com/deb stable InRelease
Hit:5 http://buaya.klas.or.id/ubuntu bionic-backports InRelease
Hit:6 http://security.ubuntu.com/ubuntu bionic-security InRelease                                                   
Fetched 3.023 B in 1s (2.213 B/s)                  
Reading package lists... Done
Building dependency tree
Reading state information... Done
238 packages can be upgraded. Run 'apt list --upgradable' to see them.

Kalo kita eksekusi apt update berkali-kali, tentu saja kita akan menggunakan URL repo yang sama.

Sekarang kita coba ubah konten berkas sources.list sebagai berikut:

deb mirror://mirrors.ubuntu.com/mirrors.txt bionic main restricted
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-updates main restricted
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic universe
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-updates universe
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-updates multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-backports main restricted universe multiverse

Lalu coba lakukan update beberapa kali:

root@nacita-labX:~# apt update 
Get:1 http://mirrors.ubuntu.com/mirrors.txt Mirrorlist [644 B]
Hit:2 http://mirror.telkomuniversity.ac.id/ubuntu bionic InRelease
Get:4 http://mirror.unej.ac.id/ubuntu bionic-backports InRelease [74.6 kB]
Get:3 http://kebo.pens.ac.id/ubuntu bionic-updates InRelease [88.7 kB]            
Get:5 http://kebo.pens.ac.id/ubuntu bionic-updates/main i386 Packages [1172 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Get:6 http://kebo.pens.ac.id/ubuntu bionic-updates/main amd64 Packages [1789 kB]
Fetched 3126 kB in 5s (628 kB/s)                               
Reading package lists... Done
Building dependency tree
Reading state information... Done
28 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@nacita-labX:~# apt update
Get:1 http://mirrors.ubuntu.com/mirrors.txt Mirrorlist [644 B]
Get:4 http://kartolo.sby.datautama.net.id/ubuntu bionic-backports InRelease [74.6 kB]
Hit:3 https://mirror.jagoanhosting.com/ubuntu/ubuntu bionic-updates InRelease                             
Hit:2 https://suro.ubaya.ac.id/ubuntu bionic InRelease                                          
Fetched 75.2 kB in 2s (38.6 kB/s)                                              
Reading package lists... Done
Building dependency tree
Reading state information... Done
28 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@nacita-labX:~# apt update
Get:1 http://mirrors.ubuntu.com/mirrors.txt Mirrorlist [644 B]
Hit:4 http://kartolo.sby.datautama.net.id/ubuntu bionic-backports InRelease
Hit:3 https://mirror.jagoanhosting.com/ubuntu/ubuntu bionic-updates InRelease
Hit:2 http://kebo.pens.ac.id/ubuntu bionic InRelease
Fetched 644 B in 3s (203 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
28 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@nacita-labX:~# apt update
Get:1 http://mirrors.ubuntu.com/mirrors.txt Mirrorlist [644 B]
Get:3 http://kambing.ui.ac.id/ubuntu bionic-updates InRelease [88.7 kB]
Get:4 http://mirror.telkomuniversity.ac.id/ubuntu bionic-backports InRelease [74.6 kB]
Hit:2 https://mirror.papua.go.id/ubuntu bionic InRelease                                                             
Fetched 164 kB in 2s (87.1 kB/s)                   
Reading package lists... Done
Building dependency tree
Reading state information... Done
28 packages can be upgraded. Run 'apt list --upgradable' to see them.

Coba juga install salah satu paket/aplikasi:

root@nacita-labX:~# apt install debootstrap
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  ubuntu-archive-keyring
The following NEW packages will be installed:
  debootstrap
0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded.
Need to get 35.3 kB of archives.
After this operation, 275 kB of additional disk space will be used.
Get:1 http://mirrors.ubuntu.com/mirrors.txt Mirrorlist [644 B]
Get:2 http://mirror.labkom.id/ubuntu bionic-updates/main amd64 debootstrap all 1.0.95ubuntu0.8 [35.3 kB]
Fetched 36.0 kB in 1s (25.6 kB/s) 
Selecting previously unselected package debootstrap.
(Reading database ... 105967 files and directories currently installed.)
Preparing to unpack .../debootstrap_1.0.95ubuntu0.8_all.deb ...
Unpacking debootstrap (1.0.95ubuntu0.8) ...
Setting up debootstrap (1.0.95ubuntu0.8) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

Bahkan, saat melakukan update dan instalasi aplikasi diambil dari URL yang berbeda.

Oke, sebenarnya apa yang terjadi? saya juga gak tau, heheheā€¦. Tapi dari pengujian yang telah kita lakukan tadi, kita bisa berkesimpulan bahwa dengan menggunakan mirror protocol (bisa kita lihat pada awalan/prefix mirror:// pada URL tadi) kita tidak perlu lagi repot memilih URL mana yang akan kita gunakan untuk repo kita. Karena apt akan secara otomatis memilihkan alamat repo yang paling dekat cepat pada saat dieksekusi. Coba kita lihat isi dari berkas mirrors.txt itu apa:

# wget -qO - mirrors.ubuntu.com/mirrors.txt
http://buaya.klas.or.id/ubuntu/
http://kambing.ui.ac.id/ubuntu/
http://mirror.labkom.id/ubuntu/
https://repo.dinamika.ac.id/ubuntu/
https://mirror.jagoanhosting.com/ubuntu/ubuntu/
http://mirror.deace.id/ubuntu/
http://mirror.telkomuniversity.ac.id/ubuntu/
http://kebo.pens.ac.id/ubuntu/
http://mirror.unej.ac.id/ubuntu/
http://mirror.biznetgio.com/ubuntu/
https://mirror.papua.go.id/ubuntu/
http://kebo.vlsm.org/ubuntu/
http://suro.ubaya.ac.id/ubuntu/
https://mirror.gi.co.id/ubuntu/
http://kartolo.sby.datautama.net.id/ubuntu/
https://pinguin.dinus.ac.id/iso/ubuntu/repo/
http://mirror.poliwangi.ac.id/ubuntu/
http://archive.ubuntu.com/ubuntu/

Oiya, bisa juga diakses melalui peramban http://mirrors.ubuntu.com/mirrors.txt

Jika temen-temen perhatikan, saat kita melakukan apt update, baris pertama akan muncul seperti ini:

Get:1 http://mirrors.ubuntu.com/mirrors.txt Mirrorlist [644 B]

Bisa jadi, pertama si apt mengambil daftar URL repo yang tersedia, sebelum akhirnya digunakan untuk mengunduh paket. Dengan begini repositori yang kita gunakan akan sangat dinamis.

Sekian dulu catatan kali ini ya gaes, maap kalo agak panjang dan sedikit bikin pusing. Ya, setidaknya setelah Anda baca catatan ini saya jadi punya teman pusing. LOL

  • linux/Memanfaatkan.Mirror.Protocol.repo.Ubuntu
  • Terakhir diubah: 5 bulan yang lalu
  • oleh Samsul Maarif