「chroot」でFedoraでUbuntuプログラムを使用できるようにする

「chroot」でFedoraでUbuntuプログラムを使用できるようにする

私のシステムの他のパーティションにFedoraとUbuntuがインストールされています。 「adobe reader」や「kerio-control-vpnclient-8.4.2-2869-linux」などのプログラムをfedoraで使用できるようにしたいと思います。このプログラムは私のUbuntuシステムにインストールされています。 chrootやLXCなどの同様のコマンドを使用して、Fedoraでこれらのプログラムを使用できるようにする方法を知りたいです。

答え1

chrootそれはあなたの問題をまったく解決しません。実際、chrootFedoraではなくUbuntuのようにプログラムを実行できます。 chroot 以外のファイルシステムへのアクセスを許可するには、複雑な設定が必要です。 chroot は分離に適しています。

しかし、問題を解決する良い方法は、環境変数を使用することです。たぶん、小さなbashスクリプトがUbuntuの場所にパスを設定し、LD_LIBRARY_PATHを変更できます。

たとえば、次のようになります。

#!/bin/bash
export PATH=PATH_TO_UBUNTU_BIN:$PATH
export LD_LIBRARY_PATH=PATH_TO_UBUNTU_LIB:$LD_LIBRARY_PATH
acroread

ここで、PATH_TO_UBUNTU_BIN と PATH_TO_UBUNTU_LIB は、ubuntu bin パス (たとえば /bin および /usr/local/bin または acroread がある場所) でなければなりません。 )。

答え2

インストールするシュルートFedoraシステムで。 Schrootは、root以外のユーザーが事前定義されたchrootを使用し、ホームディレクトリなどを/procchrootに表示するように配置できるchroot周辺ラッパーです。

私はschrootガイドを書いた64ビットDebian / Ubuntuで32ビットプログラムを実行するにはどうすればよいですか?Fedoraホストシステムの場合、設定はデフォルトで同じです。主にchrootの展開を調整する必要があります。インストールするブート防止プログラムchrootにUbuntuパッケージをインストールします。

外部からchrootのプログラムを呼び出すには、を呼び出す必要がありますschroot。 chrootというchrootには、このようなシェルラッパーを使用できますtrusty

#!/bin/sh
exec schroot -c trusty -p -q -- "${0##*/}" "$@"

呼び出すプログラム名を使用して、このスクリプトへのシンボリックリンクを作成します。たとえば、このスクリプトがあり、そのコマンドが信頼できるchrootのプログラムを呼び出すようにするには、/usr/local/bin/trustyシンボリックリンクを作成します。acroread

ln -s trusty /usr/local/bin/acroread

関連情報