你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux系统教程:定制5M的RedHat 5.8系统

[日期:2013-05-18] 来源:Linux社区  作者:邓俊阳 [字体: ]

/mnt/sysroot目录下文件准备
 
创建所需目录

mkdir mkdir bin sbin dev mnt media etc/rc.d/init.d boot root sys proc var/{log,lock/subsys,run,tmp} usr/{bin,sbin,src,local} lib/modules opt home -pv

编辑inittab配置文件

vim /mnt/sysroot/etc/inittab 内容如下:
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit  

编辑rc.sysinit脚本配置文件

vim /mnt/sysrootetc/rc.d/rc.sysinit 内容如下:
#!/bin/bash
#
echo -e "\tMy\033[34mMageTeam\033[0mLinux"
/bin/bash
chmod +x /mnt/sysrootetc/rc.d/rc.sysinit(添加执行权限)

到这里小linux的简单配置就完成了下面我们用脚本复制命令及所依赖的库文件,脚本内容如下:

#!/bin/bash
#
dest=/mnt/sysroot
libcp() {
libpath=${1%/*}
[ ! -d $dest$libpath ] && mkdir -p $dest$libpath
[ ! -e $dest${1} ] && cp $1 $dest$libpath && echo " copy lib $1 finished"
}
bincp() {
cmdpath=${1%/*}
[ ! -d $dest$cmdpath ] && mkdir -p $dest$cmdpath
[ ! -e $dest${1} ] && cp $1 $dest$cmdpath
for lib in `ldd $1 | grep -o "/.*lib\(64\)\{0,1\}/[^[:space:]]\{1,\}"`; do
libcp $lib
done
}
read -p " your command:" cmd
until [ $cmd = 'q' ]; do
! which $cmd && echo "wrong command" && read -p "input again:" cmd && continue
command=`which $cmd | grep -v "^alias" | grep -o "[^[:space:]]\{1,\}"`
bincp $command
echo "copy $command finished."
read -p "continue:" cmd
done

启动裁剪的系统复制init bash这两个就能启动,其他的命令可在后用到后再进行添加(例如,touch,vim,chmod,chown,mkdir,rm,mv,cp,cat,mount,umount,ping,ifconfig,insmod,modprobe,rmmod,route,reboot,shutdown,hostname等)虚拟机完成的一定要多多sync哦,这个是很重要滴!!!

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款