GNU/Linux >> Belajar Linux >  >> Cent OS

Manajemen Paket CentOS 8 dengan DNF di Baris Perintah

DNF adalah singkatan dari Dandified YUM adalah pengelola paket perangkat lunak untuk distribusi Linux berbasis RPM. Ini digunakan untuk menginstal, memperbarui, dan menghapus paket di sistem operasi Fedora/RHEL/CentOS. Ini adalah manajer paket default Fedora 22, CentOS8 dan RHEL8. DNF adalah versi generasi berikutnya dari YUM dan dimaksudkan untuk menjadi pengganti YUM dalam sistem berbasis RPM. DNF kuat dan memiliki fitur yang kuat daripada yang akan Anda temukan di yum. DNF memudahkan pemeliharaan grup paket dan mampu menyelesaikan masalah ketergantungan secara otomatis.

Dalam tutorial ini, kami akan menjelaskan cara mengelola paket dengan DNF di CentOS 8.

Persyaratan

  • Server yang menjalankan CentOS 8.
  • Kata sandi root disiapkan untuk server Anda.

Instal DNF

Secara default, DNF sudah diinstal sebelumnya di sistem operasi CentOS 8. Jika belum terinstal, 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 Friday 04 October 2019 05:27:09 AM GMT
  Built    : CentOS Buildsys <[email protected]> at Monday 13 May 2019 07:35:13 PM GMT

  Installed: rpm-0:4.14.2-9.el8.x86_64 at Friday 04 October 2019 05:20:17 AM GMT
  Built    : CentOS Buildsys <[email protected]> at Saturday 11 May 2019 02:04:19 AM GMT

Daftar Paket yang Terinstal dan Tersedia

Anda dapat membuat daftar semua paket yang diinstal pada sistem Anda dengan perintah berikut:

dnf list installed

Anda akan melihat semua paket yang diinstal pada 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 

Anda juga dapat membuat 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 Friday 04 October 2019 02:14:39 AM EDT.
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 membuat 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 Friday 04 October 2019 02:14:39 AM EDT.
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                  

Cari dan Instal Paket

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 menginstal ulang paket httpd, jalankan perintah berikut:

dnf reinstall httpd

Dalam beberapa kasus, Anda perlu mengunduh paket tanpa menginstalnya. Anda dapat mengunduh paket tertentu 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 Wednesday 09 October 2019 01:07:23 AM EDT.
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.

Perbarui Paket Sistem

Pertama, Anda dapat memeriksa pembaruan untuk semua paket sistem di sistem Anda dengan perintah berikut:

dnf check-update

Anda akan mendapatkan output berikut:

Last metadata expiration check: 0:00:10 ago on Wednesday 09 October 2019 01:10:16 AM EDT.
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     

Sekarang Anda dapat memperbarui semua paket yang terinstal di sistem Anda dengan perintah berikut:

dnf update

Untuk memperbarui paket tertentu, jalankan perintah berikut:

dnf update httpd

Mendaftar dan Menginstal Paket Grup

Anda dapat membuat daftar semua paket grup dengan perintah berikut:

dnf grouplist

Anda harus mendapatkan daftar berikut:

Last metadata expiration check: 0:03:42 ago on Wednesday 09 October 2019 01:10:16 AM EDT.
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 tertentu dengan perintah berikut:

dnf groupinstall 'System Tools'

Anda juga dapat memperbarui paket Grup dengan perintah berikut:

dnf groupupdate 'System Tools'

Mendaftar 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 Wednesday 09 October 2019 01:10:16 AM EDT.
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, daftarkan 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 Wednesday 09 October 2019 01:10:16 AM EDT.
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

Anda dapat menghapus paket yang tidak diinginkan dari sistem Anda dengan perintah berikut:

dnf remove httpd

Selanjutnya, hapus dependensi yang tidak diinginkan yang diinstal dengan paket httpd dengan menjalankan perintah berikut:

dnf autoremove

Anda dapat membersihkan semua paket yang di-cache dengan perintah berikut:

dnf clean all

Anda juga dapat menghapus paket grup dengan perintah berikut:

dnf groupremove 'System Tools'

Kesimpulan

Dalam tutorial di atas, kita mempelajari cara mengelola paket dengan perintah DNF di CentOS 8. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Cent OS
  1. Diurutkan dengan sort di baris perintah

  2. Multi-Tugas di baris perintah dengan screenie

  3. CentOS / RHEL 7 :Cara memodifikasi baris perintah kernel

  1. Bekerja dengan pipa di baris perintah Linux

  2. “lsb_release:command not found” – Perbaiki di CentOS/RHEL

  3. membuat paket java di baris perintah

  1. Memanipulasi teks pada baris perintah dengan sed

  2. Cara Menemukan File di CentOS 8 di Command Line

  3. Temukan paket mana yang menjadi milik perintah di CentOS