DNF (Dandified YUM) adalah software package manager untuk distribusi Linux berbasis RPM yang digunakan untuk menginstal, memperbarui dan menghapus paket dalam sistem operasi Fedora /CentOS/RHEL.
DNF adalah package manager default Fedora 22, CentOS 8 dan RHEL8. DNF adalah versi YUM generasi berikutnya dan dimaksudkan sebagai pengganti YUM dalam sistem berbasis RPM.
DNF memiliki fitur lebih kuat daripada yum, hal ini karena DNF memudahkan pengguna untuk memelihara packet, atau kelompok packet dan mampu menyelesaikan masalah dependency secara otomatis.
Dalam tutorial ini, kita akan belajar cara mengelola packet dengan perintah DNF di CentOS 8.
Persyaratan
- Server yang menjalankan CentOS 8.
- Masuk sebagai root atauĀ userĀ dengan hak sudo.
Cara Install DNF
Secara default, DNF sudah diinstal sebelumnya dalam sistem operasi CentOS 8. Jika tidak diinstal, Anda dapat menginstalnya dengan menjalankan perintah berikut:
yum install dnf
Selanjutnya, Anda dapat memeriksa versi DNF dengan perintah berikut:
dnf --version
Anda akan melihat output berikut:
4.0.9 Installed: dnf-0:4.0.9.2-5.el8.noarch at Monday 14 October 2019 05:27:09 AM UTC Built : CentOS Buildsys <[email protected]> at Monday 13 May 2019 07:35:13 PM UTC Installed: rpm-0:4.14.2-9.el8.x86_64 at Monday 14 October 2019 05:20:17 AM UTC Built : CentOS Buildsys <[email protected]> at Saturday 11 May 2019 02:04:19 AM UTC
Lihat Paket yang Terinstall di CentOS 8
Anda dapat melihat semua paket yang diinstal pada sistem CentOS 8 dengan perintah berikut:
dnf list installed
Anda akan melihat semua paket yang diinstal di output berikut:
Installed Packages NetworkManager.x86_64 1:1.14.0-14.el8 @anaconda NetworkManager-config-server.noarch 1:1.14.0-14.el8 @anaconda NetworkManager-libnm.x86_64 1:1.14.0-14.el8 @anaconda NetworkManager-team.x86_64 1:1.14.0-14.el8 @anaconda NetworkManager-tui.x86_64 1:1.14.0-14.el8 @anaconda PackageKit.x86_64 1.1.12-2.el8 @AppStream PackageKit-glib.x86_64 1.1.12-2.el8 @AppStream acl.x86_64 2.2.53-1.el8 @anaconda adcli.x86_64 0.8.2-2.el8 @anaconda at.x86_64 3.1.20-11.el8 @anaconda attr.x86_64 2.4.48-3.el8 @anaconda audit.x86_64 3.0-0.10.20180831git0047a6c.el8 @anaconda audit-libs.x86_64 3.0-0.10.20180831git0047a6c.el8 @anaconda authselect.x86_64 1.0-13.el8 @anaconda authselect-compat.x86_64 1.0-13.el8 @AppStream authselect-libs.x86_64 1.0-13.el8 @anaconda avahi-libs.x86_64 0.7-19.el8 @anaconda basesystem.noarch 11-5.el8 @anaconda
Untuk melihat daftar semua paket yang diinstal dan tersedia dengan perintah berikut:
dnf list
Anda akan melihat output berikut:
Last metadata expiration check: 4 days, 22:47:10 ago on Monday 14 October 2019 02:14:39 AM UTC. Installed Packages NetworkManager.x86_64 1:1.14.0-14.el8 @anaconda NetworkManager-config-server.noarch 1:1.14.0-14.el8 @anaconda NetworkManager-libnm.x86_64 1:1.14.0-14.el8 @anaconda NetworkManager-team.x86_64 1:1.14.0-14.el8 @anaconda NetworkManager-tui.x86_64 1:1.14.0-14.el8 @anaconda PackageKit.x86_64 1.1.12-2.el8 @AppStream PackageKit-glib.x86_64 1.1.12-2.el8 @AppStream acl.x86_64 2.2.53-1.el8 @anaconda adcli.x86_64 0.8.2-2.el8 @anaconda at.x86_64 3.1.20-11.el8 @anaconda attr.x86_64 2.4.48-3.el8 @anaconda audit.x86_64 3.0-0.10.20180831git0047a6c.el8 @anaconda audit-libs.x86_64 3.0-0.10.20180831git0047a6c.el8 @anaconda authselect.x86_64 1.0-13.el8 @anaconda authselect-compat.x86_64 1.0-13.el8 @AppStream authselect-libs.x86_64 1.0-13.el8 @anaconda avahi-libs.x86_64 0.7-19.el8 @anaconda : :
Anda juga dapat melihat daftar hanya paket yang tersedia dengan perintah berikut:
dnf list available
Anda akan melihat output berikut:
Last metadata expiration check: 4 days, 22:48:21 ago on Monday 14 October 2019 02:14:39 AM UTC. Available Packages BackupPC.src 4.3.1-2.el8 epel-source BackupPC.x86_64 4.3.1-2.el8 epel BackupPC-XS.src 0.59-3.el8 epel-source BackupPC-XS.x86_64 0.59-3.el8 epel BackupPC-XS-debuginfo.x86_64 0.59-3.el8 epel-debuginfo BackupPC-XS-debugsource.x86_64 0.59-3.el8 epel-debuginfo BackupPC-debuginfo.x86_64 4.3.1-2.el8 epel-debuginfo BackupPC-debugsource.x86_64 4.3.1-2.el8 epel-debuginfo CGSI-gSOAP.src 1.3.11-7.el8 epel-source CGSI-gSOAP.x86_64 1.3.11-7.el8 epel CGSI-gSOAP-debuginfo.x86_64 1.3.11-7.el8 epel-debuginfo CGSI-gSOAP-debugsource.x86_64 1.3.11-7.el8 epel-debuginfo CGSI-gSOAP-devel.x86_64 1.3.11-7.el8 epel
Mencari dan Install Paket di CentOS 8
Anda dapat mencari paket apa pun yang ingin Anda instal dengan perintah berikut:
dnf search httpd
Anda akan melihat output berikut:
========================================================= Name Exactly Matched: httpd ========================================================= httpd.x86_64 : Apache HTTP Server ======================================================== Name & Summary Matched: httpd ======================================================== centos-logos-httpd.noarch : CentOS-related icons and pictures used by httpd keycloak-httpd-client-install.noarch : Tools to configure Apache HTTPD as Keycloak client python3-keycloak-httpd-client-install.noarch : Tools to configure Apache HTTPD as Keycloak client ============================================================= Name Matched: httpd ============================================================= httpd-devel.x86_64 : Development interfaces for the Apache HTTP server httpd-tools.x86_64 : Tools for use with the Apache HTTP Server httpd-manual.noarch : Documentation for the Apache HTTP server libmicrohttpd.i686 : Lightweight library for embedding a webserver in applications libmicrohttpd.x86_64 : Lightweight library for embedding a webserver in applications httpd-filesystem.noarch : The basic directory layout for the Apache HTTP server =========================================================== Summary Matched: httpd ============================================================ mod_dav_svn.x86_64 : Apache httpd module for Subversion server mod_auth_mellon.x86_64 : A SAML 2.0 authentication module for the Apache Httpd Server
Anda sekarang dapat menginstal paket httpd dengan perintah berikut:
dnf install httpd
Untuk reinstall paket httpd misalnya, jalankan perintah berikut:
dnf reinstall httpd
Anda juga dapat mengunduh paket httpd tanpa harus menginstalnya dengan perintah berikut:
dnf download httpd
Anda juga dapat melihat detail paket httpd dengan perintah berikut:
dnf info httpd
Anda akan mendapatkan output berikut:
Last metadata expiration check: 0:01:02 ago on Saturday 19 October 2019 01:07:23 AM UTC. Available Packages Name : httpd Version : 2.4.37 Release : 11.module_el8.0.0+172+85fc1f40 Arch : x86_64 Size : 1.7 M Source : httpd-2.4.37-11.module_el8.0.0+172+85fc1f40.src.rpm Repo : AppStream Summary : Apache HTTP Server URL : https://httpd.apache.org/ License : ASL 2.0 Description : The Apache HTTP Server is a powerful, efficient, and extensible : web server.
Update Packet di Sistem dengan Perintah DNF
Anda dapat memeriksa update untuk semua paket di sistem dengan perintah berikut:
dnf check-update
Anda akan mendapatkan output berikut:
Last metadata expiration check: 0:00:10 ago on Saturday 19 October 2019 01:10:16 AM UTC. bind-export-libs.x86_64 32:9.11.4-17.P2.el8_0.1 BaseOS bind-libs.x86_64 32:9.11.4-17.P2.el8_0.1 AppStream bind-libs-lite.x86_64 32:9.11.4-17.P2.el8_0.1 AppStream bind-license.noarch 32:9.11.4-17.P2.el8_0.1 AppStream bind-utils.x86_64 32:9.11.4-17.P2.el8_0.1 AppStream bpftool.x86_64 4.18.0-80.7.1.el8_0 BaseOS cockpit.x86_64 185.1-1.el8_0 BaseOS cockpit-bridge.x86_64 185.1-1.el8_0 BaseOS cockpit-system.noarch 185.1-1.el8_0 BaseOS cockpit-ws.x86_64 185.1-1.el8_0 BaseOS epel-release.noarch 8-6.el8 epel epel-release.src 8-6.el8 epel-source iptables.x86_64 1.8.2-9.el8_0.1 BaseOS iptables-ebtables.x86_64 1.8.2-9.el8_0.1 BaseOS iptables-libs.x86_64 1.8.2-9.el8_0.1 BaseOS kernel.x86_64 4.18.0-80.7.1.el8_0 BaseOS kernel-core.x86_64 4.18.0-80.7.1.el8_0 BaseOS kernel-modules.x86_64 4.18.0-80.7.1.el8_0 BaseOS kernel-tools.x86_64 4.18.0-80.7.1.el8_0 BaseOS kernel-tools-libs.x86_64 4.18.0-80.7.1.el8_0 BaseOS
Anda sekarang dapat memperbarui semua paket yang diinstal di sistem dengan perintah berikut:
dnf update
Untuk memperbarui paket tertentu, jalankan perintah berikut:
dnf update httpd
List dan Install Group Packages
Anda dapat melihat semua daftar paket grup dengan perintah berikut:
dnf grouplist
Anda akan mendapatkan daftar berikut:
Last metadata expiration check: 0:03:42 ago on Saturday 19 October 2019 01:10:16 AM UTC. Available Environment Groups: Server with GUI Minimal Install Workstation KDE Plasma Workspaces Virtualization Host Custom Operating System Installed Environment Groups: Server Installed Groups: Container Management Headless Management Available Groups: .NET Core Development RPM Development Tools Smart Card Support Development Tools Graphical Administration Tools Legacy UNIX Compatibility Network Servers Scientific Support Security Tools System Tools Fedora Packager
Sekarang, instal paket Grup spesifik dengan perintah berikut:
dnf groupinstall 'System Tools'
Anda juga dapat update paket Grup dengan perintah berikut:
dnf groupupdate 'System Tools'
Daftar Repositori
Anda dapat membuat daftar semua repositori dengan perintah berikut:
dnf repolist all
Anda akan melihat output berikut:
Last metadata expiration check: 0:10:39 ago on Saturday 19 October 2019 01:10:16 AM UTC. repo id repo name status AppStream CentOS-8 - AppStream enabled: 4,928 AppStream-source CentOS-8 - AppStream Sources disabled BaseOS CentOS-8 - Base enabled: 2,713 BaseOS-source CentOS-8 - BaseOS Sources disabled PowerTools CentOS-8 - PowerTools disabled base-debuginfo CentOS-8 - Debuginfo disabled c8-media-AppStream CentOS-AppStream-8 - Media disabled c8-media-BaseOS CentOS-BaseOS-8 - Media disabled centosplus CentOS-8 - Plus disabled centosplus-source CentOS-8 - Plus Sources disabled cr CentOS-8 - cr disabled *epel Extra Packages for Enterprise Linux 8 - x86_64 enabled: 1,816 *epel-debuginfo Extra Packages for Enterprise Linux 8 - x86_64 - Debug enabled: 1,187 epel-playground Extra Packages for Enterprise Linux 8 - Playground - x86_64 disabled epel-playground-debuginfo Extra Packages for Enterprise Linux 8 - Playground - x86_64 - Debug disabled epel-playground-source Extra Packages for Enterprise Linux 8 - Playground - x86_64 - Source disabled *epel-source Extra Packages for Enterprise Linux 8 - x86_64 - Source enabled: 792 *epel-testing Extra Packages for Enterprise Linux 8 - Testing - x86_64 enabled: 538 *epel-testing-debuginfo Extra Packages for Enterprise Linux 8 - Testing - x86_64 - Debug enabled: 347 *epel-testing-source Extra Packages for Enterprise Linux 8 - Testing - x86_64 - Source enabled: 216 extras CentOS-8 - Extras enabled: 3 extras-source CentOS-8 - Extras Sources disabled fasttrack CentOS-8 - fasttrack disabled
Sekarang, buat list hanya repositori yang diaktifkan pada sistem dengan perintah berikut:
dnf repolist
Anda akan melihat output berikut:
Last metadata expiration check: 0:12:14 ago on Saturday 19 October 2019 01:10:16 AM UTC. repo id repo name status AppStream CentOS-8 - AppStream 4,928 BaseOS CentOS-8 - Base 2,713 *epel Extra Packages for Enterprise Linux 8 - x86_64 1,816 *epel-debuginfo Extra Packages for Enterprise Linux 8 - x86_64 - Debug 1,187 *epel-source Extra Packages for Enterprise Linux 8 - x86_64 - Source 792 *epel-testing Extra Packages for Enterprise Linux 8 - Testing - x86_64 538 *epel-testing-debuginfo Extra Packages for Enterprise Linux 8 - Testing - x86_64 - Debug 347 *epel-testing-source Extra Packages for Enterprise Linux 8 - Testing - x86_64 - Source 216 extras CentOS-8 - Extras 3
Hapus Paket dengan perintah dnf
Anda dapat menghapus paket yang tidak diinginkan dari sistem dengan perintah berikut:
dnf remove httpd
Selanjutnya, hapus dependensi yang tidak diinginkan yang diinstal dengan paket httpd dengan menjalankan perintah berikut:
dnf autoremove
Untuk membersihkan semua paket yang di-cache agar tidak memenuhi ruang di hard disk, jalankan dengan perintah berikut:
dnf clean all
Anda juga dapat menghapus paket secara grup dengan perintah berikut:
dnf groupremove 'System Tools'
Perintah di atas akan menghapus semua packet yang berada di group System Tools
Kesimpulan
Dalam tutorial di atas, kita belajar cara mengelola paket dengan perintah DNF di CentOS 8.