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

CentOS/RHEL 8 でパッケージ モジュール ストリームを管理するための初心者向けガイド

アプリケーション ストリームの概要

CentOS/RHEL 8.0 では、アプリケーション ストリームの概念が導入されています。ディストリビューションに同梱されているユーザー空間コンポーネントの複数のバージョンが同時に配信されるようになりました。これらは、コア オペレーティング システム パッケージよりも頻繁に更新される可能性があります。これにより、プラットフォームや特定の展開の基盤となる安定性に影響を与えることなく、Red Hat Enterprise Linux をより柔軟にカスタマイズできます。

従来、アプリケーションのソフトウェア パッケージとその関連パッケージの代替バージョンを管理することは、異なるバージョンごとに異なるリポジトリを維持することを意味していました。アプリケーションの最新バージョンが必要な開発者と、アプリケーションの最も安定したバージョンが必要な管理者にとって、これは管理が面倒な状況を生み出しました。このプロセスは、Red Hat Enterprise Linux 8 ではモジュラリティと呼ばれる新しいテクノロジーを使用して簡素化されています。モジュール性により、単一のリポジトリでアプリケーションのパッケージとその依存関係の複数のバージョンをホストできます。

CentOS/RHEL 8 のコンテンツは、BaseOS と Application Stream (AppStream) の 2 つの主要なソフトウェア リポジトリを通じて配布されます。

BaseOS

BaseOS リポジトリは、Red Hat Enterprise Linux のコア オペレーティング システム コンテンツを RPM パッケージとして提供します。 BaseOS コンポーネントのライフサイクルは、以前の CentOS/RHEL リリースのコンテンツと同じです。

アプリケーション ストリーム

Application Stream リポジトリは、モジュールと従来のパッケージの両方として、さまざまなライフ サイクルを持つコンテンツを提供します。 Application Stream には、システムの必要な部分だけでなく、以前は Red Hat Software Collections やその他の製品やプログラムの一部として利用できた幅広いアプリケーションが含まれています。

注意 :BaseOS と AppStream の両方が、CentOS/RHEL 8 システムに必要な部分です。

Application Stream リポジトリには、モジュールと従来の RPM パッケージの 2 種類のコンテンツが含まれています。モジュールは、一緒に属する一連の RPM パッケージを記述します。モジュールには、複数のバージョンのアプリケーションをインストールできるようにするために、複数のストリームを含めることができます。モジュール ストリームを有効にすると、システムはそのモジュール ストリーム内の RPM パッケージにアクセスできるようになります。

モジュール

モジュールは、一緒に属する一貫したセットである RPM パッケージのセットです。通常、これはソフトウェア アプリケーションまたはプログラミング言語の特定のバージョンを中心に編成されます。一般的なモジュールには、アプリケーションを含むパッケージ、アプリケーション固有の依存関係ライブラリを含むパッケージ、アプリケーションのドキュメントを含むパッケージ、およびヘルパー ユーティリティを含むパッケージを含めることができます。

モジュール ストリーム

各モジュールには、コンテンツの異なるバージョンを保持する 1 つ以上のモジュール ストリームを含めることができます。各ストリームは個別に更新を受け取ります。モジュール ストリームは、Application Stream 物理リポジトリ内の仮想リポジトリと考えてください。モジュールごとに、そのストリームの 1 つだけを有効にして、そのパッケージを提供できます。

モジュール プロファイル

各モジュールは、1 つ以上のプロファイルを持つことができます。プロファイルは、サーバー、クライアント、開発、最小限のインストールなど、特定のユースケースのために一緒にインストールされる特定のパッケージのリストです。特定のモジュール プロファイルをインストールすると、モジュール ストリームから特定のパッケージ セットがインストールされます。その後、通常どおりパッケージをインストールまたはアンインストールできます。プロファイルを指定しない場合、モジュールはデフォルトのプロファイルをインストールします。

YUM を使用したモジュールの管理

CentOS/RHEL 8 の新しい Yum バージョン 4 は、Application Stream の新しいモジュラー機能のサポートを追加します。モジュラー コンテンツを処理するために、yum module コマンドが追加されました。それ以外の場合、yum は通常のパッケージと同じようにモジュールで動作します。

