Menguasai jantung administrasi AlmaLinux: package manager dnf5 dengan perintah dasar, konfigurasi dnf5.conf, riwayat dan rollback, ditambah pengelolaan repositori BaseOS, AppStream, CRB, Extras, EPEL, hingga plugin resmi dnf-almalinux.

Di episode 3 sebelumnya kita menginstall AlmaLinux dan menyiapkan sistem pertama. Sekarang kita masuk ke keterampilan yang akan kalian pakai setiap hari: package management. Hampir semua pekerjaan administrasi — menginstall software, memperbarui sistem, menambah repositori — berputar di sekitar package manager. Di AlmaLinux 9 dan 10, alat itu bernama dnf5, penerus modern dari dnf klasik.
Episode ini membedah dnf5 dari perintah dasar hingga fitur canggih seperti riwayat dan rollback, lalu menjelaskan ekosistem repositori yang menjadi sumber package di sistem kalian.
DNF5 adalah generasi baru package manager yang menggabungkan dnf dan libdnf menjadi satu executable yang lebih cepat dan lebih ramah memori. Di AlmaLinux 10 ia menjadi default; di AlmaLinux 9 tersedia sebagai pilihan. Perintah utamanya tetap familiar — perbedaannya ada di kecepatan dan kemudahan.
dnf5 --versionIni lima perintah yang akan kalian pakai paling sering:
| Perintah | Fungsi |
|---|---|
sudo dnf5 install <pkg> | Menginstall package beserta dependensinya |
sudo dnf5 remove <pkg> | Menghapus package |
dnf5 search <kata> | Mencari package berdasarkan nama atau deskripsi |
sudo dnf5 upgrade | Memperbarui seluruh package sistem |
dnf5 repoquery --installed <pkg> | Query detail package yang terinstall |
sudo dnf5 install -y htop git
dnf5 search cockpit
dnf5 repoquery --installed kernelFlag -y menjawab otomatis "yes" untuk konfirmasi — nyaman untuk scripting, tapi biasakan membaca dulu apa yang akan diinstall.
Untuk mengetahui package apa yang menyediakan sebuah file atau perintah, gunakan repoquery:
dnf5 repoquery --whatprovides /usr/sbin/semanage
dnf5 repoquery --whatprovides ifconfigKedua contoh di atas menunjukkan cara klasik menjawab pertanyaan "command mana yang menyediakan utilitas ini?" — keterampilan yang sangat menolong saat tutorial meminta package yang tidak kalian kenali.
Konfigurasi global dnf5 berada di /etc/dnf/dnf5.conf. Beberapa opsi yang sering disesuaikan:
| Opsi | Fungsi |
|---|---|
keepcache=1 | Menyimpan cache package yang sudah terunduh |
fastestmirror=1 | Memilih mirror tercepat otomatis |
max_parallel_downloads=N | Jumlah unduhan paralel |
gpgcheck=1 | Wajib verifikasi GPG signature (default, jangan dimatikan) |
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=Trueinstallonly_limit=3 mempertahankan hingga tiga versi package yang bisa diinstall berdampingan — sangat penting untuk kernel, karena kalian bisa boot ke versi lama jika versi baru bermasalah.
Kesalahan install adalah hal yang wajar. dnf5 menyimpan riwayat transaksi yang memungkinkan kalian kembali ke kondisi sebelumnya:
dnf5 historyOutputnya berisi daftar transaksi dengan ID, tanggal, dan jumlah package yang diubah. Untuk melihat detail satu transaksi:
dnf5 history info <ID>
sudo dnf5 history undo <ID>history undo membalikkan transaksi tertentu — mengembalikan package ke versi sebelumnya. Ini adalah jaringan pengaman yang tidak dimiliki installer kebanyakan.
Warning
Rollback bukan pengganti backup. Jika package yang diubah menyentuh file konfigurasi (misalnya update kernel atau glibc), hasil rollback bisa tidak sempurna. Selalu buat snapshot atau backup sebelum perubahan besar.
Package datang dari repository — sumber package terpusat. AlmaLinux membawa repositori bawaan yang sudah dikonfigurasi di /etc/yum.repos.d/almalinux.repo.
dnf5 repolist| Repositori | Peran |
|---|---|
| BaseOS | Package inti sistem operasi (kernel, glibc, systemd) |
| AppStream | Aplikasi dan runtime, mendukung beberapa versi |
| CRB (CodeReady Builder) | Tooling developer dan build dependencies |
| Extras | Package tambahan yang tidak masuk dua repositori utama |
| Devel | Package pengembangan internal AlmaLinux |
AppStream dan konsep module-nya akan kita bedah lebih dalam di episode 5.
sudo dnf5 config-manager setopt crb.enabled=1CRB sering dibutuhkan untuk membangun software dari source. Extras biasanya aktif secara default. Jangan ragu mengaktifkan CRB saat build tooling memintanya — dan matikan lagi jika tidak dibutuhkan.
sudo dnf5 install epel-releaseWarning
Setiap repositori third-party memperluas permukaan kepercayaan sistem kalian. Hanya tambahkan repositori yang benar-benar dibutuhkan, dan pastikan ia memakai GPG signing yang valid.
dnf-almalinux adalah plugin dan tools resmi yang dikembangkan AlmaLinux untuk kebutuhan distro. Salah satu fungsinya adalah memudahkan pengelolaan repositori dan informasi versi. Untuk memastikan keamanan semua package, biasakan verifikasi GPG signature dari waktu ke waktu:
rpm -qa --qf '%{NAME} %{SIGPGP:pgpsig}\n' | headPackage resmi AlmaLinux ditandatangani dengan GPG key yang disimpan di /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux. Signature yang valid adalah garis pertahanan pertama terhadap package yang disusupi.
dnf5 upgrade tanpa membaca. Selalu lihat daftar package yang akan berubah sebelum menyetujui — apalagi jika menyangkut kernel atau layanan kritis.gpgcheck. Ini membuka pintu untuk package palsu. Jangan pernah melakukannya.dnf5 history. Fitur rollback adalah teman terbaik kalian — biasakan memakainya saat bereksperimen.-y dengan sadar. Di sistem production, kadang lebih aman membiarkan dnf meminta konfirmasi agar kalian membaca setiap perubahan.Pada episode 4 ini kalian telah menguasai package management dengan dnf5: perintah dasar install, remove, search, upgrade, dan repoquery, konfigurasi dnf5.conf, riwayat dan rollback transaksi, pengelolaan repositori BaseOS, AppStream, CRB, Extras, dan EPEL, hingga plugin resmi dnf-almalinux dan verifikasi GPG.
Inti yang harus dibawa pulang:
dnf5 install, remove, search, upgrade, repoquery.dnf5 history memberi kalian kemampuan undo/rollback transaksi.Package management adalah fondasi operasional kalian. Di episode 5 selanjutnya, kita akan membahas Modules (AppStream) & Software Collections — bagaimana satu repositori bisa menawarkan banyak versi Python, Node.js, atau PostgreSQL sekaligus, kapan harus memakai module stream, dan warisan Software Collections di era 8.x yang kini digantikan oleh AppStream. Sampai jumpa!