dubuntu的安装脚本
时间:2006-09-01 来源:CUDev
今天把 Dubuntu 的LiveCD的安装脚本翻出来看了一下。感觉些的还可以,不过有一个问题。
就是不允许用户自定义的进行分区。这是很不爽的一点,比较正规的发型版都有自己的installer,从中进行分区。
因为是LiveCD,所以安装的时候,其实就是将 LiveCD中的文件系统拷贝到硬盘上,比较简单。
总结一下一些shell的东西:
if [ ${UID} != 0 ]; then
echo ${UID}
echo " 错误: 必须以 root 身份运行本安装程序!"
exit 1
fi
判断是否是root运行,比较常用的。
tmpfile=`tempfile`
if [ ${flog:-no} == "yes" ]; then
swapdisk=""
fi
# Note: ${flog:-no} 语法结构: 即当 flog 为未赋值或为 null 时, 给其指定默认值为 no
这里是默认赋值,在有些时候还是比较有用的。
hd=`grep -m1 -w "${disk}" /boot/grub/device.map | cut -b 2,3,4`
grep 的选项:
-w, --word-regexp force PATTERN to match only whole words
-m, --max-count=NUM stop after NUM matches
这几个grep的选项不时很常用。
grub --batch <<EOT #Grub的非交互模式
root (${hd},$((${partition}-1)))
setup (${hd})
quit
EOT
--batch turn on batch mode for non-interactive use
非交互模式,shell主要就是用来进行系统管理的,经常需要一些非交互的处理。有的软件已经内建了 非交互模式,有些没有,可以通过将一些命令的输出转化为其标准输入。
就是不允许用户自定义的进行分区。这是很不爽的一点,比较正规的发型版都有自己的installer,从中进行分区。
因为是LiveCD,所以安装的时候,其实就是将 LiveCD中的文件系统拷贝到硬盘上,比较简单。
总结一下一些shell的东西:
if [ ${UID} != 0 ]; then
echo ${UID}
echo " 错误: 必须以 root 身份运行本安装程序!"
exit 1
fi
判断是否是root运行,比较常用的。
tmpfile=`tempfile`
if [ ${flog:-no} == "yes" ]; then
swapdisk=""
fi
# Note: ${flog:-no} 语法结构: 即当 flog 为未赋值或为 null 时, 给其指定默认值为 no
这里是默认赋值,在有些时候还是比较有用的。
hd=`grep -m1 -w "${disk}" /boot/grub/device.map | cut -b 2,3,4`
grep 的选项:
-w, --word-regexp force PATTERN to match only whole words
-m, --max-count=NUM stop after NUM matches
这几个grep的选项不时很常用。
grub --batch <<EOT #Grub的非交互模式
root (${hd},$((${partition}-1)))
setup (${hd})
quit
EOT
--batch turn on batch mode for non-interactive use
非交互模式,shell主要就是用来进行系统管理的,经常需要一些非交互的处理。有的软件已经内建了 非交互模式,有些没有,可以通过将一些命令的输出转化为其标准输入。
相关阅读 更多 +