<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 練習 21:文件系統:修改根目錄,`chroot` > 原文:[Exercise 21. Filesystems: changing root directory, chroot](https://archive.fo/h9FWU) > 譯者:[飛龍](https://github.com/wizardforcel) > 協議:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) > 自豪地采用[谷歌翻譯](https://translate.google.cn/) 讓我從另一個[維基百科](http://en.wikipedia.org/wiki/Chroot)的引用開始: > Unix 操作系統上的`chroot`是一個操作,可以為當前正在運行的進程及其進程修改根目錄。在這種修改后的環境中運行的程序,不能指定(也就是訪問)這個特定目錄樹之外的文件。術語`chroot`可以指`chroot(2)`系統調用或`chroot(8)`包裝程序。修改后的環境稱為`chroot`監牢。 這意味著你可以創建一個目錄(例如`/opt/root`),將必要的程序復制到那里并執行此程序。對于這樣的程序,`/opt/root/`就是根目錄`/`。要了解為什么你需要這樣,請閱讀維基百科[`chroot`](http://en.wikipedia.org/wiki/Chroot%23Uses)文章。 這是練習的時候了。你現在將使用 bash 創建一個最小的`chroot`環境。為此,你將創建一個目錄結構,并將 bash 及其依賴項復制到其中。 現在,你將學習如何創建一個`chroot`環境并進入它。 ## 這樣做 ``` 1: sudo -s 2: ldd /bin/bash 3: mkdir -vp /opt/root/bin 4: mkdir -v /opt/root/lib 5: mkdir -v /opt/root/lib64 6: cp -v /bin/bash /opt/root/bin/ 7: cp -v /lib/libncurses.so.5 /opt/root/lib/ 8: cp -v /lib/libdl.so.2 /opt/root/lib 9: cp -v /lib/libc.so.6 /opt/root/lib 10: cp -v /lib64/ld-linux-x86-64.so.2 /opt/root/lib64 11: chroot /opt/root/ ``` 哇哦,你為你自己創建了一個 Linux,某種程度上是這樣。 ## 你會看到什么 ``` user1@vm1:/opt~ sudo -s root@vm1:/opt# ldd /bin/bash linux-vdso.so.1 => (0x00007fff17bff000) libncurses.so.5 => /lib/libncurses.so.5 (0x00007f4b1edc6000) libdl.so.2 => /lib/libdl.so.2 (0x00007f4b1ebc2000) libc.so.6 => /lib/libc.so.6 (0x00007f4b1e85f000) /lib64/ld-linux-x86-64.so.2 (0x00007f4b1f012000) root@vm1:/opt# mkdir -vp /opt/root/bin mkdir: created directory `/opt/root' mkdir: created directory `/opt/root/bin' root@vm1:/opt# mkdir -v /opt/root/lib mkdir: created directory `/opt/root/lib' root@vm1:/opt# mkdir -v /opt/root/lib64 mkdir: created directory `/opt/root/lib64' root@vm1:/opt# cp -v /bin/bash /opt/root/bin/ `/bin/bash' -> `/opt/root/bin/bash' root@vm1:/opt# cp -v /lib/libncurses.so.5 /opt/root/lib/ `/lib/libncurses.so.5' -> `/opt/root/lib/libncurses.so.5' root@vm1:/opt# cp -v /lib/libdl.so.2 /opt/root/lib `/lib/libdl.so.2' -> `/opt/root/lib/libdl.so.2' root@vm1:/opt# cp -v /lib/libc.so.6 /opt/root/lib `/lib/libc.so.6' -> `/opt/root/lib/libc.so.6' root@vm1:/opt# cp -v /lib64/ld-linux-x86-64.so.2 /opt/root/lib64 `/lib64/ld-linux-x86-64.so.2' -> `/opt/root/lib64/ld-linux-x86-64.so.2' root@vm1:/opt# chroot /opt/root/ ``` ## 解釋 1. 作為超級用戶(root)執行 bash。 1. 打印出 bash 需要的的庫。 1. 在一個命令中創建`/opt/root/`和`/opt/root/bin/`目錄。很帥吧? 1. 創建`/opt/root/lib`目錄。 1. 創建`/opt/root/lib64`目錄。 1. 將`/bin/bash`復制到`/opt/root/bin/`。 1. 將`/lib/libncurses.so.5`復制到`/opt/root/lib/`。 1. 將`/lib/libdl.so.2`復制到`/opt/root/lib/`。 1. 將`/lib/libc.so.6`復制到`/opt/root/lib/`。 1. 將`/lib64/ld-linux-x86-64.so.2`復制到`/opt/root/lib64/`。 1. 將根目錄更改為`/opt/root/`。 ## 附加題 + 閱讀`man chroot`,`man ldd`。 + 將`ls`命令復制到你的`chroot`并使其正常工作。 + 一個難題:將`vim`復制到你的`chroot`并使其正常工作。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看