私が欲しいとしましょう:
- 独自のカスタムアプリケーションのコンパイルとインストール
- これを行うには、最新バージョンのlibthriftソースコードをダウンロード、コンパイル、インストールする必要があります。
- 最新バージョンのlibboostをダウンロード、コンパイル、インストールする必要があります。
ここでは、システムにこれらのライブラリをインストールし、他のパッケージと対話することができます。多くのライブラリはlibthriftとlibboostに依存しています。
- これをインストールすると、apt-get / yumを使用してインストールされている既存のパッケージが破損する可能性があります。
また、後でapt-getまたはyumを実行すると、次のようになります。
- 私のカスタムlibthriftとlibboostが上書きされ、これらのライブラリのカスタムバージョンに依存するカスタムアプリケーションがクラッシュします。
それでは、ここで解決策は何ですか? /homeにインストールしたくありません(コード回帰ビルドクラスタの共有ユーザーがパッケージを使用できるようにしたい)。私は/ optが実際にこの目的に使用されていないことを読んだ(インストールされたパッケージは独立、しかしそうではありません)。これ引用する私は事件が十分に詳細であることがわかりました。
ベストアンサー1
通常、解決策は「ソースからパッケージングシステムが管理するディレクトリにインストールしないでください」です。
たとえば、カスタムコンパイルされたコードをインストールし、ビルドシステムへの適切な呼び出し(たとえば、//を一般に設定)を使用して、それに依存するライブラリとインクルードファイルを見つけることができます/usr/local
。/usr/local
CPPFLAGS
CFLAGS
LDFLAGS
Makefile
アプリケーション固有のディレクトリ(たとえば、またはなど/usr/local/myapp
)/opt/myapp
にすべてのエントリをインストールすることもできます。
これも良いユースケースです。ルーストアバウト、ホストシステムと分離された分離開発/ランタイム環境を非常に簡単に設定できます。