GNU/Linux >> Linux の 問題 >  >> Cent OS

コマンドラインでのDNFを使用したCentOS8パッケージ管理

DNFはDandifiedの略ですYUMはRPMベースのLinuxディストリビューション用のソフトウェアパッケージマネージャーです。これは、Fedora / RHEL / CentOSオペレーティングシステムでパッケージをインストール、更新、および削除するために使用されます。これは、Fedora 22、CentOS8、およびRHEL8のデフォルトのパッケージマネージャーです。 DNFはYUMの次世代バージョンであり、RPMベースのシステムでYUMを置き換えることを目的としています。 DNFは強力で、yumにあるよりも堅牢な機能を備えています。 DNFを使用すると、パッケージのグループを簡単に維持でき、依存関係の問題を自動的に解決できます。

このチュートリアルでは、CentOS8でDNFを使用してパッケージを管理する方法を説明します。

要件
  • CentOS8を実行しているサーバー。
  • サーバーにルートパスワードが設定されています。
DNFをインストールする

デフォルトでは、DNFはCentOS8オペレーティングシステムにプリインストールされています。インストールされていない場合は、次のコマンドを実行してインストールできます。

yum install dnf

次に、次のコマンドを使用してDNFのバージョンを確認できます。

dnf --version

次の出力が表示されます。

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
インストール済みおよび利用可能なパッケージのリスト

次のコマンドを使用して、システムにインストールされているすべてのパッケージを一覧表示できます。

dnf list installed

インストールされているすべてのパッケージが次の出力に表示されます。

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 

次のコマンドを使用して、インストール済みで使用可能なすべてのパッケージを一覧表示することもできます。

dnf list

次の出力が表示されます。

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

次のコマンドを使用して、使用可能なパッケージのみを一覧表示することもできます。

dnf list available

次の出力が表示されます。

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                  
パッケージの検索とインストール

次のコマンドを使用して、インストールするパッケージを検索できます。

dnf search httpd

次の出力が表示されます。

========================================================= 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

これで、次のコマンドを使用してhttpdパッケージをインストールできます。

dnf install httpd

パッケージhttpdを再インストールするには、次のコマンドを実行します。

dnf reinstall httpd

場合によっては、インストールせずにパッケージをダウンロードする必要があります。次のコマンドを使用して、特定のパッケージをダウンロードできます。

dnf download httpd

次のコマンドを使用して、パッケージhttpdの詳細を表示することもできます。

dnf info httpd

次の出力が得られるはずです:

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.
システムパッケージの更新

まず、次のコマンドを使用して、システム上のすべてのシステムパッケージの更新を確認できます。

dnf check-update

次の出力が得られるはずです:

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     

これで、次のコマンドを使用して、システムにインストールされているすべてのパッケージを更新できます。

dnf update

特定のパッケージを更新するには、次のコマンドを実行します。

dnf update httpd
グループパッケージの一覧表示とインストール

次のコマンドを使用して、すべてのグループパッケージを一覧表示できます。

dnf grouplist

次のリストが表示されます:

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

次に、次のコマンドを使用して特定のグループパッケージをインストールします。

dnf groupinstall 'System Tools'

次のコマンドを使用してグループパッケージを更新することもできます。

dnf groupupdate 'System Tools'
リポジトリのリスト

次のコマンドを使用して、すべてのリポジトリを一覧表示できます。

dnf repolist all

次の出力が表示されます。

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

ここで、次のコマンドを使用して、システムで有効になっているリポジトリのみを一覧表示します。

dnf repolist

次の出力が表示されます。

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
パッケージを削除

次のコマンドを使用して、システムから不要なパッケージを削除できます。

dnf remove httpd

次に、次のコマンドを実行して、パッケージhttpdとともにインストールされた不要な依存関係を削除します。

dnf autoremove

次のコマンドを使用して、キャッシュされたすべてのパッケージをクリーンアップできます。

dnf clean all

次のコマンドを使用してグループパッケージを削除することもできます。

dnf groupremove 'System Tools'
結論

上記のチュートリアルでは、CentOS 8でDNFコマンドを使用してパッケージを管理する方法を学びました。ご不明な点がございましたら、お気軽にお問い合わせください。


Cent OS
  1. Linuxコマンドラインでのパイプの操作

  2. コマンドラインでCentOS8でファイルを検索する方法

  3. screenieを使用したコマンドラインでのマルチタスク

  1. コマンドラインでsortを使用してソートする

  2. sedを使用してコマンドラインでテキストを操作する

  3. コマンドラインでJavaパッケージを作る

  1. コマンドがCentOSで属するパッケージを検索します

  2. CentOS / RHEL 7 :カーネル コマンド ラインを変更する方法

  3. 「lsb_release:command not found」 – CentOS/RHEL で修正