Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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 なのと同じです

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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 向けの コミュニティ提供パッケージ

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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