インストール - Myrlyn

提供: MochiuWiki : SUSE, EC, PCB

概要

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オプション
オプション名 説明
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 コマンドで実施する。
  • ソフトウェアサービス設定
    ソフトウェアサービスの設定は SUSE Manager または zypper コマンドで実施する。
  • 高度なリポジトリ設定
    高度なリポジトリ設定が必要な場合は、zypperリファレンスドキュメントを参照する。



関連リンク