VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

CentOS Stream9のリポジトリ・モジュール管理

CentOS Stream9のリポジトリ―の概要と確認方法、モジュールの概要と確認方法についてまとめました。

※目次をクリックすると目次の下部にコンテンツが表示されます。

主なリポジトリ―
1)RHELのコンテンツ配布
 
・Red Hat Enterprise Linux (RHEL) は、以下に示すようなリポジトリーを通じてコンテンツを配布する。
 
2)主なリポジトリ―
 
①BaseOS
・すべてのインストールの基盤を提供する、基礎となるOS機能のコアセットで構成。
・コンテンツの提供:RPM形式
・デフォルトで有効
・主なパッケージ:bash、firewalld、kernel、NetworkManager、openssh、openssl、systemd
 
②AppStream(Application Streams)
・ユーザー空間アプリ、ランタイム言語、データベースなど。
・一つのパッケージにつき複数のバージョンを提供。
・コアOSシステムパッケージよりも頻繁に更新される。
・コンテンツの提供:RPM形式、モジュール、Software Collections
・デフォルトで有効
・主なパッケージ:gcc、httpd、mysql
 
③CRB(CodeReady Linux Builder)
・開発者向けの追加パッケージを提供。
・デフォルトで無効
・パッケージの例:mysql-devel、mysql-test
リポジトリ―の確認例
●システムで有効になっているすべてのリポジトリーをリスト表示
# dnf repolist
repo id             repo の名前
appstream           CentOS Stream 9 - AppStream
baseos              CentOS Stream 9 - BaseOS
extras-common       CentOS Stream 9 - Extras packages

 
●無効になっているリポジトリ―のリストを表示

# dnf repolist --disabled
repo id                repo の名前
appstream-debuginfo    CentOS Stream 9 - AppStream - Debug
appstream-source       CentOS Stream 9 - AppStream - Source
baseos-debuginfo       CentOS Stream 9 - BaseOS - Debug
baseos-source          CentOS Stream 9 - BaseOS - Source
crb                    CentOS Stream 9 - CRB
crb-debuginfo          CentOS Stream 9 - CRB - Debug
crb-source             CentOS Stream 9 - CRB - Source

 
●リポジトリーの追加情報を表示

# dnf repoinfo appstream
Repo-id            : appstream
Repo-name          : CentOS Stream 9 - AppStream
Repo-status        : 有効化
Repo-revision      : 9-stream
Repo-distro-tags      : [cpe:/o:centos-stream:centos-stream:9]:  ,  , 9, C, O, S, S, a, e, e, m, n, r, t, t
Repo-updated       : 2023年12月12日 03時45分27秒
Repo-pkgs          : 15,814
Repo-available-pkgs: 15,435
Repo-size          : 30 G
Repo-metalink      : https://mirrors.centos.org/metalink?repo=centos-appstream-9-stream&arch=x86_64&protocol=https,http
  Updated          : 2023年12月16日 08時34分30秒
Repo-baseurl       : http://mirror.team-cymru.com/centos-stream/9-stream/AppStream/x86_64/os/ (36 more)
Repo-expire        : 21,600 秒 (最終: 2023年12月16日 08時34分30秒)
Repo-filename      : /etc/yum.repos.d/centos.repo
総パッケージ: 15,814
モジュールの概要
1)モジュールとは
 
・モジュールはコンポーネントを表し、通常はまとめてインストールされる一連のRPMパッケージ。
 
〇モジュールに含まれる一般的なパッケージタイプ
・アプリケーションを含むパッケージ。
・アプリケーション固有の依存関係ライブラリーを含むパッケージ
・アプリケーションのドキュメントを含むパッケージ
・ヘルプユーティリティーを含むパッケージ
 
2)モジュールストリーム
 
●モジュールストリームとは
・AppStreamコンポーネントのバージョンを示す数値。
・各ストリームの更新はストリーム毎に管理されており、他のモジュールストリームに依存している場合がある。
 
