有時,當我們想嘗試新事物時,我們總是更喜歡在虛擬機或沙盒環境中運行它,這樣它就不會對我們的原始機器或其重要文件造成任何損壞。 chroot 命令允許我們通過為它們創建備用根目錄來在安全的環境中運行命令和程序。 因此,我們將討論在 Debian 11 上使用此命令的方法。
在 Debian 上使用 chroot
要在 Debian 11 上使用 chroot,您需要執行以下步驟:
在 Debian 中啟動終端,然後在其中鍵入以下命令,然後按 Enter 創建新根目錄的關鍵:
sudo mkdir ~/new_root
該命令也顯示在下圖中:
成功創建新的根目錄後,我們將在新的根目錄中添加所有相關的子目錄。 為此,請在終端中鍵入以下命令,然後按 Enter 鑰匙:
sudo mkdir –p ~/new_root/{bin,lib,lib64}
運行此命令將在新根目錄中創建 bin、lib 和 lib64 子目錄。 該命令如下圖所示:
成功創建這些子目錄後,您需要做的下一件事是將要使用 chroot 測試的命令和程序的二進製文件複製到新的根目錄中。 為此,您首先需要查找這些二進製文件。 在這個 example,我們將找出以下命令的二進製文件:ip、ls 和 pwd。 此外,我們還將尋找 bash 程序。 為此,我們將使用如下所示的 which 命令:
which ip ls pwd bash
在終端中鍵入此命令,然後按 Enter 鑰匙。 它也顯示在下圖中:
一旦此命令成功執行,您將能夠在終端中看到相應命令和程序的二進製文件的路徑,如下圖所示:
- 找到所有相應的二進製文件後,您需要將它們複製到新的根目錄中。 為此,請在終端中鍵入以下命令,然後按 Enter 鑰匙:
sudo cp –v /bin/{ip,ls,pwd,bash} ~/new_root/bin
該命令如下圖所示:
該命令的成功執行將在您的終端上向您顯示類似這樣的信息,實際上,確認二進製文件已復製到新的根目錄中:
下一步是在新的根目錄中找出並複制這些命令和程序的依賴關係。 要找出 ip 命令的依賴關係,請在終端中鍵入以下命令,然後按 Enter 鑰匙:
ldd /bin/ip
此命令也顯示在下圖中:
運行此命令將顯示 ip 命令的所有依賴項。 您可以以同樣的方式找出 ls 和 pwd 命令的依賴關係。 ip 命令的依賴關係如下圖所示:
現在您需要將 ip 命令的所有依賴項複製到新的根目錄中。 為此,請鍵入如下圖所示的命令:
一旦此命令成功執行,您的終端將如下所示:
但是,要復制 /lib64 依賴項,您需要在終端中鍵入命令,如下圖所示:
您的終端將提示您一條消息,顯示 /lib64 文件已成功複製,如下圖所示:
現在你需要找出依賴項 bash 程序。 為此,請在終端中鍵入以下命令,然後按 Enter 鑰匙:
ldd /bin/bash
該命令也顯示在下圖中:
成功運行此命令將顯示所有必需的依賴項 bash 程序如下圖所示:
現在將這些依賴項複製到新的根目錄中,方法是在終端中鍵入下圖所示的命令,然後按 Enter 鑰匙:
如果此命令成功執行,您的終端將如下所示:
但是,要復制 /lib64 依賴項,請在終端中鍵入下圖所示的命令,然後按 Enter 鑰匙:
您的終端將顯示一條消息,確認上述依賴項已成功複製到新的根目錄,如下圖所示:
成功執行這些步驟後,您需要導航到新的根目錄。 為此,請在終端中鍵入以下命令,然後按 Enter 鑰匙:
sudo chroot ~/new_root/bin/bash
此命令將帶您到 bash 程序環境。 它也顯示在下圖中:
一旦你運行 bash 程序在您新創建的根目錄中,嘗試運行您在上面完成的配置的命令。 在這個 example,我將嘗試運行 ip 命令並查看它是否在新的根目錄中工作。 為此,請在終端中鍵入以下命令,然後按 Enter 鑰匙:
ip link
運行此命令將顯示下圖所示的輸出,這是對 ip 命令在新根目錄中成功運行的確認:
結論
按照本文介紹的方法,您可以輕鬆地在 Debian 11 上使用 chroot 命令。儘管如果您設法正確執行所有步驟,整個過程似乎很長,但您永遠不會遇到任何麻煩。