Apakah kamu sering merasa frustrasi dengan kecepatan update atau instalasi paket di Ubuntu yang lambat? Terutama jika kamu berada di jaringan dengan banyak mesin Ubuntu atau memiliki koneksi internet yang tidak terlalu stabil? Solusinya mungkin ada pada server mirror lokal.
Mengubah repository Ubuntu kamu ke server mirror lokal adalah langkah cerdas yang bisa sangat meningkatkan efisiensi dan kecepatan. Dalam artikel ini, kita akan membahas mengapa kamu harus mempertimbangkan ini, serta langkah-langkah mudah untuk mengimplementasikannya.
Kenapa Harus Menggunakan Server Mirror Lokal?
Menggunakan server mirror lokal untuk repository Ubuntu menawarkan beberapa keuntungan signifikan:
- Kecepatan Unduh yang Fantastis: Ini adalah alasan utama! Alih-alih mengunduh paket dari server Canonical di luar negeri, mesin Ubuntu kamu akan mengunduh dari server lokal di jaringanmu sendiri. Ini berarti kecepatan transfer data yang jauh lebih tinggi, seringkali mencapai kecepatan LAN (Gigabit Ethernet) yang ekstrem.
- Hemat Bandwidth Internet: Jika kamu memiliki banyak server atau desktop Ubuntu yang sering di-update atau menginstal paket yang sama, server mirror lokal akan menghemat banyak bandwidth internet. Hanya server mirror yang perlu mengunduh paket dari internet sekali, sisanya dari jaringan lokal.
- Stabilitas dan Ketersediaan: Koneksi ke server mirror lokal umumnya lebih stabil daripada koneksi ke server eksternal, terutama jika server eksternal sedang sibuk atau mengalami masalah jaringan.
- Kontrol Versi (Opsional): Dalam lingkungan tertentu, server mirror lokal dapat memberimu kontrol lebih besar atas versi paket yang tersedia untuk mesin klien, memastikan konsistensi di seluruh infrastruktur.
Persiapan Sebelum Memulai
Sebelum kita masuk ke langkah-langkah teknis, ada beberapa hal yang perlu kamu persiapkan jika ingin membuat server mirror sendiri:
- Server Khusus: Kamu akan membutuhkan satu server (bisa virtual machine atau fisik) yang didedikasikan untuk menjadi server mirror. Pastikan server ini memiliki ruang disk yang cukup besar (bisa ratusan GB hingga TB, tergantung seberapa lengkap mirror yang kamu inginkan) dan koneksi jaringan yang stabil ke internet dan ke klien Ubuntu lainnya.
- Sistem Operasi: Server mirror itu sendiri bisa menggunakan Ubuntu, Debian, atau distribusi Linux lain yang kompatibel.
- Koneksi Internet yang Baik: Server mirror akan mengunduh semua repository dari internet untuk pertama kalinya, jadi pastikan koneksi internetnya cepat dan stabil.
Langkah-langkah Membuat Server Mirror Pribadi Menggunakan apt-mirror
Kita akan menggunakan apt-mirror, sebuah utilitas yang efisien untuk membuat mirror repository Debian/Ubuntu.
Langkah 1: Instal apt-mirror di Server Mirror Pribadi
Pertama, instal paket apt-mirror pada server yang akan menjadi mirror pribadi kamu:
sudo apt update
sudo apt install apt-mirror
Langkah 2: Konfigurasi apt-mirror
File konfigurasi utama apt-mirror berada di /etc/apt/mirror.conf. Kamu perlu mengedit file ini:
sudo nano /etc/apt/mirror.conf
Di dalam file ini, kamu akan menemukan baris-baris seperti ini:
############# config ##################
#
set base_path /var/spool/apt-mirror
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu focal-proposed main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu focal-proposed main restricted universe multiverse
clean http://archive.ubuntu.com/ubuntu
Penjelasan dan Penyesuaian:
-
set base_path /var/spool/apt-mirror: Ini adalah lokasi di mana mirror akan disimpan. Pastikan direktori ini (atau yang kamu pilih) memiliki ruang disk yang memadai. Jika ingin mengubahnya, pastikan kamu membuat direktori tersebut dan memberikan izin yang sesuai. -
Baris
deb: Ini adalah repository yang akan di-mirror. Secara default,apt-mirrorsudah mengkonfigurasi repository dasar Ubuntu. Kamu bisa mengaktifkan atau menonaktifkan baris sesuai kebutuhan (misalnya, jika kamu hanya ingin mirrormaindanrestricted). Jangan lupa gantifocaldengan versi Ubuntu yang kamu gunakan (misal:jammyuntuk Ubuntu 22.04 LTS). -
Baris
deb-src: Ini adalah source repository. Umumnya tidak diperlukan untuk instalasi biasa, jadi bisa dibiarkan dalam komentar (#). -
set nthreads: Jumlah thread yang digunakan untuk mengunduh. Nilai yang lebih tinggi bisa mempercepat proses, tapi juga memakan lebih banyak bandwidth.
Simpan perubahan dan keluar dari editor (Ctrl+O, Enter, Ctrl+X di nano).
Langkah 3: Sinkronisasi Repository Pertama Kali
Setelah konfigurasi, saatnya melakukan sinkronisasi pertama kali. Proses ini akan memakan waktu sangat lama dan menghabiskan banyak bandwidth, tergantung pada ukuran repository yang kamu mirror dan kecepatan internetmu.
sudo apt-mirror
Kamu bisa memantau progresnya di terminal. Setelah selesai, mirror kamu akan tersedia di $base_path/mirror. Misalnya, jika base_path adalah /var/spool/apt-mirror, maka mirror Ubuntu akan berada di /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu.
Langkah 4: Otomatisasi Sinkronisasi (Cron Job)
Agar mirror kamu selalu up-to-date, disarankan untuk mengatur cron job agar apt-mirror berjalan secara otomatis setiap hari.
sudo nano /etc/cron.d/apt-mirror
Tambahkan baris berikut:
0 4 * * * apt-mirror /usr/bin/apt-mirror
Baris ini akan menjalankan apt-mirror setiap hari pada pukul 04:00 pagi. Kamu bisa menyesuaikan jadwalnya sesuai kebutuhanmu.
Langkah 5: Sajikan Mirror Menggunakan Web Server
Agar klien Ubuntu dapat mengakses mirror kamu, kamu perlu menyajikannya melalui web server (misalnya Apache atau Nginx).
Contoh dengan Apache:
-
Instal Apache:
apt install apache2
-
Buat File Konfigurasi Apache:
Buat file konfigurasi baru, misalnya/etc/apache2/sites-available/apt-mirror.conf:
sudo nano /etc/apache2/sites-available/apt-mirror.conf
Isi dengan:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/spool/apt-mirror/mirror/
<Directory /var/spool/apt-mirror/mirror/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- Aktifkan Konfigurasi dan Restart Apache:
sudo a2ensite apt-mirror.conf
sudo a2enmod autoindex # Pastikan module autoindex aktif untuk listing direktori
sudo systemctl restart apache2
Sekarang, mirror kamu seharusnya bisa diakses melalui web browser dengan alamat IP server mirror kamu (misalnya, http://IP_SERVER_MIRROR/archive.ubuntu.com/ubuntu).
Alternatif: Menggunakan Repository Mirror Lokal Publik di Indonesia
Jika kamu tidak ingin repot membangun server mirror pribadi sendiri, atau hanya memiliki sedikit mesin Ubuntu, kamu bisa langsung menggunakan server mirror publik yang tersedia di Indonesia. Ini adalah cara tercepat untuk mendapatkan kecepatan unduh lokal tanpa konfigurasi server yang rumit.
Beberapa universitas dan penyedia layanan internet di Indonesia menyediakan mirror repository Ubuntu. Dengan mengubah sources.list kamu ke mirror ini, kamu akan merasakan kecepatan update yang signifikan.
Berikut adalah daftar beberapa repository mirror lokal di Indonesia yang bisa kamu gunakan (sesuaikan dengan versi Ubuntu yang kamu pakai, contoh di bawah adalah untuk focal alias Ubuntu 20.04 LTS):
# mirror.uad.ac.id (Universitas Ahmad Dahlan)
deb http://mirror.uad.ac.id/ubuntu/ focal main restricted universe multiverse
deb http://mirror.uad.ac.id/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirror.uad.ac.id/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirror.uad.ac.id/ubuntu/ focal-security main restricted universe multiverse
# kambing.ui.ac.id (Universitas Indonesia) - Salah satu yang paling populer
deb http://kambing.ui.ac.id/ubuntu/ focal main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu/ focal-updates main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu/ focal-backports main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu/ focal-security main restricted universe multiverse
# datautama.net.id (Data Utama)
deb http://datautama.net.id/ubuntu/ focal main restricted universe multiverse
deb http://datautama.net.id/ubuntu/ focal-updates main restricted universe multiverse
deb http://datautama.net.id/ubuntu/ focal-backports main restricted universe multiverse
deb http://datautama.net.id/ubuntu/ focal-security main restricted universe multiverse
# repo.mikrobits.com (Mikrobits)
deb http://repo.mikrobits.com/ubuntu/ focal main restricted universe multiverse
deb http://repo.mikrobits.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://repo.mikrobits.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://repo.mikrobits.com/ubuntu/ focal-security main restricted universe multiverse
# buaya.klas.or.id (Komunitas Linux Arek Suroboyo) - Surabaya
deb http://buaya.klas.or.id/ubuntu/ focal main restricted universe multiverse
deb http://buaya.klas.or.id/ubuntu/ focal-updates main restricted universe multiverse
deb http://buaya.klas.or.id/ubuntu/ focal-backports main restricted universe multiverse
deb http://buaya.klas.or.id/ubuntu/ focal-security main restricted universe multiverse
# mirror.polban.ac.id (Politeknik Negeri Bandung)
deb http://mirror.polban.ac.id/ubuntu/ focal main restricted universe multiverse
deb http://mirror.polban.ac.id/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirror.polban.ac.id/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirror.polban.ac.id/ubuntu/ focal-security main restricted universe multiverse
# repo.telkomuniversity.ac.id (Telkom University)
deb http://repo.telkomuniversity.ac.id/ubuntu/ focal main restricted universe multiverse
deb http://repo.telkomuniversity.ac.id/ubuntu/ focal-updates main restricted universe multiverse
deb http://repo.telkomuniversity.ac.id/ubuntu/ focal-backports main restricted universe multiverse
deb http://repo.telkomuniversity.ac.id/ubuntu/ focal-security main restricted universe multiverse
Cara Menggunakannya di Klien Ubuntu:
-
Backup File
sources.list: Selalu lakukan backup sebelum mengedit file konfigurasi penting:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
-
Edit File
sources.list: Buka filesources.list:sudo nano /etc/apt/sources.list
-
Ganti URL Repository: Komentari (dengan
#) atau hapus baris repository yang ada, lalu salin-tempel baris-baris dari daftar mirror lokal di atas ke dalam file. Pastikan URL repository tersebut sesuai dengan versi Ubuntu yang kamu gunakan (misalnya, gantifocalmenjadijammyjika kamu menggunakan Ubuntu 22.04 LTS). Simpan perubahan dan keluar.
-
Update Cache APT: Terakhir, update cache paket APT di klien:
sudo apt updateJika semua berjalan lancar, proses update kamu akan jauh lebih cepat!
Mengkonfigurasi Klien Ubuntu untuk Menggunakan Mirror Pribadi
Jika kamu sudah selesai membuat server mirror pribadi sendiri (sesuai langkah-langkah di atas), saatnya mengkonfigurasi mesin-mesin Ubuntu klien untuk menggunakannya.
-
Backup File
sources.list: Selalu lakukan backup sebelum mengedit file konfigurasi
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
-
Buka dan Edit File
sources.list:
sudo nano /etc/apt/sources.list
- Ganti URL Repository:
Komentari (dengan #) atau hapus baris repository yang ada, lalu ganti semua URL http://archive.ubuntu.com/ubuntu (atau URL repository lain yang kamu mirror) dengan URL server mirror pribadi kamu.
Sebelumnya (contoh):
deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
Setelahnya (contoh, ganti IP_SERVER_MIRROR dengan IP aktual server mirror pribadi kamu):
deb http://IP_SERVER_MIRROR/archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://IP_SERVER_MIRROR/archive.ubuntu_mirror.com/ubuntu focal-security main restricted universe multiverse
deb http://IP_SERVER_MIRROR/archive.ubuntu_mirror.com/ubuntu focal-updates main restricted universe multiverse
Simpan perubahan dan keluar.
-
Update Cache APT:
Terakhir, update cache paket APT di klien:
sudo apt update
Jika semua berjalan lancar, proses update seharusnya jauh lebih cepat dan menunjukkan bahwa paket diunduh dari IP server mirror pribadi kamu.
Kesimpulan
Mengimplementasikan server mirror pribadi lokal untuk repository Ubuntu adalah investasi waktu dan resource yang sangat berharga, terutama untuk lingkungan dengan banyak mesin Linux. Ini akan secara drastis mempercepat proses update dan instalasi, menghemat bandwidth internet, dan meningkatkan stabilitas sistem secara keseluruhan.
Jika kamu tidak ingin membangun server sendiri, menggunakan mirror publik lokal di Indonesia juga merupakan solusi efektif untuk meningkatkan kecepatan update Ubuntu-mu.
Selamat mencoba, dan nikmati kecepatan update yang belum pernah kamu rasakan sebelumnya!

