#! /bin/sh
#脚本名
PROGRAM=setup-alpine
#版本号
VERSION=2.12.0-r4
#prefix空值
PREFIX=
#重要文件
source /lib/libalpine.sh
get_fqdn() shell函数
本地shell变量
local _dn
#hostname -f 主机全名 xx.yy.zz
_dn=$(hostname -f 2>/dev/null)
# hostname -s 短的主机名如 xx
# 去掉$var值的x前缀
$(var#x)
${_dn#$(hostname -s 2>/dev/null)} 保留域名
${_dn#.} 去前缀. ? ${_dn#.}
${_dn:=my.domain} 默认值为'my.domain'
whike getopts 参数处理
变量 $OPTARG $OPTIND
shift `expr $OPTIND-1`
is_qemu() 函数看是否为qemu虚拟
usage 函数
rc --sys # output the RC system type, if any
modprobe xenfs #加载xenfs模块
mount -t xenfs xenfs /proc/xen # 挂载先xenfs系统
使用answerfile 用于 非交互安装
$USESWERFILE
如果指定了 source那个文件
是否创建这样answer 文件 用于下次安装,或其他地方安装
$CREATEANSWERFILE
$ARCHIVE 变量
-a Create Alpine linux overlay file ? 不理解
#选择键盘
/sbin/setup-keymap ${KEYMAPOPTS} 加载键盘布局
#设定主机名
/sbin/setup-hostname ${HOSTNAMEOPTS} 设置主机名
$INTERFACESOPTS 网卡选项
/etc/init.d/networking --quiet start & #启动网络服务
/sbin/setup-dns ${DNSOPTS} 启动dns
passwd #设置密码
$quick 选择时间区域
增加boot的网络服务
rc-update -q add networking boot
rc-update -q add urandom boot
#高级电源管理程序
rc-update -q add acpid
rc-update -q add cron
#新的hostname生效
/etc/init.d/hostname --quiet restart
启动服务
rc boot
rc default