Linuxその他 - AppImage

提供:MochiuWiki : SUSE, EC, PCB
2023年10月10日 (火) 13:20時点におけるWiki (トーク | 投稿記録)による版 (→‎AppImageの特徴)
ナビゲーションに移動 検索に移動

概要

AppImageは、比較的新しいパッケージングフォーマットであり、Linuxでソフトウェアを実行するためのClick to Runの方法を提供している。

従来のDEB / RPMパッケージとは異なり、AppImageはどのディストリビューションでも使用できるため、Linuxユーザにとって非常に魅力的なものとなっている。
従来のパッケージは、それぞれのディストリビューションにソフトウェアをインストールする便利な方法を提供するが、ソフトウェア開発者にとってはあまり便利な方法ではない。
ソフトウェア開発者は、複数のディストリビューション用に複数のパッケージを作成しなければならない。

AppImageはユニバーサルソフトウェアパッケージフォーマットであり、AppImageでソフトウェアをパッケージ化することにより、開発者は「すべてを支配する」1つのファイルだけを提供することができる。
エンドユーザー、つまり、最新のLinuxディストリビューションのほとんど(全てではないにしても)で使用することができる。


AppImageの特徴

  • ディストリビューションに依存しない:さまざまなLinuxディストリビューションで実行可能である。
  • ソフトウェアのインストールやコンパイルが不要クリックして再生するだけである。
  • root権限不要:システムファイルに触れることはない。
  • 移植性が良いため、ライブディスクを含め、どこでも実行可能である。
  • ソフトウェア本体は読み取り専用モード
  • AppImageファイルを削除するだけでソフトウェアが削除される。
  • AppImageでパッケージされたソフトウェアは、デフォルトではサンドボックス化されていない。



AppImageの注意点

AppImageについては、さらに知っておくべきことがいくつかある。

  • パッケージングが不十分なAppImageは、実行権限があっても実行されない。
    AppImageのコンセプトは、全ての依存関係をパッケージ自体の中に持つことである。
    しかし、開発者が依存関係を全てパッケージ化したつもりでも、実際にはそうなっていない場合がある。
    そのような場合、AppImageを実行してもソフトウェアは起動しない。
    AppImageにパッケージング上の問題がある場合、開発者に連絡して、その旨を伝える必要がある。

  • AppImage Launcherを使用しないデスクトップ統合
    AppImageを実行すると、ソフトウェアによっては「デスクトップファイルをインストールする」よう求めるメッセージが表示されることがある。
    「はい」を選択すると、AppImageは通常インストールされるアプリケーションのようにLinuxシステムに統合される。

  • AppImage Launcherを使用しないデスクトップ統合では、削除後に手動でのクリーンアップが必要になる場合がある。
    デスクトップ統合を選択した場合、システムにいくつかのファイルが作成される。
    AppImage Launcherとは異なり、AppImageファイルを削除しても、これらのデスクトップファイルはシステムに残る。
    そのため、そのままにする、または、手動で削除する必要がある。

  • アップデートは必ずしもオプションではない。
    ソフトウェアによっては、自動的にアップデートをチェックして、新しいバージョンが入手可能になったことを通知してくれるものもあるかもしれない。
    しかし、ほとんどの場合、そうはならない。
    これは、開発者がこのオプションを提供しているかどうかによる。



AppImageファイルの展開

まず、AppImageファイルが最新バージョンの内部フォーマットを使用しているかどうかを確認する。

./<AppImageファイル> --appimage-help


出力に次のような行がある場合、埋め込まれたファイルシステムのイメージからコンテンツを取り出すことができる。

./<AppImageファイル> --appimage-extract


上記のコマンドが失敗する場合は、ヘルパーツールを使用することができる。
AppImageToolをダウンロードする。
AppImageToolを実行する。

./<AppImageToolファイル> --list <展開するディレクトリ>