首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
Search
1
从Google Authenticator解密获取2FA密钥备份教程
2 阅读
2
【N1安装飞牛优化三】Btrfs 挂载优化,限制 Docker 日志大小 (防止撑爆硬盘),额外启动参数优化CPU
1 阅读
3
NGINX 零停机平滑升级全流程实操指南
1 阅读
4
【N1安装飞牛之获取root】FNos飞牛NAS获取root密码详细教程
1 阅读
5
一寸照片生成器 (已补一个二寸照片生成鶀)
1 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
Armbian
DaiMaFengZi
累计撰写
583
篇文章
累计收到
7
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
搜索到
3
篇与
的结果
2025-11-26
在联网机器上下载所有 RPM 包并在离线机器上安装所有软件
在联网机器上下载所有 RPM 包并在离线机器上安装所有软件下载1. 安装下载工具sudo dnf install -y dnf-utils2. 创建目录mkdir ~/openEuler-20.03-LTS-SP4 && cd ~/openEuler-20.03-LTS-SP43. 启用必要仓库(关键!)欧拉openEuler系统sudo dnf config-manager --set-enabled everything EPOLCentos8.5系统sudo dnf config-manager --set-enabled base AppStream3. 下载dnf download --resolve \ nginx \ redis \ docker \ java-1.8.0-openjdk \ java-1.8.0-openjdk-devel4. 验证ls -l *.rpm | wc -l5. 打包tar -czvf openEuler-24.03-LTS-x86_64.tar.gz *.rpm安装:1. 解压 RPM 包cd /tmp tar -xzvf offline-apps.tar.gz dnf deplist java-1.8.0-openjdk2. 安装所有软件(自动解决依赖顺序)sudo dnf install -y *.rpm# (如果系统只有 yum,没有 dnf,可用:) # sudo yum localinstall -y *.rpm3. 启动并启用服务sudo systemctl enable --now nginx sudo systemctl enable --now redis sudo systemctl enable --now docker4. 验证安装结果nginx -v # 应显示版本 redis-cli --version # 应显示版本 docker --version # 应显示版本 java -version # 应显示 OpenJDK 17 curl http://localhost # 应看到 nginx 欢迎页
2025年11月26日
0 阅读
0 评论
0 点赞
2025-10-14
构建离线 YUM 仓库:银河麒麟 V10 上构建 openEuler 25.03 离线 YUM 仓库
支持 openEuler 22.03 / 23.09 / 25.03 等多个版本,标准化命名,便于长期维护目标在银河麒麟 V10 系统上,通过解析 openEuler 官方仓库元数据,自动化采集、下载、打包指定版本的 RPM 包,并制作成 标准化命名的离线 YUM 仓库,支持✅ 多版本共存(22.03、23.09、25.03)✅ 多架构支持(aarch64、x86_64)✅ 多类型仓库(everything、baseos)✅ 标准化命名与目录结构✅ 离线部署一键配置环境准备操作系统:银河麒麟 V10(aarch64 或 x86_64)网络环境:当前机器可联网(用于下载)目标系统:openEuler / 银河麒麟 离线环境存储空间:≥ 10GB(建议使用 /data 分区)依赖工具:wget, zstd, createrepo_c, genisoimage(可选)命名规范(核心!避免混淆)为支持多版本管理,采用统一命名格式:openeuler-{version}-{repo_type}-{arch}.{format}字段示例值{version}22.03, 23.09, 25.03{repo_type}everything, baseos{arch}aarch64, x86_64{format}tar.gz, iso✅ 示例:含义文件名openEuler 25.03 Everything aarch64openeuler-25.03-everything-aarch64.tar.gzopenEuler 25.03 BaseOS x86_64openeuler-25.03-baseos-x86_64.tar.gzopenEuler 22.03 Everything aarch64openeuler-22.03-everything-aarch64.iso推荐目录结构 /data/openeuler-offline/ ├── 22.03/ │ └── openeuler-22.03-everything-aarch64.tar.gz ├── 23.09/ │ └── openeuler-23.09-everything-aarch64.tar.gz └── 25.03/ ├── openeuler-25.03-everything-aarch64.tar.gz └── openeuler-25.03-everything-aarch64.iso✅ 第一步:创建工作目录 VERSION="25.03" REPO_TYPE="everything" ARCH="aarch64" WORK_DIR="/data/openeuler-offline/${VERSION}/${REPO_TYPE}-${ARCH}" mkdir -p "$WORK_DIR" cd "$WORK_DIR"🔁 你可以修改 VERSION、REPO_TYPE、ARCH 来适配不同组合。✅ 第二步:下载 repomd.xml BASE_URL="https://repo.openeuler.org/openEuler-${VERSION}/${REPO_TYPE}/${ARCH}" wget "${BASE_URL}/repodata/repomd.xml" -O repomd.xml✅ 第三步:提取 primary.xml.zst 文件名PRIMARY_FILE=$(grep -A2 "primary" repomd.xml | grep "location href" | grep -o 'href="[^"]*"' | cut -d'"' -f2) echo "Primary XML: $PRIMARY_FILE"✅ 第四步:下载 primary.xml.zstwget "${BASE_URL}/repodata/${PRIMARY_FILE##*/}" -O primary.xml.zst✅ 第五步:解析出所有 RPM 包名 zstd -dc primary.xml.zst | \ grep -o 'location href="Packages/[^"]*\.rpm"' | \ sed 's/location href="Packages\///' | sed 's/"$//' | \ sort -u > rpm-list.txt # 验证 wc -l rpm-list.txt head rpm-list.txt✅ 第六步:批量下载所有 RPM 包 cat rpm-list.txt | xargs -I {} -P 8 \ wget -c --show-progress \ "${BASE_URL}/Packages/{}"⚠️ 如果网络不稳定,可改用 -P 4 减少并发。✅ 第七步:创建本地 YUM 仓库(生成元数据)1. 安装 createrepo_csudo dnf install -y createrepo_c || sudo yum install -y createrepo_c2. 生成 repodatacreaterepo_c .✅ 成功后会生成 repodata/ 目录。✅ 第八步:制作可移动离线包1. 创建离线包目录 OFFLINE_DIR="${WORK_DIR}/../openeuler-offline-repo" rm -rf "$OFFLINE_DIR" mkdir -p "$OFFLINE_DIR/repo" # 复制 RPM 和 repodata cp *.rpm "$OFFLINE_DIR/repo/" cp -r repodata "$OFFLINE_DIR/repo/"2. 创建一键配置脚本 setup-repo.sh cat > "$OFFLINE_DIR/setup-repo.sh" << 'EOF' #!/bin/bash # openEuler 离线仓库自动配置脚本 # 用法:chmod +x setup-repo.sh && ./setup-repo.sh set -e echo "🔍 正在查找仓库目录..." SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" REPO_DIR="$SCRIPT_DIR/repo" if [ ! -d "$REPO_DIR" ]; then echo "❌ 错误:未找到 repo 目录,请确保 repo/ 在同一路径下" exit 1 fi echo "✅ 找到仓库目录:$REPO_DIR" # 转义路径中的 / 用于 sed REPO_DIR_ESCAPED=$(echo "$REPO_DIR" | sed 's/\//\\\//g') # 创建 YUM 源文件 cat > /etc/yum.repos.d/local-openeuler-offline.repo << REPOEOF [local-openeuler-offline] name=Local openEuler Offline Repository baseurl=file://$REPO_DIR_ESCAPED enabled=1 gpgcheck=0 priority=1 REPOEOF echo "✅ 已创建 YUM 源:/etc/yum.repos.d/local-openeuler-offline.repo" # 清理并重建缓存 sudo dnf clean all sudo dnf makecache echo "🎉 离线仓库配置成功!" echo "📦 你现在可以使用 dnf 安装软件,例如:" echo " dnf install nginx" echo " dnf install docker" echo " dnf groupinstall Base" EOF chmod +x "$OFFLINE_DIR/setup-repo.sh"3. 创建说明文档 README.txt cat > "$OFFLINE_DIR/README.txt" << EOF openEuler ${VERSION} ${REPO_TYPE} ${ARCH} 离线仓库 用途: 用于无网络环境下安装 openEuler 软件包。 使用方法: 1. 将整个目录复制到目标机器 2. 进入目录并运行:./setup-repo.sh 3. 即可使用 dnf 安装软件 注意事项: - 目标机器需为 openEuler 或银河麒麟 ${ARCH} - 需 root 权限运行 setup-repo.sh EOF✅ 第九步:打包为标准命名格式方式一:打包为 .tar.gz cd "$WORK_DIR" tar -czf "openeuler-${VERSION}-${REPO_TYPE}-${ARCH}.tar.gz" -C "$OFFLINE_DIR" .方式二:打包为 .iso(推荐用于分发) # 安装 genisoimage(若未安装) sudo dnf install -y genisoimage || sudo yum install -y genisoimage # 创建 ISO 工作目录 ISO_DIR="${WORK_DIR}/../openeuler-offline-iso" rm -rf "$ISO_DIR" mkdir -p "$ISO_DIR" cp -r "$OFFLINE_DIR"/* "$ISO_DIR/" # 生成 ISO genisoimage \ -o "openeuler-${VERSION}-${REPO_TYPE}-${ARCH}.iso" \ -r -J -l \ -V "OE${VERSION}_${REPO_TYPE^^}_${ARCH}" \ "$ISO_DIR/"✅ 第十步:拷贝到目标机器并使用1. 拷贝文件将生成的包拷贝到目标机器:scp openeuler-25.03-everything-aarch64.tar.gz user@target:/opt/2. 解压并配置 tar -xzf openeuler-25.03-everything-aarch64.tar.gz -C /opt cd /opt/openeuler-offline-repo sudo ./setup-repo.sh3. 验证 dnf list available | head -5 dnf install -y nginx #如果需要安装指定版本,请使用 dnf list available nginx #然后再进行安装指定版本✅ 批量构建脚本(可选)保存为 build-offline-repo.sh: #!/bin/bash # 用法:./build-offline-repo.sh 25.03 everything aarch64 tar.gz VERSION="$1" REPO_TYPE="$2" ARCH="$3" FORMAT="${4:-tar.gz}" [[ -z "$VERSION" || -z "$REPO_TYPE" || -z "$ARCH" ]] && { echo "用法:$0 <version> <repo_type> <arch> [format]" echo "示例:$0 25.03 everything aarch64 tar.gz" exit 1 } WORK_DIR="/data/openeuler-offline/${VERSION}/${REPO_TYPE}-${ARCH}" mkdir -p "$WORK_DIR" cd "$WORK_DIR" echo "🚀 开始构建 openEuler ${VERSION} ${REPO_TYPE} ${ARCH}" # (此处插入上述完整流程命令,略) echo "✅ 构建完成:openeuler-${VERSION}-${REPO_TYPE}-${ARCH}.${FORMAT}"✅ 最终成果示例 /data/openeuler-offline/25.03/ ├── openeuler-25.03-everything-aarch64.tar.gz ├── openeuler-25.03-everything-aarch64.iso ├── openeuler-25.03-baseos-aarch64.tar.gz └── 20250405-build.log📌 总结步骤输出采集包名rpm-list.txt下载 RPM*.rpm生成元数据repodata/打包输出openeuler-{ver}-{type}-{arch}.tar.gz 或 .iso目标使用./setup-repo.sh
2025年10月14日
0 阅读
0 评论
0 点赞
2025-06-18
OpenEuler离线部署Redis、Nginx
前言OpenEuler虽然是基于Linux,和CentOS很像,但是其内部还是有很大差别,尤其是基础组件像gcc这,故直接拿CentOS中的组件去安装可能会出问题在开发环境,服务器可以连外网,很多组件可以直接yum安装,各种依赖包会自动安装好但在项目现场,如果服务器在内网无法访问Internet,就很棘手了,这时只能准备rpm包一个个去安装安装包下载地址OpenEuler镜像站罗列(推荐使用华为的官方镜像),基于OpenEuler 22.03 LTS SP3版本华为开源镜像站:https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/everything/x86_64/Packages/华中科技大学镜像站:https://mirrors.hust.edu.cn/openeuler/openEuler-22.03-LTS-SP3/everything/x86_64/Packages/中国科学技术大学镜像站:https://mirrors.ustc.edu.cn/openeuler/openEuler-22.03-LTS-SP3/everything/x86_64/Packages/官方:https://easysoftware.openeuler.openatom.cn/zh/rpm?name=nginx准备安装包下载这些基础包:redis安装执行命令rpm -ivh /opt/redis6-6.2.7-3.oe2203sp3.x86_64.rpmnginx安装执行命令rpm -ivh /opt/nginx-1.21.5-6.oe2203sp3.x86_64.rpm重要事项没把握的话,千万不要用下面这个命令,这个命令会忽略依赖和兼容性,可能会导致基础组件被卸载掉。rpm -Uvh *.rpm --nodeps --force
2025年06月18日
0 阅读
0 评论
0 点赞