SSD Nodes Learn Hosting plans →
Panduan Matt ConnorOleh Matt Connor · Diperbarui 2026-09-04

Padanan Perintah apt ke dnf di Rocky dan Fedora

Temukan padanan setiap perintah apt ke dnf di Rocky Linux, AlmaLinux, dan Fedora, termasuk repositori, pembatalan transaksi, grup paket, serta pembaruan tanpa interaksi.

Jawaban singkat

Beralih dari apt ke dnf pada dasarnya hanya mengubah istilah. apt install nginx menjadi dnf install nginx. apt remove nginx menjadi dnf remove nginx. apt update tidak memiliki padanan langsung karena dnf memperbarui metadata repositorinya sendiri saat salinan yang tersimpan di cache sudah kedaluwarsa. Bagian terjemahan yang mudah hanya memenuhi satu layar. Bagian yang berguna adalah empat operasi yang tidak memiliki padanan langsung: menambahkan repositori, membatalkan transaksi, menginstal grup paket, dan menjalankan pembaruan tanpa interaksi.

Semua perintah di bawah ini ditulis untuk dijalankan di server Anda sendiri. Baca ringkasan transaksi yang ditampilkan dnf sebelum menjawab y, terutama saat menghapus paket.

Distro mana yang menggunakan dnf, dan mana yang menggunakan apt

dnf adalah pengelola paket pada Fedora, Red Hat Enterprise Linux (RHEL), serta distribusi rebuild RHEL: Rocky Linux, AlmaLinux, dan CentOS Stream. apt adalah pengelola paket pada Debian dan semua distribusi turunannya, yang pada VPS hampir selalu berarti Ubuntu. Tidak ada pilihan ketiga. Jika daftar image dari provider Anda menawarkan Rocky Linux atau AlmaLinux, berarti Anda menggunakan dnf. Jika menawarkan Ubuntu, berarti Anda menggunakan apt. Alasan satu sisi pembagian ini memiliki empat nama untuk sistem yang pada dasarnya sama merupakan hal yang perlu diketahui sebelum Anda memilih di antara keduanya, dan bagaimana Red Hat Linux menjadi Fedora, RHEL, CentOS, Rocky, dan AlmaLinux menjelaskan asal masing-masing distribusi.

Format paket mengikuti tool tersebut. dnf menginstal file .rpm dan databasenya adalah rpm. apt menginstal file .deb dan databasenya adalah dpkg. Karena itu, banyak halaman instalasi vendor memiliki satu tab untuk setiap keluarga, dan .deb yang diunduh dari halaman rilis suatu proyek tidak berguna pada Rocky Linux.

Apa pun keluarga yang Anda gunakan, pekerjaan saat login pertama tetap sama. Sepuluh menit pertama pada VPS baru berlaku untuk keduanya. Hanya perintah instalasinya yang berbeda.

Setiap perintah apt dan padanannya di dnf

Instal, hapus, cari, dan tampilkan. Perintah-perintah ini menggunakan kata yang hampir sama pada kedua sistem.

# apt
sudo apt install nginx
sudo apt remove nginx
apt search nginx
apt show nginx

# dnf
sudo dnf install nginx
sudo dnf remove nginx
dnf search nginx
dnf info nginx

apt show adalah dnf info. Itu satu-satunya kata kerja yang namanya berbeda dalam kelompok ini, tetapi ada satu perbedaan perilaku yang sering mengecoh pengguna. dnf remove juga menghapus dependensi yang tidak diperlukan paket lain, sedangkan apt remove membiarkannya tetap terinstal untuk apt autoremove berikutnya. Karena itu, menghapus satu utilitas kecil di Rocky Linux dapat mengusulkan penghapusan belasan pustaka sekaligus. Baca daftarnya sebelum mengonfirmasi.

Segarkan metadata, periksa pembaruan yang menunggu, dan lakukan upgrade.

# apt
sudo apt update
apt list --upgradable
sudo apt install --only-upgrade nginx
sudo apt upgrade

