Lewati ke isi

Server & Infrastruktur

Perintah dnf di AlmaLinux 9 yang Sering Dipakai Admin

Kumpulan perintah dnf untuk AlmaLinux 9: update keamanan, install, hapus, cari file, aktifkan EPEL dan CRB, module stream, history undo, versionlock.

Terbit 6 menit baca

Jawaban singkat

dnf adalah manajer paket AlmaLinux 9. Perintah harian admin adalah dnf check-update, dnf upgrade, dnf install, dnf remove, dnf provides, dnf history undo, serta dnf module untuk memilih versi PHP atau Node.js. Repositori tambahan seperti EPEL dipasang dengan epel-release.

Daftar isi
  1. Perintah apt dan dnf yang setara
  2. Bagaimana memeriksa dan memasang pembaruan?
  3. Memasang, menghapus, dan memasang ulang paket
  4. Bagaimana mencari paket untuk suatu perintah?
  5. Repositori tambahan: CRB dan EPEL
  6. Memilih versi dengan dnf module
  7. Riwayat, undo, dan mengunci versi
  8. Pertanyaan yang sering diajukan

Perintah dnf yang paling sering dipakai admin AlmaLinux 9 hanya belasan: memeriksa dan memasang pembaruan, memasang dan menghapus paket, mencari paket pemilik suatu file, mengelola repositori, memilih versi lewat module, dan membatalkan transaksi dengan history undo.

Kenapa perlu hafal? Karena dnf adalah satu-satunya jalur resmi untuk menjaga server tetap mendapat perbaikan keamanan dari AlmaLinux. Admin yang lancar memakai dnf bisa memperbarui server dengan tenang, tahu persis apa yang berubah, dan bisa mundur bila pembaruan bermasalah. Kalau kamu datang dari Ubuntu atau Debian, anggap dnf sebagai padanan apt; banyak perintahnya mirip, dengan beberapa kemampuan tambahan. Semua perintah yang mengubah sistem dijalankan dengan sudo.

Perintah apt dan dnf yang setara

KebutuhanUbuntu/Debian (apt)AlmaLinux 9 (dnf)
Cek pembaruanapt update lalu apt list --upgradablednf check-update
Pasang semua pembaruanapt upgradednf upgrade
Pasang paketapt install namadnf install nama
Hapus paketapt remove namadnf remove nama
Buang dependensi tak terpakaiapt autoremovednf autoremove
Cari paketapt search katadnf search kata
Info paketapt show namadnf info nama
Paket pemilik suatu filedpkg -S /path/filednf provides /path/file
Daftar repositoriisi /etc/apt/sources.list.d/dnf repolist
Riwayat transaksi/var/log/apt/history.logdnf history
Bersihkan cacheapt cleandnf clean all

Panduan lengkap sisi apt ada di cara mengelola paket dengan apt.

Bagaimana memeriksa dan memasang pembaruan?

  • dnf check-update: menampilkan paket yang punya versi baru, tanpa memasang apa pun. dnf menyegarkan metadata repositori sendiri bila sudah kedaluwarsa, jadi tidak ada langkah terpisah seperti apt update.
  • sudo dnf upgrade: memasang semua pembaruan. dnf update adalah nama lama yang masih berfungsi dan hasilnya sama.
  • dnf updateinfo list --security: melihat pembaruan yang berlabel keamanan.
  • sudo dnf upgrade --security: hanya memasang pembaruan keamanan. Cocok untuk server yang ingin perubahan seminimal mungkin.
  • sudo dnf upgrade nginx: memperbarui satu paket saja.

Setelah pembaruan, cek apakah server perlu reboot dengan needs-restarting -r. Perintah ini berasal dari paket dnf-utils (pasang dengan sudo dnf install dnf-utils bila belum ada). Hasil "Reboot is required" biasanya muncul setelah kernel atau glibc diperbarui.

Memasang, menghapus, dan memasang ulang paket

  • sudo dnf install nginx php-fpm: memasang satu atau beberapa paket beserta dependensinya.
  • sudo dnf install ./paket.rpm: memasang file RPM lokal sambil mengambil dependensi dari repositori.
  • sudo dnf remove nginx: menghapus paket. dnf juga membuang dependensi yang hanya dipasang untuk paket itu (perilaku bawaan clean_requirements_on_remove).
  • sudo dnf autoremove: membersihkan sisa dependensi yang sudah tidak dipakai.
  • sudo dnf reinstall openssh-server: memasang ulang paket bila file programnya rusak atau terhapus.
  • sudo dnf downgrade nama: turun ke versi sebelumnya, selama versi itu masih tersedia di repositori.

