「代替」ディストリビューションにルートを切り替えるときは、どのproc、sysなどをバンドルしてマウントする必要がありますか(バンドルでマウントしないでください)。

「代替」ディストリビューションにルートを切り替えるときは、どのproc、sysなどをバンドルしてマウントする必要がありますか(バンドルでマウントしないでください)。

これは他の質問に対する答えですデフォルトでは、他のLinuxディストリビューションに帰結するため、主に過度に制限されているがchroot置き換えられない親ディストリビューションを置き換えるために使用できます。chroot実行する前に推奨されるアクションが何であるかをよりよく理解したいと思います。

cp /etc/resolv.conf etc/resolv.conf
cp -a /lib/modules/$(uname -r) lib/modules
mount -t proc archproc proc
mount -t sysfs archsys sys
mount -o bind /dev dev
mount -t devpts archdevpts dev/pts
  • resolv.confわかりませんが、レプリケーションは明確です(ネットワーク/インターネットアクセス)。modulesこれは実際にstage3 Gentooシステムに入るときは不要に見えます。そうですか?chroot
  • しかし、procバインドインストールを使用する代わりに再インストールするのはなぜですか?何ですかsysdev/pts実際この場合、「より正確な」ものは何ですか?
  • この動作方法マウントprocとをバインドするdevが、マウントがまったくないdev/ptsか。sysまた、/etc/{hosts,fstab}新しいルートディレクトリにコピーされます。馬になる?私も/etc/mdadm.conf含めてはいけないのか?

ベストアンサー1

DNS を失わないようにするには、/etc/resolv.conf をコピーします。

chroot を設定するときに、不要なハードウェアコンポーネントの一部を使用する必要があるため、/lib/modules がコピーされます。 OPで述べた元の質問は、NAS OSをArch Linuxに置き換えることに関連していることを覚えておく必要があります。そのため、イーサネット、ワイヤレス、さまざまなUSBコンポーネントなどのドライバが必要です。 /lib/modules フォルダをコピーすると、新しい環境が将来のタスクを処理できるようになります。

再インストールとバインドのインストールについて実際には正しいです。これchrootのArch Linux Wikiページ引用した投稿に対する回答に基づいて指定したように、再インストールとバインドマウントを使用します。

cd /mnt/arch
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
mount -t devpts pts dev/pts/

(私の考えでは、これは次からコピーした行の構文を示すようです。この投稿、間違っています:マウントする開発者がマウントポイントの前にあります。

しかし、chrootのUbuntuのマニュアルページ他の話を聞きます:

sudo mount -o bind /proc /var/chroot/proc

ここで、/proc は再マウントされずにバインドマウントされます。

実際に両方の方法を試してみましたが、短いテストの実行後に何の違いも見つかりませんでした。もちろん、これはあまり大きなテストではないので、大きな影響を与えないので、ここでは私の意見を控えておきます。

おすすめ記事