# dnf
sudo dnf makecache
dnf check-update
sudo dnf upgrade nginx
sudo dnf upgrade

apt update wajib digunakan pada sisi apt, karena apt menggunakan metadata yang tersimpan di disk dan dapat menginstal versi yang sudah berbulan-bulan tidak ada di arsip. dnf memeriksa usia cache sebelum setiap transaksi dan mengunduh metadata terbaru secara otomatis, sehingga sudo dnf makecache hanya digunakan untuk memaksa pengunduhan tersebut berlangsung sekarang, bukan saat instalasi berikutnya.

apt membagi upgrade seluruh sistem menjadi dua perintah, sedangkan dnf tidak. apt upgrade menolak menghapus paket apa pun yang sudah terinstal, sehingga proses berhenti jika pembaruan memerlukan penghapusan paket. apt full-upgrade adalah versi yang diizinkan untuk menghapus paket. dnf tidak memiliki pembatasan ini, sehingga dnf upgrade merupakan padanan apt full-upgrade, bukan apt upgrade. dnf update adalah alias lama untuk perintah yang sama dan masih berfungsi.

Satu hal penting jika Anda membuat skrip: dnf check-update keluar dengan status 100 jika ada pembaruan yang menunggu dan 0 jika tidak ada. apt list --upgradable keluar dengan status 0 dalam kedua kondisi, sehingga skrip harus mengurai output-nya.

Tampilkan paket yang terinstal dan cari paket yang memiliki suatu file.

# apt
dpkg -l
dpkg -S /usr/sbin/nginx
dpkg -L nginx
apt-file search /usr/sbin/nginx

# dnf
dnf list --installed
rpm -qf /usr/sbin/nginx
rpm -ql nginx
dnf provides /usr/sbin/nginx

Baris terakhir pada setiap blok menjawab pertanyaan yang berbeda dari baris-baris sebelumnya. dpkg -S dan rpm -qf hanya mencari paket yang sudah terinstal, sehingga keduanya menjawab pertanyaan “paket apa yang menempatkan file ini di sini”. apt-file search dan dnf provides mencari repositori, sehingga keduanya menjawab pertanyaan “paket apa yang harus diinstal untuk memperoleh file ini”. apt-file adalah paket terpisah di Ubuntu dan memerlukan sudo apt-file update sebelum dijalankan pertama kali. dnf provides tidak memerlukan apa pun, meskipun proses pertama kali dapat lambat karena dnf mengunduh daftar file repositori untuk memberikan jawaban.

Untuk menampilkan file di dalam paket yang belum Anda instal, gunakan dnf repoquery -l nginx. Pada sisi apt, padanannya adalah apt-file list nginx.

Hapus dependensi yang tidak diperlukan, bersihkan cache, dan tahan suatu versi.

# apt
sudo apt autoremove
sudo apt clean
sudo apt-mark hold nginx
apt-mark showhold
sudo apt-mark unhold nginx

# dnf
sudo dnf autoremove
sudo dnf clean all
sudo dnf versionlock add nginx
dnf versionlock list
sudo dnf versionlock delete nginx

versionlock tidak terinstal secara default di Rocky Linux atau AlmaLinux, sehingga baris pertama dari kedua baris tersebut gagal dengan No such command: versionlock pada server yang baru disiapkan. Instal terlebih dahulu dengan sudo dnf install python3-dnf-plugin-versionlock. apt tidak memerlukan apa pun untuk apt-mark hold, karena penahanan versi merupakan status dpkg, bukan plugin.

Tempat pemetaan tidak berlaku: menambahkan repository

Ini bagian yang membuat administrator Ubuntu mencari perintah yang sebenarnya tidak ada. Tidak ada add-apt-repository pada dnf, dan tidak ada personal package archive (PPA). PPA adalah layanan yang dijalankan oleh Launchpad, sedangkan Launchpad merupakan infrastruktur Ubuntu. Tidak ada komponen di ekosistem RPM yang menyediakan layanan tersebut.

