Open Developers Conference Online 2021
2021-08-28 1/18openSUSE Leap 15.3 とリリースモデルの話Open Developers Conference 2021武山 文信
View Slide
2021-08-28 2/18みなさんって何かご存知ですか?
2021-08-28 3/18正しいのはどれ?● 1. サーバールームでモフモフできるカメレオン型ガジェット● 2. Ruby で簡単に Web アプリを作れるフレームワーク● 3. 1996年にドイツで生まれた Linux ディストリビューション
2021-08-28 4/18正しいのはどれ?● 1. サーバールームでモフモフできるカメレオン型ガジェット● 2. Ruby で簡単に Web アプリを作れるフレームワーク● 3. 1996年にドイツで生まれた Linux ディストリビューション
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 なのと同じです
2021-08-28 6/18openSUSE の管理ツール YaST● ハードウェア設定、ユーザー管理、各種サーバー管理を GUI/TUI で– Samba, VNC, HTTP, NTP
2021-08-28 7/182つの openSUSETumbleweed常に最新 安定ローリング・リリース新しいカーネルやライブラリを使いたい人アプリケーションのテスト環境年次アップデート有償サポートなしで安定版を使いたい人普段遣いのデスクトップやサーバーに15.3 での方針変更は後ほど
2021-08-28 8/18openSUSE Tumbleweed● ローリングリリース:パッケージの新しいバージョンがすぐに降ってくる– アップストリームでのアップデート後、メンテナがパッケージを更新したら– ディストリビューション全体のテストが通ったら配信される– 週に複数回● Leap では1年以上待つ● 新しいバージョンを使いたいときに、自分でビルドする必要が(あまり)ない
2021-08-28 9/18openSUSE Tumbleweed の仲間たち● コンテナ × ローリングリリース● openSUSE MicroOS– 最小限の初期インストールパッケージ– トランザクショナルアップデート● Btrfs のスナップショットで、パッケージ更新を一斉反映、失敗時のロールバック– 用途● コンテナのベースイメージ…小さいほうがよい● コンテナホスト…アプリはパッケージではなくコンテナで入れる● New! コンテナベースのデスクトップ…アプリはパッケージではなく Flatpak で入れる● openSUSE Kubic– Kubernetes ノード用の MicroOS
2021-08-28 10/18openSUSE Leap● SUSE Linux Enterprise (SLE) ベースのディストリビューション– 基本的には SLE と同一のパッケージ– openSUSE 独自パッケージや設定● 現在のバージョン: 15.3 (2021年6月)– Kernel 5.3.18 (最新ハードウェアサポートパッチ入り)– KDE Plasma 5.18, GNOME 3.34
2021-08-28 11/1815.3 での方針変更● 15.2 まで: SLE とパッケージのソースコードが同一– コンパイル時のパラメータに若干の違いも多かった● 15.3 から: パッケージがバイナリレベルで同一– パッケージの署名まで同じ– RHEL クローンディストリビューションとの違い● 目的: パッケージの総メンテナンスコストを下げる– 多くのパッケージは SLE の長期サポートをそのまま提供できる
2021-08-28 12/18openSUSE 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 向けのコミュニティ提供パッケージ
2021-08-28 13/18openSUSE 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
2021-08-28 14/18Tumbleweed との関係Tumbleweed SUSE Linux Enterpriseバイナリコピー最新のアプリケーションをパッケージングopenSUSE Backports
2021-08-28 15/18openSUSE の開発とは?● Tumbleweed の開発● コミュニティメンバーが SLE の開発に参加– コミュニティメンバーが SLE のパッケージバージョンアップ提案をするための提案システムを導入– 実際の変更リクエストは Open Build Service で従来どおり● ただし、ビルドは SUSE の非公開 OBS で実施
2021-08-28 16/1815.3 に向けた作業● 忙しかったのであまりできず…● リリースノートに IBus の制限事項を書いた– キーボードレイアウトの名前で使用するコード体系が変わった● 例: ger → deu– 変更前のレイアウト名を設定ファイル中にした持つ状態でアップグレードするとキーボードレイアウトが US に戻るので再設定が必要– コード修正が難しい状況で、リリースノートでカバーしたのは個人的に初めて
2021-08-28 17/18補足: openSUSE のパッケージ開発● Open Build Service を使用– パッケージソースのバージョン管理– Pull request 方式のコラボレーション– CI 環境● オンラインビルド環境(単体テスト実行、静的チェッカ)● リポジトリからの配布● 誰でもすぐに開発に参加できる!– アップデートして pull request● tar.xz を差し替えるだけも多いhttps://build.opensuse.org/
2021-08-28 18/18まとめ● 2種類のリリースモデル– ローリングリリースモデルの Tumbleweed– 定期リリースモデルの Leap● Leap 15.3 のパッケージは SLE と同一化– 15.2 まではソースコードリビルド