モジュールの一覧表示

利用可能なモジュールのリストを表示するには、yum module list を使用します:

[user@host ~]$ yum module list   
Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs)  
 Name                   Stream        Profiles   Summary   
389-ds                  1.4           default    389 Directory Server (base)   
ant                     1.10 [d]      common [d] Java build tool   
container-tools         1.0 [d]       common [d] Common tools and dependencies 
for container runtimes  
...output omitted...   
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
注意 :出力の最後にあるヒントを使用して、どのストリームとプロファイルが有効、無効、インストールされているか、およびデフォルトであるかを判断できます。

特定のモジュールのモジュール ストリームを一覧表示し、そのステータスを取得するには:

[user@host ~]$ yum module list perl 
Red Hat Enterprise Linux 8 for x86_64 - AppStream HTB (RPMs) 
Name  Stream       Profiles             Summary 
perl  5.24         common [d], minimal  Practical Extraction and Report Language 
perl  5.26 [d]     common [d], minimal  Practical Extraction and Report Language 

デフォルトのモジュール ストリームによってインストールされたパッケージを一覧表示するには:

[user@host ~]$ yum module info perl   
Name             : perl   
Stream           : 5.26 [d][a]    
Version          : 820181219174508    
Context          : 9edba152    
Profiles         : common, minimal    
Default profiles : default    
Repo             : rhel-8-fo r-x86_64-appstream-htb-rpms    
Summary          : Practical Extraction and Report Language   
...output omitted...    
Artifacts   : perl-4:5.24.4-401.module+el8+2464+d274aed1.x86_64                
            : perl-Algorithm-Diff-0:1.1903-9.module+el8+2464+d274aed1.noarch
            : perl-Archive-Tar-0:2.30-1.module+el8+2464+d274aed1.noarch
...output omitted... 

注意 :モジュール ストリームを指定しない場合、yum module info はデフォルトのモジュール ストリームの詳細を表示します。 module-name:stream 形式を使用して、特定のモジュール ストリームを表示します。 –profile オプションを追加して、各モジュールのプロファイルによってインストールされたパッケージに関する情報を表示します。例:

[user@host ~]$ yum module info --profile perl:5.24

モジュール ストリームの有効化とモジュールのインストール

モジュールをインストールするには、モジュール ストリームを有効にする必要があります。このプロセスを簡素化するために、モジュールがインストールされると、必要に応じてそのモジュール ストリームが有効になります。モジュール ストリームは、yum module enable を使用して手動で有効にできます モジュール ストリームの名前を指定します。

注意 :特定のモジュールに対して有効にできるモジュール ストリームは 1 つだけです。追加のモジュール ストリームを有効にすると、元のモジュール ストリームが無効になります。

デフォルトのストリームとプロファイルを使用してモジュールをインストールします:

[user@host ~]$ sudo yum module install -y perl 
Dependencies resolved. 
================================================================================ 
Package         Arch   Version      Repository                            Size 
================================================================================ 
Installing group/module packages: 
  perl            x86_64 4:5.26.3-416.el8
                                     rhel-8-for-x86_64-appstream-htb-rpms  72 k 
Installing dependencies: 
...output omitted... 
Running transaction  
  Preparing        :                                                        1/1  
  Installing       : perl-Exporter-5.72-396.el8.noarch                    1/155  
  Installing       : perl-Carp-1.42-396.el8.noarch                        2/155 
...output omitted... 
Installed:  
  perl-4:5.26.3-416.el8.x86_64  
  perl-Encode-Locale-1.05-9.el8.noarch 
...output omitted... 
Complete!
注意 :yum install @perl を実行しても同じ結果が得られた可能性があります。 @ 表記は、引数がパッケージ名ではなくモジュール名であることを yum に通知します。

モジュール ストリームとインストールされているプロファイルのステータスを確認するには:

[user@host ~]$ yum module list perl 
Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs) 
Name  Stream       Profiles             Summary 
perl  5.24         common, minimal      Practical Extraction and Report Language 
perl  5.26 [d][e]  common [i], minimal  Practical Extraction and Report Language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled 

