manifest.conf — profile: platform-engineer
← kembali ke catatan

2026-07-18

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 list
  • dnf updateinfo info RHSA-xxxx
  • dnf update --security
  • dnf 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-metadata saat menjalankan reposync.
  • Pastikan repository BaseOS dan AppStream sama-sama menyediakan metadata terbaru.
  • Gunakan dnf updateinfo list security untuk 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.