複数のディストリビューションにアプリケーションを公開する最も簡単な方法は何ですか? [閉鎖]

複数のディストリビューションにアプリケーションを公開する最も簡単な方法は何ですか? [閉鎖]

3つの主要なオペレーティングシステムすべてに配布したいElectronプログラムがあります。 WindowsとmacOSに投稿するのは簡単です。単一のインストールファイルで十分であり、これらのオペレーティングシステムユーザーはインターネットを介して独立してアプリケーションを更新することに精通しています。

Linuxでは、いくつかの質問があります。

  1. メンテナンスが必要なパッケージマネージャがたくさんあります。
  2. より便利で、インターネットに接続したり「自宅に電話」する必要がないように、パッケージマネージャを使用してパッケージを更新する必要があります。

この問題を解決する方法はいくつかありますが、それらのどれもあまり良い方法はありません。

  • AppImages、Snaps、およびFlatpakは別々の環境なので、オーバーヘッドが発生します。 AppImagesはスタンドアロンなので、更新するのは面倒ですが、Snapsはデフォルトで自動的に更新されます(ありがとう)。 FlatpakとSnapdもデフォルトでほとんどインストールされていません。
  • 少なくとも3つのパッケージ(AUR / APT / RPMなど)を維持する必要がある深刻な不快感に加えて、PPAはDebianでは機能しません。
  • バイナリやタールボールを提供するのは私にとって最も簡単ですが、エンドユーザーにとっては不便であり、定期的なアップデートを提供することはできません。

私のバイナリをほとんどのデプロイパッケージマネージャに簡単にデプロイできるツールはありますか?私が逃した他の魔法の解決策はありますか?それともアクセス可能なLinuxパッケージを提供するのは本当に難しいですか?

ベストアンサー1

ユーザーに直接配布するには、通常ファイルにソースを提供するだけです.tar.gz。ユーザーはそれを抽出し、記録されたものと./configure && make && sudo make install DESTDIR=/usr/local同じ内容を実行します。

Windows/MacOS インストーラの作成と上記の作業の違いは、ソースコードの配布とバイナリの配布です。必要に応じてバイナリを展開できます。


Arch、deb、または rpm パッケージをデプロイする場合は、使用を検討してくださいcpack。すでに使用している場合は、cmake下部にいくつかのコマンドを追加すると、すでに作成CMakeLists.txtしたコマンドを使用して選択した形式でアーカイブが構成されますcpackinstallたくさんあります発電機前述の形式などのサポートが可能です。


次の質問は、このインストーラを展開する方法についてです。これに対する簡単なクロスディストリビューションの答えはありません。ただし、Windows / MacOSに対応する製品はWindows / Apple Storeを使用し、あなたはそのパスに従わないため、すでに「同等」な状態にあると仮定します。サイト運営者から送信するよりも直接展開することに興味があるようです。


ユーザーを最新の状態に保つことが重要な場合は、次のことができます。

  • 最新バージョン(たとえば、多くのWindowsアプリケーション)をダウンロードする必要があることを知らせます。
  • サーバーからの自動更新
  • /etc/apt/sources.list.d/myrepo.list最初の直接ダウンロードを介して独自の*.debバージョンをデプロイし、独自のアーカイブを維持します(他のディストリビューションでも同じことを行います)。私はrepreproこれを使用します。

snaps最後に、appimageorflatpakも代替だと思います。

おすすめ記事