作者:Grey
原文地址:
CentOS-7
下載地址:下載 CentOS-7
Linux 的安裝可以參考:Linux 安裝,快照,克隆
第一步,通過以下命令生成100m
的空img
檔案,其中dd
命令可以用於硬碟的互相拷貝。
dd if=/dev/zero of=mydisk.img bs=1048576 count=100
第二步,使用losetup
將磁碟映象檔案虛擬成塊裝置
losetup /dev/loop0 mydisk.img
第三步,通過mke2fs
命令用於建立ext2
檔案系統。
mke2fs /dev/loop0
第四步,掛載,首先,建立一個資料夾
mkdir /mnt/myos
然後掛載到這個資料夾
mount -t ext2 /dev/loop0 /mnt/myos
檢視/dev/loop0
資訊,它就是一個塊裝置
ll /dev/loop0
繼續完善/mnt/myos
目錄,
首先,拷貝 bash 到myos
的 bin 目錄中,執行下述兩條命令
mkdir /mnt/myos/bin
cd /mnt/myos && cp /bin/bash ./bin
檢視 bash 需要的依賴
ldd /mnt/myos/bin/bash
顯示如下資訊
linux-vdso.so.1 => (0x00007ffd31dd1000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f98391cf000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9838fcb000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9838bfd000)
/lib64/ld-linux-x86-64.so.2 (0x00007f98393f9000)
模擬 bash 的依賴結構,我們建立好對應的依賴存放目錄
mkdir /mnt/myos/lib64
將系統中 bash 的所有依賴拷貝到這個目錄
cp /lib64/{libtinfo.so.5,libdl.so.2,libc.so.6,ld-linux-x86-64.so.2} /mnt/myos/lib64/
啟動myos
下的 bash
cd /mnt/myos
chroot ./
注:chroot 命令是把根目錄換成指定的目的目錄。
使用 echo 和重定向測試 bash
echo "d" > /abc.txt
然後執行
exit
退出 bash ,並在/mnt/myos
目錄下,使用 ls 命令,可以檢視到 abc.txt 已經生成,使用
cat /mnt/myos/abc.txt
可以看到剛才通過 bash 寫入的內容
本文來自部落格園,作者:Grey Zeng,轉載請註明原文連結:https://www.cnblogs.com/greyzeng/p/16794865.html