fakeroot環境でdebootstrapを実行できますか?

fakeroot環境でdebootstrapを実行できますか?

debootstrapインストールイメージを実行し、ファイルをいくつか変更し、ファイルがサポートしているディスクイメージにファイルをコピーしてインストールイメージを準備するスクリプトがあります。

これはうまくいきますが、実際には特権リソースを必要としないので、権限なしでスクリプトを実行rootできるようにしたいです。私は以下を使ってスクリプト全体をroot実行すると思いました。fakerootdebootstrap

W: Failure trying to run: chroot /tmp/tmp..... mount -t proc proc /proc

この問題を解決する方法はありますか?

答え1

一般的に言えば、はいdebootstrap、を介してroot以外のユーザーとして実行できますが、fakeroot詳細があります。

あなたが経験している即時の問題は、chrootrootではなくユーザーとして使用しようとすることです。fakechroot代わりに、以下を除外しますfakeroot

fakechroot fakeroot debootstrap sid /tmp/sid

後で発生する可能性のある問題には、root以外のユーザーとしてループバックインストールを作成すること、またはディスクイメージパーティションテーブルを作成することが含まれます。

これらすべての詳細を1つずつ処理するのではなく、次のdebootstrapバリアントを使用する方が簡単です。マルチベルト、いつか欲しい場合は、クロスコンパイル(x86-64でarmhfイメージを生成するなど)も処理できます。

答え2

--variant=fakechrootdebootstrapには、必要な操作を正確に実行するオプションがあります(参照文書)。

答え3

これchroot(2)システムコールにはroot権限、より正確には技術的 CAP_SYS_CHROOT能力が必要です(参照:能力(7))

だからあなたはそれを使用することはできませんfakeroot(あなたも必要ですfakechrootなど)。

関連情報