云计算百科
云计算领域专业知识百科平台

【信创】离线 YUM 一键脚本,挂载本地ISO镜像文件替代互联网源,实现离线安装依赖,基于飞腾 FT2000+/D2000 aarch64,银河麒麟V10服务器SP3 版本

在这里插入图片描述

适配镜像:Kylin‑Server‑V10‑SP3‑2403‑Release‑20240426‑ARM64.iso

【信创】离线 YUM 一键脚本,挂载本地ISO镜像文件替代互联网源,实现离线安装依赖,基于飞腾 FT2000+/D2000 aarch64,银河麒麟V10服务器SP3 版本

#!/bin/bash
export LANG=en_US.utf8
export LC_ALL=en_US.utf8

# 颜色输出函数
echoError() { echo -e "\\e[43;31;5m $1 \\e[0m"; }
echoInfo() { echo -e "\\e[32m>>> $1\\e[0m"; }

# root权限校验
if [ $UID -ne 0 ];then
echoError "请使用root执行:sudo bash $0"
exit 1
fi

# 获取脚本所在绝对目录
Current_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# SP3 完整镜像文件名
ISO_FILE="
${Current_DIR}/Kylin-Server-V10-SP3-2403-Release-20240426-ARM64.iso"
MOUNT_POINT="
/os/kylinsp3"
BAK_DIR="
/etc/yum.repos.d/bak"

# 获取本机IP
ip=$(ip -o route get to 223.5.5.5 | sed -n 's/.*src \\([0-9.]\\+\\).*/\\1/p')
echoInfo "本机IP: ${ip}"
echoInfo "
系统架构: $(uname -m)"

# 架构强校验
ARCH=$(uname -m)
if [[ "${ARCH}" != "aarch64" ]];then
echoError "
本脚本仅用于 Kylin‑V10‑SP3 ARM64(aarch64)"
exit 1
fi

# 校验镜像文件存在
if [ ! -f "${ISO_FILE}" ];then
echoError "
ISO文件不存在:${ISO_FILE}"
echoInfo "
请将镜像放到脚本同级目录!"
exit 1
fi

# 创建挂载目录,卸载已有挂载
mkdir -p ${MOUNT_POINT}
if mountpoint -q ${MOUNT_POINT} ;then
echoInfo "发现旧挂载,执行卸载"
umount ${MOUNT_POINT}
fi

# 挂载ISO
echoInfo "挂载 Kylin‑Server‑V10‑SP3‑2403 ARM64 ISO ..."
mount -t iso9660 "
${ISO_FILE}" ${MOUNT_POINT}
if [ $? -ne 0 ];then
echoError "
ISO挂载失败!镜像损坏或权限异常"
exit 1
fi

# 备份原有yum源
mkdir -p ${BAK_DIR}
find /etc/yum.repos.d -maxdepth 1 -name "*.repo" -exec mv {} ${BAK_DIR}/ \\;

# 生成SP3离线源配置(BaseOS + AppStream)
cat >/etc/yum.repos.d/Kylin-SP3-Local.repo <<EOF
[Kylin-BaseOS]
name=Kylin Server V10 SP3 BaseOS Local
baseurl=file://${MOUNT_POINT}/BaseOS
gpgcheck=0
enabled=1

[Kylin-AppStream]
name=Kylin Server V10 SP3 AppStream Local
baseurl=file://${MOUNT_POINT}/AppStream
gpgcheck=0
enabled=1
EOF

# 重建缓存
echoInfo "清理缓存 & 生成yum元数据"
yum clean all
yum makecache

if [ $? -eq 0 ];then
echoInfo "✅ Kylin‑V10‑SP3‑2403 ARM64 离线YUM部署成功!"
echoInfo "
测试命令:yum install -y tree vim"
else
echoError "
❌ yum makecache 失败,请检查ISO完整性!"
umount ${MOUNT_POINT}
exit 1
fi

可选:永久开机挂载(写入 /etc/fstab)

脚本末尾追加这段:

# 开机自动挂载
grep -q "${MOUNT_POINT}" /etc/fstab || echo "${ISO_FILE} ${MOUNT_POINT} iso9660 defaults 0 0" >> /etc/fstab
echoInfo "已配置/etc/fstab,重启自动挂载离线源"

回滚恢复脚本 restore_kylin_sp3.sh

#!/bin/bash
if [ $UID -ne 0 ];then echo "需要root权限";exit;fi
umount /os/kylinsp3
rm -f /etc/yum.repos.d/Kylin-SP3-Local.repo
mv /etc/yum.repos.d/bak/*.repo /etc/yum.repos.d/ 2>/dev/null
yum clean all && yum makecache
echo "✅ 已还原麒麟原始yum源"

使用步骤

  • 脚本和镜像放在同一个文件夹
  • 赋权运行
  • chmod +x build_kylin_sp3_arm64.sh
    bash build_kylin_sp3_arm64.sh

    SP3 注意点

  • 该版本 ISO 目录结构依旧是 BaseOS / AppStream,repo 两段配置不变;
  • 飞腾 FT2000+/D2000 完全兼容该 SP3 镜像;
  • 断网环境不需要导入gpg密钥,保持 gpgcheck=0;
  • 验证仓库:yum repolist
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » 【信创】离线 YUM 一键脚本,挂载本地ISO镜像文件替代互联网源,实现离线安装依赖,基于飞腾 FT2000+/D2000 aarch64,银河麒麟V10服务器SP3 版本
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!