Sebagai gantinya, dnf menggunakan satu file teks biasa untuk setiap repository di /etc/yum.repos.d/, dengan akhiran .repo.

[docker-ce-stable]
name=Docker CE Stable
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

$releasever dan $basearch adalah variabel dnf. dnf mengisi nomor rilis mayor dan arsitektur CPU saat runtime, sehingga file yang sama dapat digunakan pada version 9 dan version 10, serta pada x86_64 dan aarch64.

Sebagian besar vendor menerbitkan file tersebut dan meminta Anda mengunduhnya. Instruksi resmi Docker untuk RHEL dan turunannya terdiri dari dua perintah:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

Baris pertama diperlukan karena config-manager adalah plugin, bukan bagian dari dnf itu sendiri. Jika dilewati, baris kedua gagal dengan No such command: config-manager. Anda juga dapat mengunduh file .repo yang sama menggunakan curl secara manual ke /etc/yum.repos.d/, dan hasilnya identik. Menginstal Docker pada VPS menjelaskan langkah yang setara pada Debian. Pada Debian, langkah tersebut menulis source list dan signing key ke dua direktori yang berbeda.

Perbedaan tata letak menentukan lokasi yang perlu diperiksa ketika repository bermasalah. apt menyimpan definisi di /etc/apt/sources.list dan /etc/apt/sources.list.d/, sedangkan signing key disimpan secara terpisah di /etc/apt/keyrings/. dnf menyimpan semuanya di /etc/yum.repos.d/, dan key berupa URL di dalam file .repo, sehingga hanya ada satu file untuk dibaca dan satu file untuk dihapus. apt versi lebih baru mulai menggunakan bentuk yang sama melalui format deb822, dengan satu file .sources untuk setiap repository. Jika Anda pernah mengalami error duplicate sources deb822 pada Ubuntu, Anda sudah menemui bagian apt dari masalah ini.

EPEL adalah repositori yang diasumsikan oleh sebagian besar panduan

Extra Packages for Enterprise Linux (EPEL) adalah proyek Fedora yang membangun paket Fedora untuk RHEL dan turunannya. EPEL adalah hal yang paling mendekati PPA universal dalam ekosistem ini, dan sangat banyak tutorial mengasumsikan bahwa EPEL sudah diaktifkan. Jika dnf install menjawab No match for argument untuk paket yang dapat Anda lihat di situs web proyek itu sendiri, EPEL adalah hal pertama yang perlu diperiksa.

Pada Rocky Linux dan AlmaLinux:

sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release
sudo dnf makecache

CRB adalah CodeReady Builder, yaitu repositori pustaka yang disertakan dalam distribusi, tetapi tidak diaktifkan secara default. Sebagian besar paket EPEL bergantung pada sesuatu di dalamnya, sehingga mengaktifkan EPEL tanpa CRB tidak langsung menimbulkan kegagalan. Kegagalan baru terjadi saat instalasi, dengan dependensi yang tidak terselesaikan pada paket yang belum pernah Anda dengar. Aktifkan CRB terlebih dahulu agar jenis error tersebut tidak terjadi.

Pada RHEL sendiri, CRB tersedia melalui subscription Anda, bukan melalui config-manager. Karena itu, ikuti instruksi EPEL dari Red Hat untuk langkah tersebut. Fedora tidak memerlukan semua ini karena repositori utamanya sudah menyediakan paket yang di-backport oleh EPEL. Kebijakan EPEL adalah tidak pernah menggantikan paket yang dirilis RHEL, sehingga penambahan repositori ini tidak mengubah apa pun yang sudah terinstal di server Anda.

dnf history undo, hal yang tidak dapat dilakukan apt

dnf mencatat setiap transaksi dan dapat menyusun kebalikan dari transaksi tersebut.

sudo dnf history
sudo dnf history info 42
sudo dnf history undo 42

