私はUbuntu12.04を使用しています。バージョン1.7でリポジトリ(すべての依存関係を含む)からpackage x
をインストールしたが、バージョン1.8でのみ使用可能な機能が必要なため、ソースtarをダウンロードしてコンパイルするとします。
./configure
make
make install
package x
を更新できますか?package y
にpackage x 1.8
の依存関係がある場合、それは満たされますか?私はこれを説明する良い情報源をオンラインで見つけようとしています。何かアドバイスがあれば教えてください。
ソフトウェアセンターから、またはAPTコマンド(apt-get
、aptitude
)またはdpkg
を使用してインストールしたものは、パッケージ管理システムに認識されています。 dpkg
は低レベルのパッケージ操作ツールです。APTとその仲間は、dpkg
を呼び出して実際のインストールを実行し、依存関係とパッケージのダウンロードも処理する高レベルのツールです。
ソースからプログラムをコンパイルする場合、それはパッケージマネージャーに認識されません。 Linuxでの規則は、物事を追跡するのに苦労し、インストールをオーバーライドするという苦痛について従う必要があります。
/bin
、/lib
、/sbin
、/usr
はパッケージマネージャーに予約されています。/usr/local
がシステム管理者用であることを除いて—そこのディレクトリ階層を尊重しますが、ファイルを管理するのはあなた自身です。より新しいバージョンのソフトウェアを入手する方法のリストについては、 buntu10.04でvim/gvimを7.3にアップグレードする最良の方法? を参照してください。最も簡単な方法は、 [〜#〜] ppa [〜#〜] (ある場合)を取得することです。バイナリパッケージを入手するか、ソースからコンパイルする場合は、 stow を使用して手動でインストールしたソフトウェアを管理することをお勧めします。または、 独自の.deb
パッケージを作成 —作業量は多くなりますが、頻繁にアップグレードする場合(通常、次のマイナーバージョン用にパッケージをやり直すのは非常に高速です)、またはにデプロイする場合に効果があります。同じディストリビューションを実行している多くのマシン。
ほとんどのプログラムでは、./configure && make && Sudo make install
を実行すると、プログラムは/usr/local
の下にインストールされます。ソースに付属のドキュメント(通常はREADME
またはINSTALL
というファイル)を確認するか、./configure --help
を実行してこれが当てはまるかどうかを確認してください。プログラムが/usr/local
の下にインストールされている場合、パッケージマネージャーによって提供されるバージョンに干渉することはありません。 /usr/local/bin
はシステムPATH
で最初に来ます。管理者(root)としてmake install
を実行する必要があることに注意してください。 rootとしてコンパイルしないでください。上記のように、/usr/local
に直接インストールするのではなく、stowを使用することをお勧めします。
これはパッケージや他の多くのものに依存します
短編小説:
一般的な答えはありません。パッケージに大きく依存します。ソースからコンパイルするのではなく、可能であれば公式の+ 1PPAを使用する必要があります。