
适配镜像: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
网硕互联帮助中心



评论前必须登录!
注册