MacOS dmg 文件制作脚本

无意间从 boot2docker 代码中发现了 dmg 文件的制作脚本:


#!/bin/bash

# DMG Creation Script
# Usage: makedmg <imagename> <imagetitle> <contentdir>
#
# Based on makedmg by Jon Cowie
#
# imagename: The output file name of the image, ie foo.dmg
# imagetitle: The title of the DMG File as displayed in OS X
# contentdir: The directory containing the content you want the DMG file to contain

if [ ! $# == 3 ]; then
    echo "Usage: $0 <imagename> <imagetitle> <contentdir>"
else
    OUTPUT=$1
    TITLE=$2
    CONTENTDIR=$3
    FILESIZE=$(du -sm "${CONTENTDIR}" | cut -f1)
    FILESIZE=$((${FILESIZE} + 5))
    USER=$(whoami)
    TMPDIR="/tmp/dmgdir"

    if [ "${USER}" != "root" ]; then
        echo "$0 must be run as root!"
    else
        echo "Creating DMG File..."
        dd if=/dev/zero of="${OUTPUT}" bs=1M count=$FILESIZE
        mkfs.hfsplus -v "${TITLE}" "${OUTPUT}"

        echo "Mounting DMG File..."
        mkdir -p ${TMPDIR}
        mount -t hfsplus -o loop "${OUTPUT}" "${TMPDIR}"

        echo "Copying content to DMG File..."
        cp -R "${CONTENTDIR}"/* "${TMPDIR}"

        echo "Unmounting DMG File..."
        umount "${TMPDIR}"
        rm -rf "${TMPDIR}"

        echo "All Done!"
    fi
fi


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值