第6章 ソフトウェア管理

6.1. YUM スタックへの主な変更

Red Hat Enterprise Linux (RHEL) 8 へのソフトウェアのインストールは、新しいバージョンの YUM ツールで行われます。 これは、DNF テクノロジー (YUM v4) に基づいています。

6.1.1. YUM v3 と比較した YUM v4 の利点

YUM v4 には、RHEL 7 で使用されていた、以前のバージョンの YUM v3 に対して、以下の利点が追加されました。

  • パフォーマンスの向上
  • モジューラーコンテンツへの対応
  • ツーリングと統合するために適切に設計され、安定した API

新しい YUM v4 ツールと、以前のバージョンである RHEL 7 の YUM v3 ツールの相違点の詳細は、「Changes in DNF CLI compared to YUM」 を参照してください。

6.1.2. YUM v4 を使用する方法

ソフトウェアのインストール

コマンドラインから使用したり、設定ファイルを編集または作成する場合、YUM v4YUM v3 と互換性があります。

ソフトウェアをインストールするには、RHEL 7 と同じ yum コマンドとオプションを使用できます。

詳細は「yum を使用したソフトウェアのインストール」を参照してください。

プラグインの可用性

以前の YUM v3 プラグインは、新しいバージョンの YUM v4 と互換性がありません。選択した yum プラグインおよびユーティリティーは、新しい DNF バックエンドに移植されており、RHEL 7 と同じ名前でインストールできます。このパッケージは互換性を持ったシンボリックリンクを提供するため、バイナリー、設定ファイル、ディレクトリーは通常の場所で確認できます。

プラグインが含まれなくなったり、置き換えがユーザビリティーを満たさなくなった場合は、「カスタマーポータルでサポートケースを作成および管理する」に記載されているように、Red Hat サポートにご連絡いただき、機能強化を要求してください。

詳細は「Plugin Interface」を参照してください。

API の可用性

YUM v3 が提供する以前の Python API は利用できなくなりました。YUM v4 (DNF Python API) が提供する安定し、完全に対応する新しい API に、使用しているプラグインおよびスクリプトを移行することが推奨されます。新しい DNF Python API のドキュメントは、「DNF API Reference」により提供されます。

Libdnf および Hawkey API (C および Python の両方) は不安定であると見なされているため、RHEL 8 のライフサイクル期間中に変更する可能性があります。

6.1.3. YUM 設定ファイルオプションの可用性