File config yang sudah kamu ubah biasanya tidak dihapus saat remove. RPM menyimpannya dengan akhiran .rpmsave, jadi pengaturanmu tidak hilang begitu saja.

Bagaimana mencari paket untuk suatu perintah?

Ini kemampuan dnf yang sering menyelamatkan. Misalnya kamu butuh perintah semanage tetapi tidak tahu nama paketnya:

  • dnf provides '*/semanage': menampilkan paket yang berisi file itu (hasilnya policycoreutils-python-utils).
  • dnf list installed | grep php: daftar paket terpasang yang namanya mengandung "php".
  • rpm -ql nginx: semua file yang dipasang paket nginx.
  • rpm -qf /etc/nginx/nginx.conf: paket pemilik suatu file yang sudah ada di disk.

Repositori tambahan: CRB dan EPEL

AlmaLinux 9 punya repositori bawaan BaseOS dan AppStream, plus CRB (CodeReady Builder) yang nonaktif secara bawaan. Banyak software tambahan, misalnya htop, fail2ban, atau sysbench, ada di EPEL (Extra Packages for Enterprise Linux) yang dikelola komunitas Fedora. Sebagian paket EPEL membutuhkan CRB, jadi aktifkan keduanya:

  • sudo dnf config-manager --set-enabled crb
  • sudo dnf install epel-release
  • dnf repolist: memastikan crb dan epel sudah muncul.

Perintah config-manager berasal dari paket dnf-plugins-core. Bila muncul "No such command", pasang paket itu dulu.

Memilih versi dengan dnf module

AppStream di AlmaLinux 9 menyediakan beberapa versi untuk software seperti PHP, Node.js, Ruby, atau PostgreSQL lewat module stream. Versi bawaan disebut default, dan versi lain bisa diaktifkan:

  • dnf module list php: melihat stream yang tersedia dan mana yang aktif.
  • sudo dnf module enable php:8.2: mengaktifkan stream tertentu (ganti angkanya sesuai hasil module list).
  • sudo dnf install php php-fpm: setelah stream aktif, paket terpasang dari stream tersebut.
  • sudo dnf module reset php: mengembalikan pilihan stream ke awal sebelum berpindah ke stream lain.

Daftar stream berubah mengikuti rilis minor AlmaLinux 9, jadi selalu lihat keluaran dnf module list di servermu sendiri.

Riwayat, undo, dan mengunci versi

dnf mencatat setiap transaksi, dan ini fitur yang tidak dimiliki apt secara langsung:

  • dnf history: daftar transaksi beserta nomor ID, tanggal, dan jumlah paket.
  • dnf history info 15: rincian transaksi nomor 15.
  • sudo dnf history undo 15: membatalkan transaksi itu, misalnya menghapus paket yang terpasang atau mengembalikan versi lama bila masih tersedia.

Untuk mengunci versi agar tidak ikut diperbarui, pasang plugin versionlock:

  • sudo dnf install python3-dnf-plugin-versionlock
  • sudo dnf versionlock add mariadb-server
  • dnf versionlock list, lalu sudo dnf versionlock delete mariadb-server untuk membukanya.

Terakhir, sudo dnf clean all membersihkan cache metadata dan paket, berguna bila dnf terus membaca metadata lama atau ruang disk menipis. Bila masih menimbang antara AlmaLinux dan distro sejenis, baca AlmaLinux vs Rocky Linux vs CentOS Stream. Setelah memasang web server, jangan lupa membuka port di firewall dengan firewalld di AlmaLinux 9.

Pertanyaan yang sering diajukan

Apakah dnf update dan dnf upgrade berbeda?

Di AlmaLinux 9 keduanya sama. update adalah nama lama yang dipertahankan agar kebiasaan dan skrip lama tetap berjalan, sedangkan upgrade adalah nama resminya.

Apakah yum masih bisa dipakai di AlmaLinux 9?

Bisa. Perintah yum di AlmaLinux 9 adalah tautan ke dnf, jadi skrip lama yang memakai yum tetap berjalan dengan mesin dnf.

Bagaimana memperbarui otomatis hanya untuk paket keamanan?

Pasang paket dnf-automatic, atur upgrade_type = security dan apply_updates = yes di /etc/dnf/automatic.conf, lalu aktifkan timer-nya dengan systemctl enable --now dnf-automatic.timer.

Sumber & referensi

Baca juga