ソースを配布せずに Linux でプログラムを配布できるようにしたいと考えています。現在の解決策は、コンパイル済みのバイナリを含む tar.gz を配布することです。このバイナリをアプリケーション メニューに配置する最も簡単な方法は何ですか? これを行う方法はほとんどの Linux ディストリビューションで共通ですが、Ubuntu、Fedora、および OpenSUSE が優先されます。
8 に答える
.deb と .rpm を作成する必要があります。前者は Ubuntu (Debian バリアント) を対象とし、後者は Red Hat バリアントを対象としています。メニュー自体などを処理できる他のユーザーにスタンドアロンの実行可能ファイルを提供することもできます。
Gnome と KDE のメニュー管理に対処する必要があり、ディストリビューションが異なればメニューのレイアウトも異なります。また、おそらく独自の「アプリケーションの追加」メカニズムを備えたネットブック インターフェイスを備えた Moblin などのネットブック バリアントの問題もあります。単一の .deb で Gnome と KDE の両方のメニュー システム (それぞれ Ubuntu と Kubuntu の場合) を処理できるかどうかはわかりませんが、Ubuntu の作業の重複を減らす機能があると思います。
最近のすべてのディストリビューションがインストールされている必要xdg-utils
があります。これにより、次のようなスクリプトが提供されます。
- xdg デスクトップ アイコン
- xdg-デスクトップ-メニュー
あなたが探しているもののようです。
最近は調べていません...しかし、Linuxを使用していた当時(それほど昔ではありませんでした)、RPMは事前にコンパイルされたバイナリを配布する最も簡単な方法でした(ほとんどのディストリビューションではRPMがありましたが、今でもRPM パッケージのある種のサポートがあります)。
RPM パッケージのビルドに関する古いハウツーは次のとおりです。
BitRockのインストーラーを見ることができます。
tar.gz を実行してから、変更されたパッケージを再配布するためのコミュニティの権利を与えます。彼らは、愛するディストリビューション用の RPM、DEB、およびその他のパッケージを作成します...おそらく、あなたが作成したよりもはるかに優れたディストリビューションに適合するでしょう。
万能型のパッケージを作成するには、ディストリビューション間の違いが多すぎて、多くの場合微妙なものです。たとえば、一部のディストリビューションには「アプリケーション」セクションがあり、他の「アプリケーション」 ...これにより、一部のディストリビューションではメニュー項目が表示されなくなりました。ライブラリは異なる場合があり、デフォルト設定は異なる場合があります...
RPM と DEB は、信じられているほど移植性が高くありません。1 つのパッケージでは、1 つのディストリビューションの異なるバージョンでも問題が発生する可能性があり、適切に準備されていないパッケージを正しくインストールするために戦うことほど悪いことはありません。
Autopackageまたは別の質問に投稿された他のソリューションを試してください。
.deb または .rpm を使用したいという JeeBee の意見は正しいです。
Ubuntu/Debian (.deb) の場合、それを人に送信するのではなく、「リポジトリ」を作成し、ユーザーにその URL を /etc/apt/sources.list に追加させることを追加します。ソフトウェアを更新する方法も。
そうすれば、配布と更新の問題を同時に解決できます。
これがどのように見えるかの例を次に示します。
リポジトリは次のようになります。
しかし、Atmels の間違いを繰り返さないでください。i386 だけを実行してください。現在、amd64 のような他の一般的なアーキテクチャがたくさんあるからです。
/ヨハン
RPM については、IBM による次の 3 部構成のチュートリアルが、私が知っているパッケージングの初心者向けガイドとして最適です。
http://www.ibm.com/developerworks/library/l-rpm1/
http://www.ibm.com/developerworks/library/l-rpm2/
http://www.ibm.com/developerworks/library/ l-rpm3.html