本セクションは、RHEL 7 から RHEL 8 の間に、/etc/yum/yum.conf ファイルおよび /etc/yum/repos.d/*.repo ファイルの設定ファイルオプションに追加された変更点を簡単に紹介します。

表6.1 /etc/yum/yum.conf ファイルの設定ファイルオプションの変更点

RHEL 7 オプションRHEL 8 ステータス

alwaysprompt

削除

assumeno

利用可能

assumeyes

利用可能

autocheck_running_kernel

利用可能

autosavets

削除

bandwidth

利用可能

bugtracker_url

利用可能

cachedir

利用可能

check_config_file_age

利用可能

clean_requirements_on_remove

利用可能

color

利用可能

color_list_available_downgrade

利用可能

color_list_available_install

利用可能

color_list_available_reinstall

利用可能

color_list_available_running_kernel

削除

color_list_available_upgrade

利用可能

color_list_installed_extra

利用可能

color_list_installed_newer

利用可能

color_list_installed_older

利用可能

color_list_installed_reinstall

利用可能

color_list_installed_running_kernel

削除

color_search_match

利用可能

color_update_installed

利用可能

color_update_local

利用可能

color_update_remote

利用可能

commands

削除

config_file_path

利用可能

debuglevel

利用可能

deltarpm

利用可能

deltarpm_metadata_percentage

削除

deltarpm_percentage

利用可能

depsolve_loop_limit

削除

disable_excludes

利用可能

diskspacecheck

利用可能

distroverpkg

削除

enable_group_conditionals

削除

errorlevel

利用可能

exactarchlist

削除

exclude

利用可能

exit_on_lock

利用可能

fssnap_abort_on_errors

削除

fssnap_automatic_keep

削除

fssnap_automatic_post

削除

fssnap_automatic_pre

削除

fssnap_devices

削除

fssnap_percentage

削除

ftp_disable_epsv

削除

gpgcheck

利用可能

group_command

削除

group_package_types

利用可能

groupremove_leaf_only

削除

history_list_view

利用可能

history_record

利用可能

history_record_packages

利用可能

http_caching

削除

installonly_limit

利用可能

installonlypkgs

利用可能

installrootkeep

削除

ip_resolve

利用可能

keepalive

削除

keepcache

利用可能

kernelpkgnames

削除

loadts_ignoremissing

削除

loadts_ignorenewrpm

削除

loadts_ignorerpm

削除

localpkg_gpgcheck

利用可能

logfile

削除

max_connections

削除

mddownloadpolicy

削除

mdpolicy

削除

metadata_expire

利用可能

metadata_expire_filter

削除

minrate

利用可能

mirrorlist_expire

削除

multilib_policy

利用可能

obsoletes

利用可能

override_install_langs

削除

overwrite_groups

削除

password

利用可能

payload_gpgcheck

削除

persistdir

利用可能

pluginconfpath

利用可能

pluginpath

利用可能

plugins

利用可能

protected_multilib

削除

protected_packages

利用可能

proxy

利用可能

proxy_password

利用可能

proxy_username

利用可能

query_install_excludes

削除

recent

利用可能

recheck_installed_requires

削除

remove_leaf_only

削除

repo_gpgcheck

利用可能

repopkgsremove_leaf_only

削除

reposdir

利用可能

reset_nice

利用可能

retries

利用可能

rpmverbosity

利用可能

shell_exit_status

削除

showdupesfromrepos

利用可能

skip_broken

利用可能

skip_missing_names_on_install

削除

skip_missing_names_on_update

削除

ssl_check_cert_permissions

削除

sslcacert

利用可能

sslclientcert

利用可能

sslclientkey

利用可能

sslverify

利用可能

syslog_device

削除

syslog_facility

削除

syslog_ident

削除

throttle

利用可能

timeout

利用可能

tolerant

削除

tsflags

利用可能

ui_repoid_vars

削除

upgrade_group_objects_upgrade

利用可能

upgrade_requirements_on_install

削除

usercache

削除

username

利用可能

usr_w_check

削除

表6.2 /etc/yum/repos.d/*.repo ファイルの設定ファイルオプションの変更点

RHEL 7 オプションRHEL 8 ステータス

async

削除

bandwidth

利用可能

baseurl

利用可能

compare_providers_priority

削除

cost

利用可能

deltarpm_metadata_percentage

削除

deltarpm_percentage

利用可能

enabled

利用可能

enablegroups

利用可能

exclude

利用可能

failovermethod

削除

ftp_disable_epsv

削除

gpgcakey

削除

gpgcheck

利用可能

gpgkey

利用可能

http_caching

削除

includepkgs

利用可能

ip_resolve

利用可能

keepalive

削除

metadata_expire

利用可能

metadata_expire_filter

削除

metalink

利用可能

mirrorlist

利用可能

mirrorlist_expire

削除

name

利用可能

password

利用可能

proxy

利用可能

proxy_password

利用可能

proxy_username

利用可能

repo_gpgcheck

利用可能

repositoryid

削除

retries

利用可能

skip_if_unavailable

利用可能

ssl_check_cert_permissions

削除

sslcacert

利用可能

sslclientcert

利用可能

sslclientkey

利用可能

sslverify

利用可能

throttle

利用可能

timeout

利用可能

ui_repoid_vars

削除

username

利用可能

6.1.4. YUM v4 機能の動作が異なる

YUM v3 機能の一部の挙動が、YUM v4 と異なる可能性があります。この変更がワークフローに影響を及ぼす場合は、「カスタマーポータルでサポートケースを作成および管理する」に従って、Red Hat サポートケースを作成してください。

6.1.4.1. yum list がエントリーを重複して表示

yum list コマンドを使用してパッケージの一覧を表示すると、エントリーが重複して表示される可能性があります。エントリーは、リポジトリー単位で表示されるため、バッケージ名とバージョンが同じものが複数のリポジトリーに存在すると、そのリポジトリーがすべて表示されます。

これは意図的であり、必要に応じて、このようなパッケージを区別できます。

たとえば、repo1 および repo2 で package-1.2 が利用可能な場合、YUM v4 は両方のインスタンスを出力します。

[…​]
package-1.2    repo1
package-1.2    repo2
[…​]

一方、以前のバージョンの YUM v3 コマンドではこのような重複は除外されるため、インスタンスは 1 つしか表示されません。

[…​]
package-1.2    repo1
[…​]