インストール - Myrlyn
概要
Myrlyn (旧称YQPkg) は、Linux向けのグラフィカルパッケージ管理ツールである。
YaST (Yet another Setup Tool) の機能を引き継ぎつつ、現代的なQt 6ベースのUIを採用しており、ソフトウェアパッケージのインストール、更新、削除をユーザフレンドリーな方法で管理できる。
openSUSEおよびSLE (SUSE Linux Enterprise) 環境での使用を想定しており、libzypパッケージ管理ライブラリをバックエンドとして利用する。
Myrlynの開発は2024年11月のHack Week 24においてYQPkgとして開始された。
その後、2025年1月19日にversion 1.0.0 (安定版) がリリースされており、openSUSE Leap 16ではYaSTに代わる公式パッケージ管理GUIとして位置づけられている。
Myrlynは、YaST由来の機能に加えて、Updatesビュー、Zypp履歴ブラウザ、非rootユーザ向けの読み取り専用モード、コミュニティリポジトリ管理などの独自機能を提供する。
YaSTからの移行
移行の背景
YaSTは30年以上前からopenSUSEの標準システム管理ツールとして使用されてきた。
しかし、RubyベースのYaSTは複雑な依存関係を持ち、保守が困難な状況となっていた。
この課題を受けて、SLE 16での廃止が決定され、Leap 16でも同様に廃止が決定された。
YaSTが担っていた役割は、以下に示す3つのツールに分割・移管される。
- Agama
- インストーラとしての役割を担う。
- Cockpit
- Webベースのシステム管理ツールとしての役割を担う。
- Myrlyn
- パッケージ管理GUIとしての役割を担う。
openSUSE Leap 16での位置づけ
Leap 16の新規インストール環境では、Myrlynがデフォルトで含まれる。
旧バージョンからアップグレードする場合は、別途インストールが必要となる。
Myrlyn 1.0はYaSTソフトウェアモジュールの機能をほぼ100%カバーしており、さらに以下の点で改善されている。
- 起動時パフォーマンスの向上
- UI/UXの大幅な改善
- パッケージ選択時の遅延削減
Tumbleweed / Slowrollでの状況
- Tumbleweed
- YaSTはまだ存在しており、段階的に廃止が予定されている。コミュニティによる保守の可能性もある。Myrlynの利用も可能。
- Slowroll
- Agamaインストーラに対応しており、新しいアプローチに準拠している。
技術仕様
Myrlynの技術的な構成を、以下に示す。
- バックエンド
- libzypp (openSUSEのパッケージ管理ライブラリ)
- GUIフレームワーク
- Qt 6
- 実装言語
- C++ (98.2%)
- ライセンス
- GPL-2.0 (オープンソース)
- 開発状況
- 本番環境対応、日常使用に適した段階
主な機能
YaST由来の機能
Myrlynは、YaSTから引き継いだ以下の機能を提供する。
- リポジトリの自動更新
- 起動時に自動的にリポジトリ情報を更新する。
- 複合検索機能
- パッケージ名、説明、ファイルリストを対象とした検索が可能。
- 詳細情報表示
- 依存関係の可視化、複数バージョン対応。
- パターンおよびパッチのインストール管理
- パッケージの集合体 (パターン) やセキュリティパッチの管理が可能。
- パッケージロック機能
- 禁止または保護状態の設定が可能。
独自機能
Myrlynは、YaSTにはない以下の独自機能を提供する。
- Updatesビュー
- 更新可能なパッケージを一覧表示する。
- 非rootユーザ向けの読み取り専用モード
- 管理者権限を持たないユーザでも、パッケージ情報の閲覧が可能。
- 詳細な進捗表示ビュー
- インストールや更新の進行状況を視覚的に確認できる。
- Zypp履歴ブラウザ
- パッケージ操作の履歴を階層的にフィルタリング可能 (年月日ナビゲーション、正規表現ワイルドカード対応)。
- Community Repository Support
- openSUSE Leap 16.0向けコミュニティリポジトリに対応しており、Packman、openh264、libdvdcss、NVIDIA等のプリセットを利用できる。
- Dependency Resolver表示
- メインウィンドウにresolver modeを表示する。
- RPM Recommends検索
- 推奨パッケージの検索機能を提供する。
- 検索モード設定
- 「Starts With」と「Contains」の2モードをUIのwrenchアイコンから切り替えられる。
- 設定ファイル統合
- ~/.config/openSUSE/myrlyn-sudo.conf で環境変数 (proxy設定等) を設定できる。
パッケージロック機能
Myrlynは、パッケージに対して2つの保護状態を設定できる。
- Taboo状態
- パッケージを永遠にインストール対象から除外する (アンインストール後も再インストール防止)。
- Protected状態
- 現在のバージョンを維持し続ける (更新を防止)。
UI/UX設計
Myrlynは、以下のUI/UX設計の特徴を持つ。
- 現代的なQt 6ベースのインターフェース
- 高解像度ディスプレイへの最適化が行われている。
- 列幅の自動調整
- 手動調整の不要化により、ユーザの操作負担を軽減する。
- 従来のYaST実装より改善された視覚的外観
- より洗練されたデザインを採用している。
Myrlynのインストール
前提条件
Myrlyn 1.0では、GCC 11以降、Qt 6.5以降が必須となる。
Tumbleweed / Slowroll向け
Tumbleweed/Slowrollでは、標準リポジトリからMyrlynをインストールできる。
sudo zypper install myrlyn
Leap 15.6向け
Leap 15.6でも、標準リポジトリからMyrlynをインストールできる。
sudo zypper install myrlyn
Leap 16向け
Leap 16の新規インストール環境ではMyrlynがデフォルトで含まれる。
旧バージョンからアップグレードした場合は、以下のコマンドでインストールする。
sudo zypper install myrlyn
ソースコードからインストール
依存パッケージのインストール
Myrlynのビルドに必要な依存関係のライブラリをインストールする。
sudo zypper install make cmake libzypp-devel qt6-core-devel qt6-gui-devel qt6-widgets-devel
Tumbleweed / Slowroll向けには、開発パターンを利用することもできる。
sudo zypper install -t pattern devel_C_C++ devel_qt6 sudo zypper install cmake libzypp-devel
Leap 15 / SLE 15環境の場合、GCC 10以上が必要となる。
sudo zypper in gcc10-c++
ビルド手順
MyrlynのGitHubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf myrlyn-<バージョン>.tar.gz cd myrlyn-<バージョン>
または、git clone コマンドを実行して、ソースコードをダウンロードする。
git clone https://github.com/shundhammer/myrlyn.git cd myrlyn
Myrlynをビルドする。
# SLE 16 / openSUSE Leap 16 make -f Makefile.repo cd build make # SLE 15 / openSUSE Leap 15 make -f Makefile.repo leap-15 cd build make # openSUSE Tumbleweed / Slowroll make -f Makefile.repo cd build make
カスタムビルドを行う場合、CMakeオプションを指定してビルドできる。
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=<Myrlynのインストールディレクトリ> \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=<GCC 10以降のGCC> \
-DCMAKE_CXX_COMPILER=<GCC 10以降のG++> \
..
make -j $(nproc)
| オプション名 | 説明 | 例 |
|---|---|---|
| CMAKE_INSTALL_PREFIX | Myrlynのインストールディレクトリを指定する。 | 任意のインストールディレクトリ |
| CMAKE_BUILD_TYPE | ビルドタイプを指定する。(Release, Debug, RelWithDebInfo, MinSizeRel) | Release |
| CMAKE_C_COMPILER | Cコンパイラを指定する。 | gcc-16 |
| CMAKE_CXX_COMPILER | C++コンパイラを指定する。 | g++-16 |
インストール
ビルド完了後、以下に示すコマンドで実行可能形式をインストールする。
sudo make install
インストール先は、/usr/bin/myrlyn となる。
カスタムインストールディレクトリを指定した場合は、そのディレクトリの bin/myrlyn にインストールされる。
クリーンアップ
ビルドディレクトリを削除する場合は、以下のコマンドを実行する。
rm -rf build
Myrlynの使用
実行方法
ビルドディレクトリから実行
ビルドディレクトリから直接実行する場合、以下に示すコマンドを実行する。
./src/myrlyn
インストール後の実行
インストール後は、以下に示すコマンドで実行できる。
myrlyn
一般rootユーザでの実行
一般rootユーザは、読み取り専用モードで実行できる。
この場合、パッケージ情報の閲覧は可能だが、変更操作は実行できない。
myrlyn
rootユーザでの実行
rootユーザ または sudoコマンドを使用して実行する場合、全ての機能が利用可能となる。
sudo myrlyn
Updatesビューの使用
Updatesビューでは、更新可能なパッケージを一覧表示できる。
起動後、Updatesタブを選択すると、更新可能なパッケージが表示される。
更新したいパッケージを選択して、[Apply]ボタンを押下すると、更新が実行される。
Zypp履歴ブラウザの使用
Zypp履歴ブラウザでは、パッケージ操作の履歴を確認できる。
履歴ブラウザを開くには、メニューから[History]を選択する。
Myrlyn 1.0では、以下の改善が行われている。
- 階層的タイムラインビュー
- 年、月、日で構成された新しいナビゲーション構造を採用している。
- トランザクショングループ化
- 各コマンドが実行した内容を明確に表示する (dup、install、removeの区別が可能)。
- 詳細フィルタリング
- パッケージ名、パターン、リポジトリ、削除イベント等での検索が可能。
- 正規表現ワイルドカード対応
- 高度な検索条件を指定できる。
パッケージロック機能の使用
パッケージロック機能を使用すると、パッケージを保護できる。
Taboo状態の設定
パッケージを右クリックして、[Taboo]を選択すると、パッケージが永遠にインストール対象から除外される。
アンインストール後も再インストールが防止される。
Protected状態の設定
パッケージを右クリックして、[Protected]を選択すると、現在のバージョンが維持され続ける。
更新が防止される。
コミュニティリポジトリ管理
Myrlyn 1.0では、コミュニティリポジトリをGUIから直接管理できる機能が追加された。
組み込みリポジトリプリセット
以下に示すディストリビューション向けにリポジトリプリセットが用意されている。
- Leap 16
- Tumbleweed
- Slowroll
- SLE 15
各ディストリビューション向けに、以下に示すコミュニティリポジトリが利用可能である。
- Packman
- マルチメディアコーデック等の追加パッケージを提供する。
- openh264
- H.264コーデックを提供する。
- libdvdcss
- DVD再生に必要なライブラリを提供する。
- NVIDIA
- NVIDIAグラフィックスドライバを提供する。
カスタムリポジトリの追加
GUIからカスタムリポジトリを追加する場合、libzypp変数を使用したURLを指定できる。
例として、$releasever 等の変数が利用可能である。
リポジトリの優先度設定
各リポジトリの優先度をGUIから調整できる。
優先度の設定により、同一パッケージが複数のリポジトリに存在する場合の選択順序を制御できる。
自動リフレッシュ設定
各リポジトリごとに自動リフレッシュをenable/disableの切り替えが可能である。
設定ファイル
Myrlynの設定ファイルは ~/.config/openSUSE/ ディレクトリに格納される。
myrlyn-sudo.conf
~/.config/openSUSE/myrlyn-sudo.conf は、特権操作時の環境変数を設定するファイルである。
proxy設定等、特権昇格 (sudo) を行う時に引き継ぎたい環境変数をこのファイルで定義する。
設定例を以下に示す。
# プロキシ設定 http_proxy=http://proxy.example.com:8080 https_proxy=http://proxy.example.com:8080 no_proxy=localhost,127.0.0.1
注意事項
- Leap 15.x / SLE 15環境では、GCC 10以上が必須となる。
- 古いGCCバージョンでのビルドは失敗する。
- Myrlyn 1.0では、GCC 11以降、Qt 6.5以降が必須となる。
- ビルド時に、これらのバージョンを満たすコンパイラとライブラリが必要。
- 非rootユーザは、読み取り専用モードで実行可能。
- 変更操作は実行できない。
- Zypp履歴ブラウザのフィルタリング機能は、正規表現ワイルドカードに対応。
- 高度な検索条件を指定できる。
以下はMyrlynの既知の制限事項である。
- オフライン参照不可
- インターネット接続がない環境では、パッケージリストが利用できない。
- リポジトリ追加時の自動リロード未対応
- リポジトリの追加または変更後は、Myrlynを終了して再起動する必要がある。
- GPGキー管理
- GPGキーの管理は
zypperコマンドで実施する。
- GPGキーの管理は
- ソフトウェアサービス設定
- ソフトウェアサービスの設定は SUSE Manager または
zypperコマンドで実施する。
- ソフトウェアサービスの設定は SUSE Manager または
- 高度なリポジトリ設定
- 高度なリポジトリ設定が必要な場合は、zypperリファレンスドキュメントを参照する。
関連リンク