dnf history menampilkan daftar transaksi bernomor beserta baris perintah yang memulai masing-masing transaksi. undo menyusun transaksi kebalikan: paket yang diinstal oleh transaksi tersebut akan dihapus, sedangkan paket yang di-upgrade akan dikembalikan ke versi sebelumnya. Ini adalah fitur yang paling dirindukan pengguna apt setelah beralih.

Fitur ini memiliki batasan yang perlu dipahami sebelum Anda mengandalkannya. undo hanya dapat menginstal ulang versi paket yang masih tersedia di repositori yang diaktifkan. Jika build lama sudah dihapus dari mirror, proses undo gagal dengan error not-found. Rollback juga berhenti pada database paket. File konfigurasi yang ditulis ulang oleh proses upgrade tetap dalam keadaan tersebut, dan skema database yang dimigrasikan oleh service saat pertama kali dijalankan tetap sudah dimigrasikan. dnf mengembalikan file. dnf tidak mengembalikan data Anda.

apt tidak memiliki padanan fitur ini. /var/log/apt/history.log mencatat apa yang terjadi secara tepat, termasuk baris perintah, tetapi membaca log tidak berarti membatalkan perubahan. Pemulihan pada sisi apt harus dilakukan secara manual: jalankan apt list -a nginx untuk melihat versi yang masih tersedia di archive, lalu gunakan sudo apt install nginx=<exact version string> untuk menetapkan salah satunya, dan tambahkan sudo apt-mark hold nginx agar upgrade berikutnya tidak membatalkan perbaikan Anda.

Grup paket tidak memiliki padanan di apt

dnf dapat menginstal sekumpulan paket bernama dalam satu perintah.

dnf group list
dnf group info "Development Tools"
sudo dnf group install "Development Tools"

Panduan lama menulis dnf groupinstall "Development Tools". Alias tersebut berfungsi pada dnf 4 dan sudah dihapus pada dnf 5, sehingga dnf group install yang terdiri dari dua kata adalah satu-satunya penulisan yang berfungsi di semua versi. Gunakan bentuk tersebut dan tidak perlu memikirkannya lagi.

apt tidak memiliki grup. Konsep terdekat di Debian adalah metapackage, yaitu paket yang pada dasarnya kosong dan hanya berisi daftar dependensi, seperti build-essential. Perbedaan praktisnya terlihat saat menghapus: menghapus metapackage membuat dependensinya tetap terinstal sampai Anda menjalankan apt autoremove, sedangkan dnf group remove menghapus paket-paket dalam grup tersebut pada transaksi yang sama.

unattended-upgrades dan dnf-automatic

Kedua kelompok tersebut menyediakan cara untuk memasang update tanpa ada pengguna yang login. Selain tujuan tersebut, alat-alatnya tidak memiliki kesamaan.

Di Ubuntu dan Debian, paketnya adalah unattended-upgrades, yang dikonfigurasi dalam /etc/apt/apt.conf.d/50unattended-upgrades. Di dalamnya, Anda mencantumkan origin yang diizinkan untuk menjadi sumber pengambilan paket. Menyiapkan unattended upgrades di Ubuntu membahas file konfigurasi tersebut dan pertanyaan tentang reboot yang menyertainya.

Di Rocky Linux, AlmaLinux, dan Fedora, paketnya adalah dnf-automatic. Timer systemd yang Anda aktifkan menentukan perilakunya.

sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic-install.timer
systemctl list-timers 'dnf-automatic*'

dnf-automatic-install.timer mengunduh dan menerapkan update. dnf-automatic-download.timer mengunduh update lalu berhenti, sehingga Anda harus memasangnya sendiri. dnf-automatic-notifyonly.timer hanya melaporkan. Masing-masing unit tersebut mengesampingkan pengaturan apply_updates dalam /etc/dnf/automatic.conf. Karena itu, timer yang Anda pilih lebih menentukan daripada isi file konfigurasi. Pemasangan update tidak me-restart proses yang masih menjalankan kode lama. Karena itu, periksa update mana yang memerlukan reboot dan mana yang hanya memerlukan restart service sebelum menganggap server sudah diperbarui.

