Debian には make install 用の仮想環境はありますか?

Debian には make install 用の仮想環境はありますか?

Python virtualenvを使用している人は、自分の環境でスクリプトを実行し、必要なすべてのライブラリをインストールすることができます。

Linux(Debian)の世界にも同様のmakeユーティリティがありますか?

  1. シナリオ1:ソースコードをダウンロードし、どの依存関係が必要かを知っています。私のホームディレクトリのどこかにライブラリを置き、 makeユーティリティにライブラリを検索する場所を明示的に伝えます。
  2. シナリオ2:ユーティリティに対して一種のvirtualenvを実行してmakeそこから呼び出すので、apt-get install lib-required-devダウンロードしたライブラリはこの仮想環境に配置され、私のOSを汚染しません。それから私は走ったmake

ベストアンサー1

ケース1は、少なくとも一部のプログラムでは比較的簡単です。ほとんどのソースコードパッケージには、必要なconfigureライブラリの可用性を確認するスクリプトが含まれています。これらのスクリプトには検索パスを指定するオプションがあることがよくあります。たとえば--lib-prefix。これにより、Makefileを直接変更する必要さえありません。これがうまくいくかどうかは、依存関係がどれほど複雑なのかによって異なりますが、試してみる価値があります。

オプション2の場合、次のプログラムがありますchroot

   chroot - run command or interactive shell with special root directory

chroot特定のファイルとディレクトリが存在する必要があります。詳細は正確に何が必要なのかによって異なります(たとえば、必要ですか/dev?必要ですか/proc?)。chrootルートとして、以下の最小限の環境を得ることができます。

mkdir foo
cp -r /bin /lib /lib64 foo/
chroot foo

最後のコマンドはそのディレクトリに移動し、デフォルトのfooシェルを実行します。私が説明した手順は単純化されていますfoo。たとえば、すべてが必要なわけではありません。実行する操作によっては、より多くのディレクトリが必要になる場合があります。最後に、ディレクトリを環境に接続する方法を使用することもできますが、実際のオペレーティングシステムと完全に独立したい場合は使用できません。//libmount bindchroot

これらの遊び場を作成する簡単な方法は、小さなパーティションを選択し、そのパーティションに最小限のシステムをインストールすることです。その後、chroot(常にルートとして)次のように簡単に実行できます。

mount /dev/sda2 foo/
chroot foo/

もちろん、sda2最小システムをインストールしたパーティションに変更してください。詳細については、次のリンクを参照してください。

おすすめ記事