●モジュールストリームのアクティブ/非アクティブ
・モジュールストリームは、アクティブまたは非アクティブにできる。
・アクティブなストリームでは、システムは特定のモジュールストリーム内のRPMパッケージにアクセスできるようになり、それぞれのコンポーネントバージョンをインストールできるようになる。
・あるモジュールの中で同時にアクティブにできるストリームは 1 つだけで、利用できるのは特定のストリームのパッケージ。
 
3)モジュールプロファイル
 
・モジュールプロファイルは、サーバー、クライアント、開発、最小インストールなど、特定のユースケースでまとめてインストールされる推奨パッケージのリストで、プロファイルを利用して、開発フェーズや用途に応じてパッケージのインストールを行える。
・同じモジュールストリームから複数のプロファイルを利用してパッケージをインストールすることも、特に準備などを行わずに行える。
 
●プロファイルの例
・common(d):実稼働環境に対応したパッケージ。デフォルトのプロファイル。
・development:開発ヘッダーを含む、実稼働環境に対応したパッケージ。
・minimal:ランタイム環境を提供するパッケージの最小セット。
・Source-to-Image(S2I):Linux コンテナーの作成に必要なパッケージ。
モジュールの確認例
●利用可能なすべてのモジュールをリスト
# dnf module list
CentOS Stream 9 - AppStream
Name       Stream       Profiles            Summary
maven      3.8          common [d]          Java project management and project
                                            comprehension tool
nginx      1.22         common [d]          nginx webserver
nodejs     18           common [d], develop Javascript runtime
                        ment, minimal, s2i
nodejs     20           common [d], develop Javascript runtime
                        ment, minimal, s2i
php        8.1          common [d], devel,  PHP scripting language
                        minimal
postgresql 15           client, server [d]  PostgreSQL server and client module
postgresql 16           client, server [d]  PostgreSQL server and client module
redis      7            common [d]          Redis persistent key-value database
ruby       3.1          common [d]          An interpreter of object-oriented sc
                                            ripting language

 
●特定のモジュールの詳細を表示

# dnf module info nodejs
Name             : nodejs
Stream           : 18
 :
 :
Profiles         : common [d], development, minimal, s2i
Default profiles : common
Repo             : appstream
Summary          : Javascript runtime
  :
  :
Artifacts        : nodejs-1:18.7.0-1.module_el9+236+76754d90.src
                 : nodejs-1:18.7.0-1.module_el9+236+76754d90.x86_64
                 : nodejs-debuginfo-1:18.7.0-1.module_el9+236+76754d90.x86_64
                 : nodejs-debugsource-1:18.7.0-1.module_el9+236+76754d90.x86_64
                 : nodejs-devel-1:18.7.0-1.module_el9+236+76754d90.x86_64
                 : nodejs-docs-1:18.7.0-1.module_el9+236+76754d90.noarch
                 : nodejs-full-i18n-1:18.7.0-1.module_el9+236+76754d90.x86_64
                 : nodejs-nodemon-0:2.0.7-1.module_el9+229+8985b174.noarch
                 : nodejs-nodemon-0:2.0.7-1.module_el9+229+8985b174.src
                 : nodejs-packaging-0:2021.06-4.module_el9+229+8985b174.noarch
                 : nodejs-packaging-0:2021.06-4.module_el9+229+8985b174.src
                 : nodejs-packaging-bundler-0:2021.06-4.module_el9+229+8985b174.noarch
                 : npm-1:8.15.0-1.18.7.0.1.module_el9+236+76754d90.x86_64

 
●各モジュールプロファイルがインストールするパッケージをリスト

# dnf module info --profile nodejs
Name        : nodejs:18:920220808155010:rhel9:x86_64
common      : nodejs
            : npm
development : nodejs
            : nodejs-devel
            : npm
minimal     : nodejs
s2i         : nodejs
            : nodejs-nodemon
            : npm
モバイルバージョンを終了