Untuk membatasi update pada perbaikan keamanan, tetapkan upgrade_type = security dalam /etc/dnf/automatic.conf. Filter tersebut bergantung pada repository yang menyediakan security errata. Karena itu, periksa terlebih dahulu dengan dnf updateinfo list security. Jika hasilnya kosong pada server yang masih memiliki update tertunda, berarti metadata tersebut tidak tersedia. Dalam kondisi itu, security tidak akan memasang apa pun.

Di Fedora, dnf 5 mengganti nama unit tersebut. Namanya adalah dnf5-automatic.timer, dan unit tersebut membaca /etc/dnf/automatic.conf yang sama.

Apakah yum masih merupakan perintah yang digunakan?

Ya, tetapi perintah tersebut tidak melakukan apa pun dengan sendirinya. Pada Rocky Linux, AlmaLinux, dan CentOS Stream, /usr/bin/yum adalah symbolic link yang mengarah ke dnf. Periksa sistem Anda:

ls -l /usr/bin/yum
dnf --version

Sintaks yum lama masih sering muncul dalam tutorial karena sebagian besar sintaks tersebut masih diteruskan langsung. yum install, yum remove, dan yum update semuanya berfungsi. Ada satu kebiasaan yang sebaiknya ditinggalkan: yum-config-manager masih tersedia sebagai binary tersendiri pada sistem dengan dnf 4, tetapi dnf config-manager adalah penulisan yang digunakan dokumentasi saat ini dan tetap berfungsi ketika sistem beralih ke dnf 5.

dnf 4 dan dnf 5: periksa sebelum menyalin perintah

dnf 5 adalah penulisan ulang, dan beberapa perintahnya menggunakan ejaan yang berbeda. Fedora 41 dan versi setelahnya menyertakan dnf 5 sebagai dnf. Distribusi turunan enterprise beralih lebih lambat, jadi jangan menebak berdasarkan nama distribusi. Jalankan dnf --version pada server Anda sendiri dan baca baris pertama, karena nomor tersebut menentukan sintaks di bawah ini yang harus Anda gunakan.

Contoh paling jelas berasal dari Docker, yang menyediakan perintah repository berbeda untuk masing-masing versi. Pada RHEL dan distribusi turunannya, dengan dnf 4:

sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

Pada Fedora, dengan dnf 5:

sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo

Vendor dan tujuannya sama, tetapi perintahnya berbeda. dnf 5 mengubah config-manager menjadi alat berbasis subperintah, sehingga flag lama --add-repo tidak diterima dan Anda mendapatkan error penggunaan, bukan repository. Perintah lain yang akan Anda temui adalah untuk mengaktifkan repository: dnf config-manager --set-enabled crb pada dnf 4 menjadi dnf config-manager setopt crb.enabled=1 pada dnf 5.

Pilihan yang benar-benar penting

Memilih distribusi server hanya berdasarkan package manager adalah pertimbangan yang keliru. dnf dan apt menjalankan fungsi yang sama, dan istilahnya dapat dipelajari dalam satu sore. Hal yang memengaruhi penggunaan Anda sepanjang tahun adalah model rilis di balik repositori. Fedora bergerak cepat, dan suatu rilis berhenti menerima pembaruan sekitar tiga belas bulan setelah dirilis. Model ini sesuai untuk workstation, tetapi menyulitkan pada server yang tidak ingin Anda bangun ulang. Rocky Linux dan AlmaLinux mengikuti RHEL, sehingga Anda mendapatkan periode dukungan sepuluh tahun dan versi paket yang sengaja dipertahankan agar tetap stabil. Ubuntu menyediakan kedua model tersebut, dan perbedaan antara Ubuntu LTS dan rilis interim pada server merupakan keputusan yang sama dalam ekosistem apt.

