标签:chroot conf 生成 etc command 系统文件 file copy bash
生成 chroot 环境脚本 根据系统文件生成chroot环境
[github地址](shell_script/chrootBuilder at master · ffashion/shell_script (github.com))
-
复制命令 库等
-
export command_list=("bash" "ls" "dpkg" "apt" "whoami" "whereis" "vim" "cat" "grep" "awk" "adduser" "groups" "perl" "su" "sudo" "passwd" "id" "mknod" "rm" "cp" "mv" "file" "mkdir" ) create_file(){ echo "create sys file" mkdir -p ./{root,dev,usr,etc,home} } copy_file(){ mkdir -p .`dirname $1` #如果使用-r 那么如果文件时软连接的话 只会复制软链接 并不会复制真正的文件 cp -u $1 .$1 } copy_dir(){ mkdir -p .`dirname $1` cp -ru $1 .$1 } copy_command_lib(){ # ldd $1 1>/dev/null 2>/dev/null || echo -n "static" #LIB为命的的库绝对路径 LIB=`ldd $1 2>/dev/null| grep 'lib.*=>.*' | awk '{print $3}'` for i in $LIB;do copy_file $i done } copy_command(){ copy_file $1 } copy_bash_conf(){ echo "copy bash_conf ..." copy_file /etc/{profile,bash.bashrc} copy_file /etc/bash_completion copy_file /etc/passwd copy_file /usr/share/bash-completion/bash_completion copy_dir /etc/bash_completion.d } copy_system_conf(){ echo "copy system_conf ..." copy_file /etc/hosts copy_file /home/fashion/.bashrc } copy_common_lib(){ copy_file /lib64/ld-linux-x86-64.so.2 } create_file copy_common_lib copy_bash_conf copy_system_conf #循环复制数组中的命令 以及命令依赖的so for i in ${command_list[*]};do absulute_path=`whereis -b $i | awk '{ print $2}'` [[ $absulute_path == "" ]] && echo $i "command not found " && continue echo "copy" $absulute_path copy_command $absulute_path copy_command_lib $absulute_path done cd .. cp ./initenv.sh ./chroot
- 只需要在command_list 数组中增加命令 即可往chroot环境中添加命令
-
标签:chroot,conf,生成,etc,command,系统文件,file,copy,bash 来源: https://blog.csdn.net/qq_44212821/article/details/117636845
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。