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