#!/bin/bash # 定义一些变量,方便修改和管理 BASE_DIR="/home/smart/rocky9-livecd" RESULTS_DIR="results" ISO_BUILD_DIR="iso-build" # 新的ISO存放目录 KS_FILE="kickstarts/my.ks" ISO_NAME="Rocky-9-Custom-LiveCD-LocalRepo-x86_64.iso" PROJECT_NAME="Rocky Linux 9 Custom LiveCD (Local Repo)" RELEASE_VER="9" VOL_ID="Rocky_9_LiveCD_Local" BOOT_ISO="/home/smart/Rocky-9.7-x86_64-boot.iso" # 切换到工作目录 cd "${BASE_DIR}" || { echo "错误:无法切换到目录 ${BASE_DIR}"; exit 1; } # 清理旧的 results 目录 echo "清理旧的 ${RESULTS_DIR} 目录..." rm -rf "${RESULTS_DIR}" # 确保 iso-build 目录存在 echo "检查并创建 ${ISO_BUILD_DIR} 目录..." mkdir -p "${ISO_BUILD_DIR}" || { echo "错误:无法创建目录 ${ISO_BUILD_DIR}"; exit 1; } echo "开始执行 livemedia-creator..." sudo livemedia-creator \ --ks "${KS_FILE}" \ --resultdir "${RESULTS_DIR}" \ --tmp tmp \ --make-iso \ --iso-name "${ISO_NAME}" \ --project "${PROJECT_NAME}" \ --releasever "${RELEASE_VER}" \ --volid "${VOL_ID}" \ --iso "${BOOT_ISO}" # 检查 livemedia-creator 是否成功执行 if [ $? -eq 0 ]; then echo "livemedia-creator 执行成功。" # 获取当前时间,格式为 年-月-日-时-分 TIMESTAMP=$(date +"%Y-%m-%d-%H-%M") NEW_RESULTS_DIR_NAME="${RESULTS_DIR}-${TIMESTAMP}" echo "将 ${RESULTS_DIR} 移动并重命名为 ${ISO_BUILD_DIR}/${NEW_RESULTS_DIR_NAME}..." mv "${RESULTS_DIR}" "${ISO_BUILD_DIR}/${NEW_RESULTS_DIR_NAME}" if [ $? -eq 0 ]; then echo "操作完成。新的结果目录位于:${ISO_BUILD_DIR}/${NEW_RESULTS_DIR_NAME}" echo "生成的 ISO 文件通常在 ${ISO_BUILD_DIR}/${NEW_RESULTS_DIR_NAME}/images 目录下。" else echo "错误:移动或重命名 ${RESULTS_DIR} 失败。" exit 1 fi else echo "错误:livemedia-creator 执行失败。" exit 1 fi echo "脚本执行完毕。"