Mount
在 chroot 到“替換”發行版時,應該綁定(或不)哪個 proc、sys 等?
這個對另一個問題的回答基本上歸結為
chroot
進入另一個 Linux 發行版,以便主要將其用作其過於受限(但不可替代)的父代的替代品。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
- 這實際上在chroot
進入 stage3 Gentoo 系統時似乎沒有必要,對吧?- 但是為什麼是
proc
,sys
anddev/pts
remounted 而不是使用 bind-mounted 呢?這種情況下的實際區別是什麼,哪個“更正確”?- 這個 HowTo綁定掛載
proc
和dev
,但根本沒有掛載dev/pts
nor 。sys
此外,它會復製/etc/{hosts,fstab}
到新的根目錄。那有意義嗎?我不應該也包括/etc/mdadm.conf
嗎?
複製 /etc/resolv.conf 是為了不失去 DNS。
複製 /lib/modules 是因為可能需要使用一些在設置 chroot 時不需要存在的硬體組件。您必須記住,您在 OP 中提到的原始問題涉及用 Arch Linux 替換 NAS 作業系統。因此,您將需要乙太網驅動程序、可能的無線驅動程序、各種 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/
(我認為這顯示了從這篇文章複製的行的語法是錯誤的:要掛載的 dev 在掛載點之前)。
但是,chroot 上的 Ubuntu 手冊頁講述了一個不同的故事:
sudo mount -o bind /proc /var/chroot/proc
這裡 /proc 是綁定掛載的,而不是重新掛載的。
我實際上已經嘗試了這兩種方法,經過短暫的測試執行後,我無法發現任何區別。誠然,這並不是一個測試,因此我將在此說明我的觀點,即它不會產生太大影響。