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

openSUSE Leap 15.3 とリリースモデルの話

openSUSE Leap 15.3 とリリースモデルの話

Open Developers Conference Online 2021

Fuminobu TAKEYAMA

August 24, 2021
Tweet

More Decks by Fuminobu TAKEYAMA

Other Decks in Technology

Transcript

  1. 2021-08-28 1/18
    openSUSE Leap 15.3 とリリースモデルの話
    Open Developers Conference 2021
    武山 文信

    View Slide

  2. 2021-08-28 2/18
    みなさん
    って何かご存知ですか?

    View Slide

  3. 2021-08-28 3/18
    正しいのはどれ?
    ● 1. サーバールームでモフモフできるカメレオン型ガジェット
    ● 2. Ruby で簡単に Web アプリを作れるフレームワーク
    ● 3. 1996年にドイツで生まれた Linux ディストリビューション

    View Slide

  4. 2021-08-28 4/18
    正しいのはどれ?
    ● 1. サーバールームでモフモフできるカメレオン型ガジェット
    ● 2. Ruby で簡単に Web アプリを作れるフレームワーク
    ● 3. 1996年にドイツで生まれた Linux ディストリビューション

    View Slide

  5. 2021-08-28 5/18
    正解: 3
    ● 3. 1996年にドイツで生まれた Linux ディストリビューション
    – S.u.S.E Linux 4.2 リリース
    – これ以前は Slackware + 設定ツールでした
    ● Q: RedHat 系ですか? Debian 系ですか?
    A: どちらでもありません! Slackware 系でもありません
    ● Q: OpenSUSE ですか?openSUSE ですか?
    A: o は小文字です。IPhone ではなく、iPhone なのと同じです

    View Slide

  6. 2021-08-28 6/18
    openSUSE の管理ツール YaST
    ● ハードウェア設定、ユーザー管理、各種サーバー管理を GUI/TUI で
    – Samba, VNC, HTTP, NTP

    View Slide

  7. 2021-08-28 7/18
    2つの openSUSE
    Tumbleweed
    常に最新 安定
    ローリング・リリース
    新しいカーネルやライブラリを使いたい人
    アプリケーションのテスト環境
    年次アップデート
    有償サポートなしで安定版を使いたい人
    普段遣いのデスクトップやサーバーに
    15.3 での方針変更は後ほど

    View Slide

  8. 2021-08-28 8/18
    openSUSE Tumbleweed
    ● ローリングリリース:
    パッケージの新しいバージョンがすぐに降ってくる
    – アップストリームでのアップデート後、メンテナがパッケージを更新したら
    – ディストリビューション全体のテストが通ったら配信される
    – 週に複数回
    ● Leap では1年以上待つ
    ● 新しいバージョンを使いたいときに、自分でビルドする必要が
    (あまり)ない

    View Slide

  9. 2021-08-28 9/18
    openSUSE Tumbleweed の仲間たち
    ● コンテナ × ローリングリリース
    ● openSUSE MicroOS
    – 最小限の初期インストールパッケージ
    – トランザクショナルアップデート
    ● Btrfs のスナップショットで、パッケージ更新を一斉反映、失敗時のロールバック
    – 用途
    ● コンテナのベースイメージ…小さいほうがよい
    ● コンテナホスト…アプリはパッケージではなくコンテナで入れる
    ● New! コンテナベースのデスクトップ…アプリはパッケージではなく Flatpak で入れる
    ● openSUSE Kubic
    – Kubernetes ノード用の MicroOS

    View Slide

  10. 2021-08-28 10/18
    openSUSE Leap
    ● SUSE Linux Enterprise (SLE) ベースのディストリビューション
    – 基本的には SLE と同一のパッケージ
    – openSUSE 独自パッケージや設定
    ● 現在のバージョン: 15.3 (2021年6月)
    – Kernel 5.3.18 (最新ハードウェアサポートパッチ入り)
    – KDE Plasma 5.18, GNOME 3.34

    View Slide

  11. 2021-08-28 11/18
    15.3 での方針変更
    ● 15.2 まで: SLE とパッケージのソースコードが同一
    – コンパイル時のパラメータに若干の違いも多かった
    ● 15.3 から: パッケージがバイナリレベルで同一
    – パッケージの署名まで同じ
    – RHEL クローンディストリビューションとの違い
    ● 目的: パッケージの総メンテナンスコストを下げる
    – 多くのパッケージは SLE の長期サポートをそのまま提供できる

    View Slide

  12. 2021-08-28 12/18
    openSUSE Leap 15.3 の構成
    SUSE Linux Enterprise
    のパッケージ
    openSUSE Backports
    のパッケージ
    openSUSE 15.3
    固有のパッケージ
    ● *-branding-openSUSE
    ● virtualbox
    ● ...
    ● plasma5-workspace
    ● xfce4-panel
    ● chromium
    ● ...
    ● kernel-default
    ● gnome-shell
    ● gcc
    ● ...
    SLE 向けの
    コミュニティ提供パッケージ

    View Slide

  13. 2021-08-28 13/18
    openSUSE Leap 15.3 のリリース構成
    ● 15.3 のセットアップ後のリポジトリ構成は
    SLE との共通化のため少し複雑
    – OSS: インストールメディア(SLE や Backports 由来のものを含む)
    – Update: 下記以外の更新パッケージ
    – Update repository with updates from SLE: SLE の更新パッケージ
    – Update repository of openSUSE Backports: Backports 由来の更新
    – Non OSS
    – Update Non OSS

    View Slide

  14. 2021-08-28 14/18
    Tumbleweed との関係
    Tumbleweed SUSE Linux Enterprise
    バイナリコピー
    最新のアプリケーションを
    パッケージング
    openSUSE Backports

    View Slide

  15. 2021-08-28 15/18
    openSUSE の開発とは?
    ● Tumbleweed の開発
    ● コミュニティメンバーが SLE の開発に参加
    – コミュニティメンバーが SLE のパッケージバージョンアップ提案をするための
    提案システムを導入
    – 実際の変更リクエストは Open Build Service で従来どおり
    ● ただし、ビルドは SUSE の非公開 OBS で実施

    View Slide

  16. 2021-08-28 16/18
    15.3 に向けた作業
    ● 忙しかったのであまりできず…
    ● リリースノートに IBus の制限事項を書いた
    – キーボードレイアウトの名前で使用するコード体系が変わった
    ● 例: ger → deu
    – 変更前のレイアウト名を設定ファイル中にした持つ状態でアップグレードすると
    キーボードレイアウトが US に戻るので再設定が必要
    – コード修正が難しい状況で、リリースノートでカバーしたのは個人的に初めて

    View Slide

  17. 2021-08-28 17/18
    補足: openSUSE のパッケージ開発
    ● Open Build Service を使用
    – パッケージソースのバージョン管理
    – Pull request 方式のコラボレーション
    – CI 環境
    ● オンラインビルド環境
    (単体テスト実行、静的チェッカ)
    ● リポジトリからの配布
    ● 誰でもすぐに開発に参加できる!
    – アップデートして pull request
    ● tar.xz を差し替えるだけも多い
    https://build.opensuse.org/

    View Slide

  18. 2021-08-28 18/18
    まとめ
    ● 2種類のリリースモデル
    – ローリングリリースモデルの Tumbleweed
    – 定期リリースモデルの Leap
    ● Leap 15.3 のパッケージは SLE と同一化
    – 15.2 まではソースコードリビルド

    View Slide