设置首页  |   加入收藏  |  联系我们   
您的位置: 主页>Linux知识>BSD相关>正文
教你自动下载文件并制作OpenBSD ISO
文章来源:  编辑:  发布时间:2007-11-01

如果可能的话,请购买 OpenBSD 官方制作的 CD 套装。

详情请访问:http://www.openbsd.org/faq/faq3.html#BuyCD

脚本的使用方法:

$ ./mk_openbsd_iso-0.1.sh 3.9 i386

您只要指定需要制作的 OpenBSD 版本和平台架构,即可生成对应的 ISO 文件。

[color=red]此脚本需要 wget / mkisofs 这两个工具才能制作ISO。

wget 用于下载文件,mkisofs 用于制作 ISO。[/color]

注意事项:

并不是每个平台都可以使用 CD 启动安装,详情请访问:

http://www.openbsd.org/faq/faq4.html#Overview

默认创建的 ISO 文件不会带有任何的 packages,如果你需要把 packages 包含进去,

请阅读脚本中函数 FETCH_PKGS() 的说明。

以下是完整的脚本:

#!/bin/sh

# Author : MichaelBibby

# Date : 2006.07.22

# Purpose : Automatic download file sets and create an OpenBSD -release or

# -snapshots ISO.

# Version : 0.1

# Usage : ./mk_openbsd_iso.sh [3.9|4.0|snapshots] [i386|amd64|sparc64]

VERSION="$1" # Special OpenBSD version, like 3.9, 4.0, snapshots.

ARCH="$2" # Maechine architecture, like i386, amd64.

TMP_ARCHIVE="$HOME/tmp/openbsd" # Store all openbsd file sets.

SETS_ARCHIVE="$TMP_ARCHIVE/$VERSION/$ARCH" # Store all installation file sets.

PKGS_ARCHIVE="$TMP_ARCHIVE/$VERSION/$ARCH/packages" # Store all packages.

FETCH_CMD="wget"

CDROM_FS=$(basename ${SETS_ARCHIVE}/cdrom*.fs)

# Check the following URL to choose a mirror near you:

# http://www.openbsd.org/ftp.html

#MIRROR="ftp://ftp.openbsd.org/pub/OpenBSD"

MIRROR="http://mirror.openbsd.org.cn/ftp"

MKISOFS_CMD="mkisofs -vrlTJV "OpenBSD_${VERSION}_$ARCH" \

-b $VERSION/$ARCH/${CDROM_FS} \

-c boot.catalog \

-o $HOME/OpenBSD_${VERSION}_$ARCH.iso $TMP_ARCHIVE"

USAGE()

{

if [ X"$#" != X"2" ]; then

echo "USAGE: $0 VERSION ARCH"

echo "e.g.: $0 [3.9|4.0|snapshots] [i386|amd64|...]"

exit 255

fi

}

CHECK_APPS()

{

# Set all nessessary applications into an ARRAY: APPS.

APPS_ARRAY="mkisofs $FETCH_CMD"

echo "Checking neccessary applications..."

for i in $APPS_ARRAY

do

if [ ! $(whereis "$i") ]

then

echo "ERROR: $i is not installed, you should installed first"

case $i in

mkisofs)

echo "mkisofs is always included in package 'cdrtools'.";;

esac

exit

fi

done

}

CHECK_DIRS()

{

# Set all nessessary dir into an ARRAY: DIRS.

DIRS_ARRAY="$SETS_ARCHIVE $PKGS_ARCHIVE"

echo "Checking neccessary directories..."

# Check and create dirs.

for dir in ${DIRS_ARRAY}

do

if [ ! -d "$dir" ]; then

echo -ne "\tWARNNING: $dir NOT exist, creating it..."

mkdir -p $dir

echo "DONE"

fi


Tags:制作 文件 下载 自动 echo mkisofs dir all i386 ISO

Google
 
上一篇: 福布斯:Open BSD老板对Linux大肆攻击   下一篇: NetBSD的创建人之一为NetBSD未来担忧
【返回顶部】 【打印】 【大】 【中】 【小】 【关闭】

 我来说两句
用户名: 新注册) 密码: 匿名评论 [论坛讨论]
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 相关文章
 热门文章

 
版权所有  2005-2006  Linux集中营  闽ICP备07500055号