Windowsに何かをインストールするには、ボタンをクリックするだけです。しかし、APTにはないLinuxに何かをインストールしようとするたびに、私はとても混乱します。
zipされたフォルダーをダウンロードしますか?運がよければ、いくつかのドキュメントを参照するREADMEがあり、運がよければ助けになるかもしれません。
APTにない拡張機能やアプリケーションを「インストール」するときの手品とは何ですか?
私はLinuxが大好きですが、この問題は毎日私を悩ませます。
Windowsに何かをインストールするには、ボタンをクリックするだけです。しかし、APTにはないLinuxに何かをインストールしようとするたびに、私はとても混乱します。
zipされたフォルダーをダウンロードしますか?運がよければ、いくつかのドキュメントを参照するREADMEがあり、運がよければ助けになるかもしれません。
APTにない拡張機能やアプリケーションを「インストール」するときの手品とは何ですか?
私はLinuxが大好きですが、この問題は毎日私を悩ませます。
回答:
それは従うソフトウェアである場合にはFilesystem Hierarchy Standardをあなたはそれを配置する必要がありますよりも/usr/local
、適切なサブディレクトリ(のようなbin
、lib
、share
、...)。
他のソフトウェアは、の下の独自のディレクトリに配置する必要があります/opt
。次にPATH
、bin
ディレクトリまたは実行可能ファイルを保持するディレクトリを含めるように変数を設定するか、へのシンボリックリンクを作成します/usr/local/bin
。
この質問に対する簡単な答えはありませんが、どのように機能するかの一般的な概要を説明できます。
ほとんどのLinuxソフトウェアは、作成者(「上流」)からソースコード形式で提供されています。これにより、特定のプラットフォームおよびシステム構成用のコンパイラーを持っているすべてのユーザーが、ソースコードをダウンロードして自分でコンパイルできます。残念ながら、多くのプログラムは他のプログラムやソフトウェアライブラリによって提供される機能に依存しています(依存関係)。
通常、Windowsソフトウェアはプリコンパイルされた形式で提供されます。つまり、すべてのWindowsコンピューターに1つの汎用実行可能ファイルがあり、多くの場合、依存関係はインストールパッケージに含まれています。
Linuxディストリビューションはソースコードを取得し、プリコンパイルしてパッケージとして提供します。パッケージには依存関係は含まれていませんが、それらを参照し、パッケージシステムにそれらを強制的にインストールします(これはおそらく、既に経験したことのある混乱を招く可能性があります)。
プリコンパイルされたパッケージがない場合は、いつでもソースコードをダウンロードして自分でコンパイルできます。ほとんどの場合、以下が機能します。
./configure
make
(sudo) make install (or sudo checkinstall)
./configure行は、コンパイルプロセスの段階を設定します(依存関係が満たされない場合はエラーを吐き出します)。make行は、プログラムのすべての部分をコンパイルするスクリプトであるMakefileを実行します。
従来、make installを使用してソフトウェアをインストールしていました。これは通常、実行可能ファイルを/ usr / local / binに配置します。
aptを使用しているので、checkinstallを入手することをお勧めします。make installの代わりに使用でき、.debパッケージが生成されます。これにより、後でソフトウェアをきれいに削除することがはるかに簡単になります。
他にも少数のコンパイルシステム、たとえばcmakeがあることに注意してください。また、一部のソフトウェアはプリコンパイルされていますが、パッケージ化されていません(この場合、解凍したフォルダーから直接起動できます)。一部のソフトウェアは、自分で実行する必要があるスクリプトのコレクションとして提供されます。SVNの新しいコードにはconfigureスクリプトが含まれない場合があるため、最初にautoconfツールチェーンを実行する必要があります。これらの不思議なダウンロードのほとんどをどうするかを教えてください。Configure-Make-Checkinstallは、最初の良いスタートです。
PS。週末を1つか2つ過ごして、自分でプログラムを作成する方法を学びましょう。
PPS。Linuxソフトウェアの作者が、ソースコードの代わりにプリコンパイルされたパッケージを提供しないのはなぜかと思うかもしれません。まあ、彼らは時々そうします。しかし、さまざまなプラットフォームとLinuxディストリビューションにはすべて独自のパッケージ形式とファイルシステムルールがあるため、開発者は考えられるすべての構成にパッケージを提供する必要があり、これは苦痛です。しかし、Ubuntuパッケージは多くの場合、最も見つけやすいものです。PPAとは何か、どのように機能するかを調べる必要があります。
checkinstallをチェックアウトする必要があります。の代わりに
./configure
make
sudo make install
あなたがやる
./configure
make
sudo make checkinstall
aptを介してインストールしたかのように、そのパッケージを管理できます。
これは非常に紛らわしい、妥当で理にかなった理由があります(迷惑なアーティファクトの理由もあります)...
Unixにはマルチユーザーの歴史があり、ほとんどのユーザーは、特定のアクセスが許可されていたエリア外にアプリをインストールするアクセス権を持っていませんでした。
したがって、理論は、ホームディレクトリに何かを構築し、それを管理している領域(独自のプロジェクト領域、または共有領域)にコピーするというものです。
Windows PCは一般にシングルユーザーシステムであり、この制約はありません。すべてがプログラムファイルに格納されます。
それから、新しいバージョンのUnixが登場するたびに作成者が場所を変更する必要があると感じたが、自動スクリプトのために古いものがまだ存在しなければならなかったという愚かで迷惑な事実があります。これにより、同じ目的に役立つ多数のリンクされたディレクトリが得られます。
initシステムはさらに悪いです。