Lfs
LFS 6.7 /bin/sh 命令未找到
我正在建構 LFS 9.0 並已達到第 6.7 章。執行 make mrproper 時,我得到輸出:
make: /bin/sh: Command not found ...(above repeated ~20 times)... make: /bin/sh: Command not found Makefile:649: arch//Makefile: no such file or directory make: *** No rule to make target 'arch//Makefile'. Stop.
我已經嘗試重新啟動、重新掛載文件系統並按照 6.2 和 6.4 中的描述進入系統。我還嘗試在重新啟動之前和之後重新製作 /bin/sh 符號連結。我認為我正確地遵循了這本書自從重新啟動後,我執行了以下命令
mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc $LFS/procmount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run chroot "$LFS" /tools/bin/env -i HOME=/root TERM="$TERM" PS1='(lfs chroot) \u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin /tools/bin/bash --login +h ln -sv /tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin ln -sv /tools/bin/{env,install,perl,printf} /usr/bin ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib ln -sv /tools/lib/libstdc++.{a,so{,.6}} /usr/lib ln -sv bash /bin/sh under /sources/linux-5.2.8 ran makr mrproper
更新:取消連結 bash 和 sh 然後重新執行“ln -sv bash /bin/sh”後,我回到了原始輸出。我執行“find /bin -type l -ls”來獲取 .bin 中的符號連結列表,它為 /bin/sh 返回了這個:
/bin/sh -> bash
在製作第一輪符號連結時,我打錯了 bash。通過取消連結 bash 和 /bin/sh 並重新執行“ln -sv /tools/bin/bash /bin”然後“ln -sv bash /bin/sh”來修復