Per Agustus 2026, semua distribusi ini tersedia sebagai image VPS biasa. Pilih periode dukungan yang Anda inginkan, lalu pelajari sepuluh perintah di atas.

FAQ

Apa padanan dnf untuk apt update?

Tidak ada perintah yang harus Anda jalankan. dnf memeriksa usia metadata yang tersimpan dalam cache sebelum setiap transaksi dan mengunduh salinan terbaru jika metadata tersebut sudah kedaluwarsa. Dengan demikian, dnf install pada server yang tidak Anda sentuh selama sebulan tetap melihat paket terbaru. sudo dnf makecache tersedia dan memang memaksa pengunduhan tersebut, tetapi kegunaan sebenarnya adalah memindahkan jeda ke waktu yang Anda pilih, bukan ke saat instalasi berikutnya. Perintah untuk menjawab pertanyaan "apa yang menunggu saya" adalah dnf check-update. Perintah ini memetakan ke apt list --upgradable dan keluar dengan status 100 jika pembaruan tersedia.

Apakah ada padanan PPA di Rocky Linux atau Fedora?

Tidak ada. Personal package archive adalah layanan Launchpad, dan Launchpad merupakan infrastruktur Ubuntu. Karena itu, add-apt-repository tidak memiliki padanan untuk diterjemahkan. Padanan RPM-nya adalah file .repo di /etc/yum.repos.d/ yang berisi nama, baseurl, dan gpgkey. Vendor menerbitkan file tersebut untuk Anda. sudo dnf config-manager --add-repo <url> pada dnf 4 atau sudo dnf config-manager addrepo --from-repofile <url> pada dnf 5 mengunduhnya ke lokasi yang sesuai. Untuk perangkat lunak tambahan secara umum, jawabannya biasanya EPEL, yang Anda aktifkan dengan sudo dnf config-manager --set-enabled crb lalu sudo dnf install epel-release.

Dapatkah saya membatalkan upgrade dnf yang membuat server rusak?

Ya, dengan batasan tertentu. Jalankan sudo dnf history untuk menemukan nomor transaksi, sudo dnf history info <id> untuk melihat perubahan yang dilakukan secara tepat, lalu sudo dnf history undo <id>. Pembatalan gagal jika versi paket yang lebih lama tidak lagi tersedia di repositori yang diaktifkan, karena dnf tidak memiliki sumber untuk menginstalnya kembali. Pembatalan ini juga hanya membalikkan perubahan paket. File konfigurasi yang ditulis ulang oleh upgrade atau database yang dimigrasikan oleh service saat pertama kali dijalankan tetap dalam keadaan tersebut. apt sama sekali tidak memiliki perintah yang setara, hanya catatan di /var/log/apt/history.log.

Apakah yum masih berfungsi di Rocky Linux dan AlmaLinux?

Ya, karena /usr/bin/yum adalah symbolic link ke dnf. Konfirmasikan pada sistem Anda dengan ls -l /usr/bin/yum. Mengetik yum install httpd akan menjalankan dnf, sehingga sebagian besar tutorial lama masih berfungsi. Gunakan dnf dalam script dan dokumentasi baru karena nama yum hanya dipertahankan untuk kompatibilitas. Gunakan dnf config-manager sebagai pilihan utama, bukan binary yum-config-manager yang lebih lama.

Mengapa dnf remove ingin menghapus begitu banyak paket?

Karena dnf menghapus dependensi yang tidak diperlukan oleh komponen lain sebagai bagian dari transaksi yang sama, sedangkan apt remove membiarkannya tetap terinstal sampai Anda menjalankan apt autoremove secara terpisah. Akibatnya, penghapusan yang terlihat kecil di Ubuntu dapat menampilkan daftar panjang di Rocky Linux. Daftar tersebut biasanya benar, tetapi bacalah sebelum mengonfirmasi. Jika ada paket dalam daftar yang ingin Anda pertahankan, instal paket itu secara eksplisit terlebih dahulu agar dnf mencatatnya sebagai paket yang memang diinginkan.