Membuat Local Repository RHEL yang Mendukung RHSA (Security Advisory)
Saat membuat local repository RHEL, saya pernah menemui kasus di mana perintah seperti dnf update --security atau dnf update --advisory tidak bekerja. Setelah ditelusuri, penyebabnya bukan pada DNF, melainkan repository lokal yang belum memiliki metadata updateinfo.xml.
Metadata ini berisi informasi mengenai RHSA (Red Hat Security Advisory), RHBA, RHEA, hingga mapping CVE. Tanpa metadata tersebut, DNF tidak mengetahui advisory apa saja yang tersedia.
Gejala yang Ditemui
Ketika menjalankan update berdasarkan advisory:
dnf update --advisory=RHSA-2025:21232
atau:
dnf update --security
hasilnya advisory tidak ditemukan, padahal paket RPM sudah tersedia di repository lokal.
Penyebab
Repository lokal hanya berisi paket RPM beserta metadata dasar (repodata), namun tidak memiliki file updateinfo.xml.
Akibatnya perintah berikut tidak dapat bekerja dengan benar:
dnf updateinfo listdnf updateinfo info RHSA-xxxxdnf update --securitydnf update --advisory=RHSA-xxxx
Solusi
Saat melakukan mirror repository menggunakan reposync, pastikan selalu menambahkan opsi --download-metadata.
reposync \
--repoid=rhel-8-for-x86_64-baseos-rpms \
--download-path=/var/www/html/repo/rhel8/BaseOS \
--download-metadata
Untuk repository AppStream:
reposync \
--repoid=rhel-8-for-x86_64-appstream-rpms \
--download-path=/var/www/html/repo/rhel8/AppStream \
--download-metadata
Opsi --download-metadata akan mengunduh metadata repository termasuk updateinfo.xml, sehingga informasi RHSA dan CVE ikut tersedia pada mirror lokal.
Otomatisasi dengan Cron
Agar repository selalu terbarui, saya menggunakan cron job seperti berikut.
# BaseOS
0 2 * * * reposync \
--repoid=rhel-8-for-x86_64-baseos-rpms \
--download-path=/var/www/html/repo/rhel8/BaseOS \
--download-metadata \
--newest-only
# AppStream
30 2 * * * reposync \
--repoid=rhel-8-for-x86_64-appstream-rpms \
--download-path=/var/www/html/repo/rhel8/AppStream \
--download-metadata \
--newest-only
Verifikasi di Client
Install plugin DNF jika belum tersedia:
dnf install dnf-plugins-core
Kemudian lakukan pengecekan:
dnf updateinfo list security
dnf updateinfo info RHSA-2025:21232
dnf update --advisory=RHSA-2025:21232
Jika metadata sudah benar, seluruh advisory security akan muncul dan update berdasarkan RHSA dapat dijalankan seperti saat menggunakan Red Hat CDN secara langsung.
Catatan
- Jangan lupa menggunakan
--download-metadatasaat menjalankanreposync. - Pastikan repository BaseOS dan AppStream sama-sama menyediakan metadata terbaru.
- Gunakan
dnf updateinfo list securityuntuk memastikan metadata security sudah terbaca oleh client.
Kesimpulan
Agar local repository RHEL mendukung fitur seperti dnf update --security dan dnf update --advisory, repository harus menyertakan metadata updateinfo.xml. Cara paling mudah adalah menggunakan reposync --download-metadata. Dengan begitu repository lokal memiliki kemampuan yang hampir sama dengan Red Hat CDN dalam menyediakan informasi security advisory.