Setelah keluarga Debian, keluarga Red Hat adalah dunia Linux yang paling luas berikutnya: Fedora, RHEL, CentOS Stream, Rocky Linux, dan AlmaLinux semuanya memakai pasangan dnf dan rpm. Pembagian perannya sama seperti apt dan dpkg — dnf menyelesaikan dependensi dari repository, rpm memasang file dan merawat database lokal — sehingga pemahaman kita dari Chapter sebelumnya langsung berpindah. Mesin tempat materi ini ditulis ber-Debian, jadi dnf tidak terpasang di sini; perintah-perintah di Chapter ini kita tulis sebagai panduan untuk sistem Fedora atau RHEL milik kita sendiri.
Mengenali Keluarga Sistem #
Sebelum memakai perintah apa pun, kita perlu yakin sistemnya memang keluarga Red Hat. Berkas /etc/os-release menyimpan identitas distro dalam field ID dan ID_LIKE:
grep -E '^(ID|ID_LIKE|PRETTY_NAME)=' /etc/os-releaseOutput yang Dihasilkan:
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
ID=debianPada mesin Debian ini, ID=debian dan ID_LIKE bahkan tidak ada karena Debian tidak mengaku turunan distro lain. Di Fedora, field yang sama berisi ID=fedora; di Rocky Linux berisi ID="rocky" dengan ID_LIKE="rhel centos fedora" — daftar leluhur yang bisa dipakai skrip untuk memilih perintah yang cocok di tiap distro.
Mengelola Package dengan dnf #
dnf adalah penerus yum — nama lamanya masih tersedia sebagai alias, dan konfigurasinya pun dulu bernama yum.conf. Dari sisi penggunaan sehari-hari, dnf justru lebih ringkas dari apt karena metadata repository diperbarui otomatis saat dibutuhkan; tidak ada ritual terpisah seperti apt update. Kamus lengkapnya:
| Tugas | apt | dnf |
|---|---|---|
| Memasang package | apt install htop | dnf install htop |
| Menghapus package | apt remove htop | dnf remove htop |
| Mencari package | apt search htop | dnf search htop |
| Metadata package | apt show htop | dnf info htop |
| Meningkatkan versi | apt upgrade | dnf upgrade |
| Membersihkan sisa | apt autoremove | dnf autoremove |
Sebelum transaksi dijalankan, dnf selalu menampilkan ringkasan dependensi lalu menunggu persetujuan. Sebagai contoh tampilan tipikal saat memasang htop di Fedora:
Dependencies resolved.
=====================================================================
Package Architecture Version Repository Size
=====================================================================
Installing:
htop x86_64 3.3.0-4.fc40 fedora 180 k
Transaction Summary
=====================================================================
Install 1 Package
Total download size: 180 k
Installed size: 420 k
Is this ok [y/N]:Ringkasan semacam ini adalah kontrak yang akan dijalankan dnf: satu package dipasang, ukurannya tercantum, dan tidak ada yang dihapus. Kebiasaan membacanya sebelum menekan y menghindarkan kita dari transaksi yang tidak diinginkan. Panduan operasionalnya ada di dokumentasi dnf
milik Fedora.
dnf history: Transaksi yang Bisa Dibalik #
Ciri paling khas dnf adalah setiap transaksi tercatat bernomor dalam database — dan catatan itu bisa dibalik. dnf history mendaftar transaksi, dnf history info 5 membedah transaksi nomor 5, dnf history undo 5 membatalkannya, dan dnf history rollback 3 memutar seluruh sistem kembali ke kondisi setelah transaksi nomor 3. Sebagai contoh tampilan daftarnya:
ID | Command line | Date and time | Action(s) | Altered
----------------------------------------------------------------
12 | install htop | 2026-01-10 09:12 | Install | 1
11 | upgrade | 2026-01-09 21:03 | I, U | 42
10 | remove nano | 2026-01-08 15:40 | Removed | 1Kolom Altered menunjukkan berapa package tersentuh; huruf I, U berarti kombinasi Install dan Upgrade. Kemampuan undo ini lahir dari kebutuhan server produksi: bila satu transaksi menimbulkan masalah, kita tidak perlu menebak package mana yang harus dikembalikan.
Package Group #
Distro Red Hat memaketkan kumpulan software sebagai group: dnf group list mendaftar group seperti Web Server atau Development Tools, dan dnf group install "Web Server" memasang semuanya sekaligus. Bentuk pendeknya memakai awalan @, misalnya dnf install @development-tools — padanannya di openSUSE adalah pattern yang kita bahas di Chapter zypper.
rpm: Query ke Database Lokal #
Di luar repository, rpm membaca database package lokal — padanan langsung query dpkg yang kita latih sebelumnya:
| Pertanyaan | dpkg | rpm |
|---|---|---|
| Package terpasang? | dpkg -l bash | rpm -q bash |
| Info terperinci | dpkg -s bash | rpm -qi bash |
| File milik package | dpkg -L bash | rpm -ql bash |
| File milik siapa | dpkg -S /usr/bin/ls | rpm -qf /usr/bin/ls |
Satu perintah rpm yang tidak punya padanan persis di dpkg adalah verifikasi: rpm -Va membandingkan setiap file terpasang dengan metadata aslinya — checksum, izin akses, pemilik — lalu melaporkan setiap perbedaan. Output S.5....T. pada sebuah file berarti ukurannya, checksum-nya, dan waktu modifikasinya berubah dari yang tercatat; pola ini muncul wajar pada file konfigurasi yang memang kita sunting, tetapi mengejutkan bila muncul pada binary sistem. Perintah rpm juga bisa memeriksa file .rpm yang belum terpasang dengan -qip (info) dan -qlp (daftar isi), peran yang di keluarga Debian dipegang dpkg-deb — dasar-dasarnya dibahas di dokumentasi rpm
Fedora.
Dua keluarga besar sudah kita pegang polanya. Keluarga berikutnya memilih jalan berbeda: satu perintah tanpa lapis, hidup di dunia rolling release — pacman milik Arch Linux.