テクノロジー

Shelly 3.0がC#からZigへ移行 — Arch LinuxのパッケージマネージャーはもうNETを必要としない

Adrian Kessler

Arch Linuxで最も広く使われているグラフィカルパッケージマネージャー「Shelly」が、バージョン3.0で大規模な再構築を果たした。従来のC#ベースのコードをすべてZigに置き換え、起動時に.NETランタイムを必要としないネイティブバイナリとして生まれ変わったのだ。

実質的な違いは起動時に如実に現れる。以前は何をするにもまず.NETランタイムをロードする必要があったが、3.0のバイナリは直接実行される。メモリフットプリントも劇的に減少。ネイティブバイナリにはガベージコレクタや仮想マシンが搭載されていないため、ウィンドウが表示された瞬間から使用RAMが少なくて済む。

この書き換えに伴い、長らく要望のあった機能も多数追加された。再設計されたデスクトップインターフェースでは、パッケージをグリッド表示とリスト表示でブラウズ可能になり、AURのPKGBUILDプレビュー機能により、インストール前にビルドスクリプトを確認できる。コマンドライン版では、公式リポジトリ、AUR、AppImages、Flatpaksを一度に検索できるようになり、1つのクエリで特定のアプリケーションに関するすべての入手手段が表示される。

Zigは今回のリリースで採用された唯一のメモリ安全言語ではない。CachyOSは同時に、カーネルレベルでハードウェア設定を管理するデーモンをC++からRustに書き換え、システムトレイの更新通知機能もRustベースに移行した。両言語は異なる役割を担っており、Zigはユーザー向けのアプリケーション層を、Rustはカーネル境界での安定性が最優先されるバックグラウンドサービスを担当する。

ただし、1つ注意すべき点がある。CachyOSはパフォーマンスチューニングを施したArch Linuxのフォークであり、そのユーザーベースは熱心だが比較的小規模だ。Shelly 3.0は標準のArch Linuxリポジトリには含まれておらず、Debian、Fedora、Ubuntuなどのメインストリームディストリビューションのユーザーには影響しない。Archコミュニティの外での意義は、即座に実用的な変化をもたらすというより、むしろ象徴的な意味合いが強い——Shellyは、BunやTigerBeetleと並んで、Zigを実運用でユーザーに届ける数少ないアプリケーションの1つとなったのだ。

Zigはシステムレベルの開発においてCやC++に代わる実用的な選択肢として注目を集めている。Rustのような複雑な所有権システムを必要としないため、既存のCコードベースの移植がより容易だが、その代償としてコンパイラによる安全性保証は少ない。Shellyチームにとって、プロジェクトの規模を考慮すれば、元のC#コードベース全体をRustで置き換えることははるかに困難だっただろう。

2026年8月のISOイメージはCachyOSのダウンロードミラーから入手可能だ。既存ユーザーは標準のpacmanシステムアップグレードで即座に更新できる。メジャーリリースから2日後にはホットフィックス「Shelly 3.0.1」がリリースされ、初期に報告されたエッジケースに対応。この迅速な対応は、新しいコードベースが活発にメンテナンスされていることを示している。

タグ: , , , , ,

ディスカッション

0件のコメントがあります。