今天测试个脚本,居然发现 ifconfig 命令会找不到,呖。。。。开发无止境,测试无止境!!
修改了一下,用 type 命令重新定位一下,判断系统中 ifconfig 命令的位置,代码如下:
IFCONF="/sbin/ifconfig"
[ ! -x "/sbin/ifconfig" ] &&
IFCONF=`type ifconfig | awk '{print $3}'`
接着又发现新问题了,type 的返回信息很“丰富”啊。。。
启动 bash 以后运行 type ifconfig 返回 ifconfig is /sbin/ifconfig
运行一次 ifconfig 后再运行 type ifconfig 返回 ifconfig is hashed (/sbin/ifconfig)
查看一下帮助,看看有没有什么参数可以用,type --help,
type: usage: type [-afptP] name [name ...]
不过,只有bash才支持这些参数;非POSIX的东西,不敢多用。
为了保证可靠性,修改代码:
IFCONF="/sbin/ifconfig"
[ ! -x "/sbin/ifconfig" ] &&
IFCONF=`type ifconfig | awk '{print $NF}' | sed 's/(\|)//g'`
当然,仍然不放心。。因为 type 有时候还会有这样的输出格式:
(bash) type type --> type is a shell builtin
(ksh) type type --> type is an alias for 'whence -v'
如果某人在环境变量里面 alias ifconfig='ifconifg -a' 了,这个脚本会报错吗?
好象不会,有兴趣可以研究一下。。。。。
二进制生存
二进制的世界就是个大泥潭, 为了不沉下去,就得不停的游!
2011-1-13
2010-6-11
QEMU入门
1、QEMU是最简陋、最快速的虚拟机工具,一条命令就能开始工作:
qemu -hda /dev/zero
当然,这条命令什么都干不了,只是告诉你网络启动失败,硬盘驱动、软驱、光驱也都无法启动。
2、来试试光盘引导:
qemu -cdrom ubuntu-10.04-server-i386.iso
可以启动ubuntu光盘了,当然你也可以试试windows安装光盘的ISO文件,也能装,不过你得先指定一个硬盘。
3、装个系统试试
3.1、先建个虚拟盘
qemu-img create -f qcow2 linux.img 1G
1G只是个容量上限,你写10G也没关系,不会占用你太多的空间,用多少算多少
3.2开始启动安装程序
qemu -hda linux.img -cdrom ubuntu-10.04-server-i386.iso -m 512M -boot d
参数依次是 硬盘、光盘、内存、引导位置
装一半过过瘾就行了,别真的装了。知道为什么?
QEMU性能不如vmware和virtualbox,真要用估计没多少人会选qemu
搞开发玩玩可以,真真上生产还是不大方便
4、开始玩了,凑点装备准备上路
需要的装备:
qemu -hda /dev/zero
当然,这条命令什么都干不了,只是告诉你网络启动失败,硬盘驱动、软驱、光驱也都无法启动。
2、来试试光盘引导:
qemu -cdrom ubuntu-10.04-server-i386.iso
可以启动ubuntu光盘了,当然你也可以试试windows安装光盘的ISO文件,也能装,不过你得先指定一个硬盘。
3、装个系统试试
3.1、先建个虚拟盘
qemu-img create -f qcow2 linux.img 1G
1G只是个容量上限,你写10G也没关系,不会占用你太多的空间,用多少算多少
3.2开始启动安装程序
qemu -hda linux.img -cdrom ubuntu-10.04-server-i386.iso -m 512M -boot d
参数依次是 硬盘、光盘、内存、引导位置
装一半过过瘾就行了,别真的装了。知道为什么?
QEMU性能不如vmware和virtualbox,真要用估计没多少人会选qemu
搞开发玩玩可以,真真上生产还是不大方便
4、开始玩了,凑点装备准备上路
需要的装备:
- qemu 有Linux/Windows版的,不过你得在Linux下玩,不然后面就玩不下去了
- kernel 需要一个内核文件,硬盘里或者网上随便找一个,凑合着能用就行。如果你已经在Linux下面了,/boot/下面就有。再或者,Linux安装盘上一般也能找到,拷下来就能用。
- busybox 基本上每个Linux系统里面都已经有了,或者去下载一个 http://www.busybox.net/downloads/binaries/ busybox-i686 就不错
- Linux内核 http://www.kernel.org/pub/linux/kernel/v2.6/
- 内核编译环境 准备编个自已的内核
订阅:
帖子 (Atom)