モジュールの削除とモジュール ストリームの無効化

モジュールを削除すると、現在有効になっているモジュール ストリームのプロファイルによってインストールされたすべてのパッケージと、これらに依存するすべてのパッケージとモジュールが削除されます。このモジュール ストリームからインストールされ、どのプロファイルにもリストされていないパッケージは、システムにインストールされたままになり、手動で削除できます。

注意 :モジュールの削除とモジュール ストリームの切り替えは、少し難しい場合があります。モジュールで有効になっているストリームを切り替えることは、現在のストリームをリセットして新しいストリームを有効にすることと同じです。インストールされているパッケージが自動的に変更されることはありません。手動で行う必要があります。現在インストールされているモジュール ストリームとは異なるモジュール ストリームを直接インストールすることはお勧めしません。インストール中にアップグレード スクリプトが実行され、元のモジュール ストリームが壊れてしまう可能性があるためです。これにより、データの損失やその他の構成の問題が発生する可能性があります。慎重に進む

インストール済みモジュールを削除するには:

[user@host ~]$ sudo yum module remove -y perl  
Dependencies resolved. 
=====================================================================================================   
Package                        ArchVersion            Repository                                 Size  
=====================================================================================================  
Removing:   
  perl                           x86_644:5.26.3-416.el8   @rhel-8-for-x86_64-appstream-htb-rpms   0  
Removing unused dependencies:
  ...output omitted... 
Running transaction  
  Preparing        :                                                        1/1  
  Erasing          : perl-4:5.26.3-416.el8.x86_64                         1/155  
  Erasing          : perl-CPAN-2.18-397.el8.noarch                        2/155  
...output omitted...  
Removed:  
perl-4:5.26.3-416.el8.x86_64  
dwz-0.12-9.el8.x86_64  
...output omitted... 
Complete! 

モジュールが削除された後も、モジュール ストリームは引き続き有効です。モジュール ストリームがまだ有効であることを確認するには:

[user@host ~]$ yum module list perl 
Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs) 
Name  Stream        Profiles             Summary 
perl  5.24          common [d], minimal  Practical Extraction and Report Language 
perl  5.26 [d][e]   common [d], minimal  Practical Extraction and Report Language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[user@host ~]$ sudo yum module disable perl 
 ...output omitted... 
Dependencies resolved. 
================================================================================= 
Package           Arch             Version              Repository         Size 
================================================================================= 
Disabling module streams: perl                               5.26 
Is this ok [y/N]: y 
Complete! 

モジュール ストリームの切り替え

モジュール ストリームを切り替えるには、通常、コンテンツを別のバージョンにアップグレードまたはダウングレードする必要があります。クリーンな切り替えを確実に行うには、モジュール ストリームによって提供されるモジュールを最初に削除する必要があります。これにより、モジュールのプロファイルによってインストールされたすべてのパッケージと、それらのパッケージが依存しているすべてのモジュールとパッケージが削除されます。

別のモジュール ストリームを有効にしてモジュールをインストールするには:

[user@host ~]$ sudo yum module install perl:5.24

新しいモジュール ストリームが有効になり、現在のストリームが無効になります。新しいプロファイルにリストされていない以前のモジュール ストリームからパッケージを更新またはダウングレードする必要がある場合があります。必要に応じて、yum distro-sync を使用してこのタスクを実行します。以前のモジュール ストリームからインストールされたままのパッケージがある場合もあります。 yum remove を使用してそれらを削除します。


Cent OS
  1. CentOS / RHEL / Fedoraで7zパッケージを抽出する方法は?

  2. CentOS / RHEL 7 :firewalld の初心者向けガイド

  3. CentOS / RHEL 7 :iptables を起動/有効化できない

  1. CentOS / RHEL :vsftpd の初心者向けガイド (インストールと構成)

  2. CentOS / RHEL でファイル システムを自動マウントするための初心者向けガイド

  3. CentOS / RHEL における NFS の初心者向けガイド

  1. CentOSLinuxで孤立したパッケージを削除する方法

  2. CentOS/RHEL 8 でモジュール ストリームを切り替える方法

  3. CentOS/RHEL 8 で dnf を使用してパッケージをインストールする方法