Saya sedang menyiapkan skenario lab CloudStack lokal tanpa internet. Langkah awalnya adalah membuat Rocky Linux bisa memasang paket dari penyimpanan lokal. Contoh paling sederhana adalah menggunakan DVD ISO Rocky Linux 9 sebagai sumber paket. Pastikan ISO sesuai dengan versi dan arsitektur server. Gunakan DVD ISO, bukan minimal atau boot ISO.
Di contoh ini, file ISO sudah tersedia di /root/Rocky-9-dvd.iso. Sesuaikan nama file dengan ISO yang dimiliki, dan sediakan ruang disk yang cukup untuk menyalin isinya. Langkah ini membuat repo untuk server tersebut, belum membagikannya ke server lain.
1. Salin isi repository dari ISO
# sudo mkdir -p /mnt/rocky-dvd /srv/repo/rocky
# sudo mount -o loop /root/Rocky-9-dvd.iso /mnt/rocky-dvd
# ls /mnt/rocky-dvd/{BaseOS,AppStream}/repodata/repomd.xml
# sudo cp -a /mnt/rocky-dvd/BaseOS /mnt/rocky-dvd/AppStream /srv/repo/rocky/
# sudo umount /mnt/rocky-dvd
Folder BaseOS dan AppStream berisi paket serta metadata yang sudah bisa dibaca DNF. Karena itu, untuk contoh ini saya tidak perlu menjalankan createrepo lagi.
2. Daftarkan repository lokal
Pastikan kunci GPG Rocky Linux tersedia dengan ls /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9, lalu buat file /etc/yum.repos.d/rocky-local.repo:
[local-baseos]
name=Rocky Linux 9 - BaseOS Lokal
baseurl=file:///srv/repo/rocky/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[local-appstream]
name=Rocky Linux 9 - AppStream Lokal
baseurl=file:///srv/repo/rocky/AppStream
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
DNF membaca konfigurasi repository dari file .repo di /etc/yum.repos.d/. Red Hat Documentation
3. Uji tanpa repository internet
# dnf --disablerepo='*' --enablerepo=local-baseos --enablerepo=local-appstream --refresh makecache
# dnf --disablerepo='*' --enablerepo=local-baseos --enablerepo=local-appstream install vim-enhanced
Jika metadata terbaca dan vim-enhanced terpasang, repo lokal Rocky Linux sudah berfungsi. Bila paket itu sudah terpasang sebelumnya, gunakan paket lain yang tersedia di ISO untuk menguji instalasi. Opsi --disablerepo='*' membuat kedua perintah hanya memakai repo lokal; repo internet bawaan tetap aktif untuk perintah DNF biasa sampai dinonaktifkan.
Kalo Ada Update?
Repository dari DVD ISO tidak diperbarui otomatis. Paket yang tersedia mengikuti isi ISO saat dibuat.
Jika ada DVD ISO Rocky Linux 9 yang lebih baru, salin kembali folder BaseOS dan AppStream ke direktori baru, misalnya /srv/repo/rocky-baru. Setelah itu, ubah kedua baseurl di rocky-local.repo agar mengarah ke direktori baru. Jangan mencampur isi repo lama dan baru supaya paket tetap sesuai dengan metadatanya.
Jalankan pembaruan hanya dari repo lokal:
# dnf --disablerepo='*' --enablerepo=local-baseos \
--enablerepo=local-appstream --refresh upgrade
Jika membutuhkan patch yang terbit sebelum ada ISO baru, sinkronkan paket beserta metadata di mesin yang memiliki internet menggunakan dnf reposync --download-metadata, lalu pindahkan hasilnya ke server offline.










