image 82

Membatasi Waktu Sinkronisasi Metadata di DNF Fedora

Fedora setiap kali kita ingin melakukan pemasangan ataupun pencarian paket aplikasi dari dnf,  ia akan selalu melakukan sinkronisasi metadata. Perlu diketahui bahwa metadata dibutuhkan dnf sebagai indeksi berkas pada repositori. Simpelnya, metadata itu pangkalan data dari dnf.

Pokok Masalah

Sinkronisasi metadata sangatlah penting, karena pada saat kita ingin melakukan pemasangan paket, dnf akan mengecek paket tersebut pada metadata di lokal dan memastikan semuanya sama dengan peladen repositori. Jika tidak, tentu kita akan mendapati galat 404 karena berkas tidak ada dalam peladen.

Fedora secara asali menerapkan sinkronisasi metadata selama 48 jam atau 2 hari. Jadi jika sudah lebih dari dua hari, kalian ingin memasang aplikasi, maka dnf akan memperbaharui metadata-nya.

Screenshot from 2019 04 21 21 20 04
Contoh pembaruan metadata

Gambar di atas hanya contoh pembaruan metadata. Kalau metadata berukuran kecil (filesize), mungkin tidak akan menjadi masalah. Lainhal jika berukuran hingga puluhan megabyte akan sangat menjengkelkan, terlebih lagi bagi para pengguna internet berkecepatan rendah dan dibatasi kuota. Ini akan sangat menyiksa. Kebetulan juga saya salah satu yang merasakan itu 🤣.

Solusi

Saya ada sedikit solusi yang mungkin akan membantu kalian. Yakni dengan kita membatasi metadata_expire. Kalian bisa memperpanjang masa kadaluarsanya sebanyak satu minggu atau satu bulan. Tapi saya saya lebih baik jangan diberi kadaluarsa, mengapa? Karena kita bisa memperbarui metadata secara manual dari dnf.

Berikut ini solusinya. Pertama-tama kalian sunting berkas /etc/dnf/dnf.conf

$ vim /etc/dnf/dnf.conf
Code language: Shell Session (shell)

Lalu tambahkan metadata_expire=never dan metadata_timer_sync=0 dibaris paling bawah seperti gambar berikut:

Screenshot from 2019 04 25 21 57 46

Kalau kalian ingin menganti menjadi 6 hari misalnya. Tinggal ganti kata never dengan 6h atau 86400.

Kemudian pastikan semua repositori tidak ter-override dengan masing-masing konfigurasinya.  Kita bisa cek dengan cara berikut:

$ grep -r /etc/yum.repos.d/ -e 'metadata_expire'
Code language: Shell Session (shell)
Cek metadata_expire tiap repositori
Cek metadata_expire tiap repositori

Kalian lihat beberapa repositori ada yang tertimpa dengan konfigurasinya. Ada yang kadaluarsa 6 jam ada juga yang 7 hari. Oleh karena itu kita harus merubahnya menjadi expired. Sebelum diubah cek dulu repositori mana saja yang dipakai, dengan perintah berikut:

$ grep -Ril /etc/yum.repos.d/ -e 'enabled=1'
Code language: Shell Session (shell)
Repositori yang aktif
Repositori yang aktif

Nah, itu dia repostori yang aktif. Sekarang tinggal kita ubah satu persatu berkas seperti di atas.

Langkah terakhir ketika kita ingin memasang aplikasi pastikan ditambah parameter --cacheonly. Contoh

$ sudo dnf install vlc --cacheonly
Code language: Shell Session (shell)

Semoga bermanfaat 😉

Artikel Terkait

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: