Linuxマシン、特にリモートマシンの管理の大部分は、ソフトウェアの管理とインストールです。ローカルアプリケーションで問題が発生した場合、またはファイルシステム上の問題が発生して修正が必要になった場合、物理的な画面の前に座るために何マイルも移動することなく、更新をプッシュしたいことがよくあります。 PluralsightコースのLinuxシステムのメンテナンスとトラブルシューティングで説明しているように、もちろんBashスクリプトを使用して多くの問題を解決できますが、古き良きバイナリに代わるものがない場合もたくさんあります。
一部のリモートシステムに新しいアプリケーションをインストールする必要があると想像してください。そうすれば、それらのコンピューターを使用するチームメンバーは、いくつかのビジネス機能を実行できるようになります。 DebianやRPMなどの主要なLinuxリポジトリシステムの1つの統合と自動化を活用できると、管理タスクが非常に簡単になります。
Linus Torvaldsが私たちに思い出させるのに飽きることがないので、多くのLinuxソフトウェア管理システムの問題は、Linuxソフトウェア管理システムが多すぎることです。何年にもわたって、アプリ開発やLinuxの採用でさえ、ソフトウェアをRPMシステムに導入したい場合、たとえばDebianリポジトリ用にソフトウェアを準備するために費やす時間と作業が役に立たないという事実によって複雑になっています。また、どちらもSUSEのZypperマネージャーには役立ちません。
ソフトウェアサイロの問題に対する有望な解決策の1つは、任意のLinuxディストリビューションで動作する独自の自己完結型環境でアプリケーションを配布することです。この若く成長している分野の標準の1つのオプションは、AppImageです。
AppImagesの操作
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
私はAppImageにオールインしています。私が言及した他のパッケージ管理システムと同様に、必要に応じて利用できる複雑さはたくさんあります。しかし、基本的に、AppImagesは実際には非常に単純です。 AppImagesは、他のほとんどのパッケージマネージャーのようにリポジトリを介して作業するのではなく、直接送信したり、Webサイトを介して共有したりできる単一のスタンドアロンファイルです。
これがその美しさのイラストです。 AppImagesで遊んでいるときに、技術フォーラムで非常に古い議論に出くわし、同じように古くて放棄されたGitHubプロジェクトと関連するYAMLおよびレシピファイルにたどり着きました。これらは、AppImageパッケージの生成に必要なアーカイブを準備するために必要なかなり複雑なインフラストラクチャを自動的に構築するように設計されています。そのインフラストラクチャはすべて、5年前のリリースのUbuntuで実行するように構築されていましたが、すべてをまとめてappimagetool
を実行すると それに対してコマンドを実行すると、現在のデスクトップでシームレスに機能するAppImageファイルが作成されました。深刻な手直しをせずに他のテクノロジーを使用して実行できる、その複雑さの5年前のGitHubプロジェクトはそれほど多くないと思います。
しかし、私はそこに行くつもりはありません。代わりに、非常に単純なHelloWorldアプリケーションでどのように機能するかを示します。まず、AppStreamパッケージがローカルにインストールされていることを確認します。
Debianベースのシステムの場合、次を実行します:
$ sudo apt install appstream
また、RPMシステムの場合は、次を使用します。
$ sudo dnf install appstream
この記事で参照されているGitリポジトリのクローンを作成します。これは、この例に基づいています。
$ git clone https://github.com/boolean-world/appimage-resources
$ cd appimage-resources
$ ls hello-world-appimage
次に、cd
Gitが作成した新しいディレクトリに移動し、周りを見回します。ここには2つのディレクトリがあります。 hello-world-appimage
を使用します;もう1つはより複雑なプロジェクトであり、試してみることも検討する必要があります。
helloworld.desktop
ファイルは、LinuxGUIシステムがデスクトップアイコンの表示方法を処理する方法を知るために読み取るものです。結局のところ、ファイルの現在の書き込み方法では少し後で問題が発生するため、少し編集してください。Categories=
を追加します。 行に値GNOME
を指定します 。最後のセミコロンを忘れないでください:
$ nano hello-world-appimage/helloworld.desktop
add Categories=GNOME;
appimagetool
のプリコンパイル済みコピーをダウンロードします AppImageGitHubプロジェクトからのバイナリ。 GitHubサイトにアクセスすることをお勧めします。そこには、優れたドキュメントとリソースがたくさんあります。バイナリがダウンロードされたら、ファイルを実行可能にして、hello-world-appimage
にポイントします。 ディレクトリ。ただし、最初に、必要なアーキテクチャを指定する必要があります。何らかの理由で、名前がx86_64
で終わるツール x86_64を使用してアプリケーションを構築するかどうかを選択することになると、すべてが不安定になります(そこで何が起こっているのかわかりません):
$ wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
$ chmod +x appimagetool-x86_64.AppImage
$ ARCH=x86_64 ./appimagetool-x86_64.AppImage hello-world-appimage
怒っているエラーメッセージが表示されない場合は、実行する準備ができています:
$ ls
$ ./hello-world-appimage-x86_64.AppImage
AppImageは、パッケージ管理に非常に効果的な選択肢です。調べてみると、Linuxディストリビューションが提供するデフォルトの優れた代替手段であることがわかると思います。