パッケージと.debsを説明するリンクの両方が見えます...わかりました...そしてtar.gzファイルが機能するためには多くのハッシュが必要です(例:Javaの新しい代替または、手動でファイルを/usr/local/bin(または別の場所に置きます。これは私が数時間検索した結果推論したものです)。パッケージがそれほどスマートであれば、パッケージや.debs / rpmsで利用できるLinuxアプリケーションはなぜそれほど少ないのですか?
私は新しいユーザーとして言います。専門家がもっとよく知っているでしょう。 (Eclipseのコンパイル可能なバージョンをダウンロードできますか?)netbeansやchromeと同様に、.sh
eclipseはシンプルで起動可能なディレクトリであり、Javaにはこのupdate-alternatives
ビジネスが必要ですが、Ubuntu / Debianの「プログラムリスト」(ただコマンドで登録)などに登録されていませんそうではありません。 (時々リポジトリでこれらのコンテンツが利用可能であることを知っていますが、ダウンロードページに正しい説明がない理由は混乱しています。)
簡単に言うと、tar.gzファイルをダウンロードまたはコンパイルした場合、それをシステムにどのように登録しますか?update-alternatives
コマンドで登録しているようですが、Ubuntuでは検索ボックスに表示されません。 Debian では、GNOME 2 ランチャーのショートカットを手動で追加できます。しかし、本当にどうすればいいですか?
編集する:
したがって、より新しいソリューションを試した後、「問題」を少し改善できます。
手動でインストールされたプログラムをどのように管理する必要がありますか? FirefoxとEclipseはこれまで私の唯一の例です(私はあまりダウンロードしていません)。どちらも私のお気に入りのボックスをすべて使用できます。しかし、どこにインストールする必要がありますか? Eclipseには独自のガイドラインがありますが、すべての「手動パッケージ」を同じ方法で実行したいと思います。
- 少し調査の終わりに私はこのプログラムを
/usr/local/bin
。 - ~からEclipseのインストール方法、ランチャーに何かを表示し、
xxx.desktop
その中にファイルを置く必要があります~/.local/share/applications/
。この.desktopファイルの名前は重要ですか? - 自動ツール(iFind
configure
またはunix/configure
File)を使用すると効果的です。CheckInstall
これらすべてを追跡するには、いくつかの研究ポイントを使用する必要があります。 update-alternatives
パスを登録するために使用する必要があります。したがって、Javaスレッド/usr/bin/java
、からまでのリンクを作成したようです/usr/lib/jvm/jdk...
。これらの「スタンドアロン」アプリケーション(EclipseやFirefoxなど)をインストールするときは、必ずそのアプリケーションに接続する必要がありますか/usr/bin/[app]
?主張1が本当なら、私は次のようにします。sudo update-alternatives --install "/usr/bin/[app]" "[app]" "/usr/local/bin/[app]" 1
このガイドラインは正しいですか/手動インストールを管理する良い方法ですか?従うべき他のステップがありますか?他の提案?
ベストアンサー1
パッケージストアで多くのアプリケーションが利用できないのはなぜですか?
いくつかの理由があるかもしれません。
- 誰もアプリをパッケージ化することに気にしません。
- 誰もアプリケーションをパッケージ化できません(例:Oracleは、Javaを配布する唯一の会社であると主張しています。)。
- このパッケージは、ディストリビューションの価値と競合するライセンスに基づいてリリースされました。
- ...
理由は一つもありません。ディストリビューションのパッケージマネージャでお気に入りのアプリケーションを表示するには、各ケースを個別に処理する必要があります。開発者に連絡して(IRCチャンネルやメーリングリストなど)、パッケージングにどのように役立つかを尋ねてください。
圧縮パッケージをインストールする方法は?
tarball(.tar.gzパッケージ)にはすべてのコンテンツを含めることができます。実際に開いてみるまで、インストール方法を推測することはできません。同様に、各パッケージは異なる方法で処理する必要があります。
ドキュメントを見つけてください!(準)まともなソフトウェアパッケージは、アプリケーションのインストール方法に関する指示を提供します。最初の反応は、常にREADME、INSTALL、または同様の名前のテキストファイルを見つけることです。出版社のウェブサイトを確認してみることも役に立ちます。
すべてのパッケージが異なるため、世界中のすべてのタールボールを処理するための普遍的な方法はありません。これは、世界のすべての材料に適したレシピを尋ねるのと同じです。起こりませんでした。
システム、ディストリビューション、デスクトップ環境をよく理解すると役に立ちます。したがって、それが安心すれば、Linuxの世界で時間を費やすほど、状況はますます予測可能になります。
特別な場合:Autotools
プロジェクトが拡大するにつれて、ソースコードからバイナリ、システムの完全なインストールに簡単に移動する方法を提供する必要があります。そのため、必要なタスクを実行するスクリプトのコレクションである組み込みビルドシステムが付属しています。
Linux/オープンソース/無料ソフトウェアの世界では、1つのビルドシステムが広く採用されています。GNU自動ツール。 (オープン)ソースパッケージで作業したことがある場合は、Autotoolsを試してみた可能性があります。
最も簡単な場合は、autotoolsでパッケージ化されたアプリケーションをインストールする方法は次のとおりです。
./configure
:システムに対応するMakefileを生成するスクリプトです(可用性への依存関係を頻繁に確認します)。make
:以前に生成されたMakefileに基づいてソースコードをコンパイルします。make install
:バイナリを適切な場所にコピーし、シンボリックリンクを作成し、開発者が定義したその他の手順を実行します。
ノート
configure
スクリプトには、使用するコンパイラやターゲットディレクトリを定義する方法など、さまざまなオプションがあることがよくあります。柔軟性が必要な場合は考慮する価値があります./configure --help
。- Autotoolsだと確信し、よく知っていても、いつもまず、マニュアルをお読みください(お読み、インストールなど)。
質問に対する回答の更新
あなたが尋ねた質問には明確な答えはありません。ここにいる誰もが「良い習慣」が何であるかについてそれぞれの意見を持っているかもしれませんが、結局あなただけがあなたに合ったものを見つけることができます。簡単な答えがあったら、このような質問をしなかったでしょう。あなたのディストリビューションがこれに答えます。
そういえば個人的な意見がいくつかありますね。
/usr/local/bin
私のシステムは、パッケージマネージャによってインストールされたパッケージを維持します。私が手動でコンパイル/インストールしたものはすべて/opt
。xxx.desktop
一般的なGUIの問題は、使用しているデスクトップ環境によって異なります。あなたのシステムで動作する場合は非常に良いです。しかし、Unixで利用可能なすべての環境に一般化されるわけではありません。/usr/local/bin
利点はすでにあなたの中にあります道。私が提案したように、別のディレクトリを使用するには、/opt
そのディレクトリをPATHに含める必要があります。何をすべきかわからない場合は、端末を開き、端末で次のコマンドを実行します。 (これは最善の方法ではありませんが、システムがわからない場合は他に提案することはできません。)echo 'export PATH=$PATH:/opt' >> ~/.bashrc