Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Application Streamsと、yumのmodule

Kazuo Moriwaka
September 18, 2019

Application Streamsと、yumのmodule

RHEL8で登場したApplication Streamsと、yumのmoduleで混乱しがちなので全く違うものだということをできるだけわかりやすく説明してみました。

Kazuo Moriwaka

September 18, 2019
Tweet

More Decks by Kazuo Moriwaka

Other Decks in Technology

Transcript

  1. 1 GENERAL Distribution Application Streams と、 yum の module 2019

    年 9 月 20 日 レッドハット株式会社 森若 和雄
  2. 2 GENERAL Distribution このスライドについて このスライドについて 対象 RHEL8 で「 Application Streams

    」と「 yum module 」がでてきてごちゃごちゃに なってる人 目的 上 2 つの定義と区別がわかるようにする
  3. 3 GENERAL Distribution 概要 概要 Application Streams yum の module

    Application Streams ライフサイクルと yum module は独立
  4. 4 GENERAL Distribution Application Streams(AppStream) Application Streams(AppStream) RHEL8 のリポジトリの名前 Red

    Hat Enterprise Linux 8 では、主なリポジトリを「 BaseOS 」と「 Application Streams(AppStream) 」の 2 種類に分けている。
  5. 5 GENERAL Distribution Application Streams ライフサイクル Application Streams ライフサイクル Application

    Streams の一部コンポーネントに定義された 独立したライフサイクル • Application Streams の一部はライフサイクルが RHEL8 の 10 年とは独立して 定義されています • 2 年から 5 年の間で定義されます • ライフサイクルは https://access.redhat.com/ja/node/4167391 で参照できます • 別バージョンの出荷はフルサポート中のマイナーリリースの出荷にタイミング を合わせて行われます ありがちな誤解 • 間違い : Application Streams は全て 10 年サポートされない • 正しい : Application Streams の一部は 10 年サポートされない
  6. 6 GENERAL Distribution RHEL 8.0 同梱で独立ライフサイクルが定義されるもの RHEL 8.0 同梱で独立ライフサイクルが定義されるもの Application

    Stream 終了日 Application Stream 終了日 authd 1.4.4 May 2021 openjdk 1.8.0 Jun 2023 container-tools 1 May 2021 openjdk 11 Oct 2024 dotnet 2.1 Aug 2021 perl 5.24 May 2021 git 2.18 May 2021 php 7.2 May 2021 httpd 2.4 May 2024 postgresql 10 May 2024 Identity Management DL1 May 2024 postgresql 9.6 Nov 2021 mariadb 10.3 May 2023 python 2.7 Jun 2024 maven 3.5 May 2022 redis 5 May 2022 mercurial 4.8 May 2022 ruby 2.5 Feb 2021 mysql 8 Apr 2023 scala 2.1 May 2022 nginx 1.14 May 2021 swig 3 May 2022 nodejs 10 Apr 2021 varnish 6 May 2022
  7. 7 GENERAL Distribution RHEL 8.1 beta での追加・更新の具体例 RHEL 8.1 beta

    での追加・更新の具体例 RHEL 8.0 とは別のバージョンが追加される Application Stream ライフサイクルのコンポーネント • gcc-toolset-9 • PHP 7.3 • Ruby 2.6 • Node.js 12 • nginx 1.16 新しいバージョンへリベースされる ( 従来どおりの ) コンポーネント • LLVM 8.0.0 (7.0.1 からリベース ) • Rust 1.35 (1.31 からリベース (8.0 中でリベースされた )) • Go 1.12.6 (1.11 からリベース )
  8. 8 GENERAL Distribution yum の module yum の module RHEL8

    では yum に「 module 」という機能が追加された パッケージグループに似た機能で、複数パッケージをまとめて module として扱う module の中に 1 つ以上の「 stream 」があります stream が複数ある場合、 1 つしか同時には有効にできません。 競合する別バージョンのパッケージを yum module の stream として提供すること があります。 各 stream の中に 1 つ以上の「 profile 」があります profile は module に含まれる一部のパッケージを示します。従来のパッケージグル ープではグループ全体をまとめて扱っていましたが用途別に必要なパッケージ群が 異なる場合に複数のプロファイルを定義します (server 用途、 client 用途など )
  9. 9 GENERAL Distribution yum module の stream 例 yum module

    の stream 例 RHEL 8.0 での stream 例 postgresql module に、 10 と 9.6 の stream がある例。 10 がデフォルト、プロファ イルはそれぞれ server と client があり server がデフォルト。 # yum module list postgresql ( 中略 ) Name Stream Profiles Summary postgresql 10 [d] client, server [d] PostgreSQL server and client module postgresql 9.6 client, server [d] PostgreSQL server and client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
  10. 10 GENERAL Distribution 複数バージョンの提供方式について 複数バージョンの提供方式について rpm パッケージ 最初から複数バージョンの rpm パッケージを同時にインストールできます。

    alternatives での切り替えまたはコマンド名が違うなどで競合を避けます scl スクリプトを利用する rpm パッケージ 複数バージョンを同時にインストールできますが、 scl スクリプトにより明示的に 切り替えて利用します。 yum module 複数バージョンを同時にインストールできません。同時に利用したい場合にはコン テナや仮想マシンでシステムを分離します。
  11. 11 GENERAL Distribution Application Streams ライフサイクルと yum module は独立 Application

    Streams ライフサイクルと yum module は独立 yum module scl を使う rpm rpm パッケージ Application Streams ライフサイクル postgresql 10/9.6 perl 5.26/5.24 nginx nodejs httpd gcc-toolset-9 dotnet git OpenJDK 8/11 通常の 10 年 ライフサイクル python3.6 freeradius idm container-tools rust-toolset なし 多数 yum module であることとライフサイクルは関係しない
  12. 12 GENERAL Distribution まとめ まとめ Application Stream は yum リポジトリの名前

    Application Streams ライフサイクルは RHEL のライフサイクルか ら独立したライフサイクルの総称 yum module は yum に追加された機能の名前 Application Streams ライフサイクルを持つコンポーネントの 一部は yum module で提供される。 scl スクリプトを利用して提供 されるもの、同居できる rpm として提供されるものもある。
  13. 13 GENERAL Distribution 参考資料 参考資料 Red Hat Enterprise Linux のライフサイクル

    https://access.redhat.com/ja/support/policy/updates/errata Red Hat Enterprise Linux 8 Application Streams Life Cycle https://access.redhat.com/node/4079021 RHEL8 ドキュメント「ユーザー領域コンポーネントのインス トール、管理、および削除」 https://red.ht/2IbGOfG