Bindfsを使用してchroot環境とそのホスト間に共有フォルダを作成する方法

Bindfsを使用してchroot環境とそのホスト間に共有フォルダを作成する方法

次の問題を解決するためにbinfs(または実行可能な代替手段)を使用したいと思います。

作業中のMavenプロジェクトを含むローカルフォルダがあります。ただし、chroot環境でのみビルドできます(仮想化の速度が遅すぎます)。しかし、これは開発環境なので(ユーザー権限で)IDEを使用してmount-bindフォルダのファイルを編集する方法はありません(現在のchroot envにフィードする方法です)。これは大きな問題になります。 。

私はバインドが役に立つと思いますが、どうすればいいかわかりません。

編集する:

明確にするために:私は(ルートとして)試しました

mount -o bind /path/to/my/project /path/to/chroot/mountpoint

そして

bindfs -u myuser -g users -p +rw /path/to/project /path/to/chroot/mountpoint

答え1

chroot内に追加のディレクトリツリーを提供することは、バインドマウントの一般的なユースケースです。あなたの場合、基本的なシステムと開発環境に同じホームディレクトリを持つことが合理的かもしれません。 root アクセス権があり、Linux を使用している場合は、Linux バインドマウントを使用できます。

mount --bind /home /path/to/development/environment/home
chroot /path/to/development/environment

バインドマウントは、バインドマウントが追加のレイヤーであるため、バインドマウントよりも速く、バインドマウントは元のレイヤーと同じです。これはファイルへのハードリンクと同じことを行います。

使いたいかもしれませんシュルート。これはchrootから作業システムを作成するためのわずかな自動化です。自動化するタスクの1つはバインドマウントです。もともとは、あなたが今やっていること、つまりDebianシステムにきれいな開発環境を設定するために開発されました。

バラよりバインドマウントとは何ですか?バインドのインストールの詳細については、特に「刑務所からのインストール」および「他のディストリビューションの実行」のセクションを参照してください。

関連情報