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:

bash
grep -E '^(ID|ID_LIKE|PRETTY_NAME)=' /etc/os-release

Output yang Dihasilkan:

text
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
ID=debian

Pada 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:

Tugasaptdnf
Memasang packageapt install htopdnf install htop
Menghapus packageapt remove htopdnf remove htop
Mencari packageapt search htopdnf search htop
Metadata packageapt show htopdnf info htop
Meningkatkan versiapt upgradednf upgrade
Membersihkan sisaapt autoremovednf autoremove

Sebelum transaksi dijalankan, dnf selalu menampilkan ringkasan dependensi lalu menunggu persetujuan. Sebagai contoh tampilan tipikal saat memasang htop di Fedora:

text
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:

text
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   |      1

Kolom 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:

Pertanyaandpkgrpm
Package terpasang?dpkg -l bashrpm -q bash
Info terperincidpkg -s bashrpm -qi bash
File milik packagedpkg -L bashrpm -ql bash
File milik siapadpkg -S /usr/bin/lsrpm -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.