首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
39 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
博客简介
11 阅读
4
SSH如何访问fe80开头的ipv6????
11 阅读
5
【N1安装飞牛优化四】关闭不必要服务优化记录
11 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
587
篇文章
累计收到
8
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
5
篇与
的结果
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日
3 阅读
0 评论
0 点赞
2025-04-09
Centos 7.x安装openjdk 11及JAVA 11的特性
安装软件包获取方式openjdk 的官网- 在官网上可以看到 openjdk11 本身最新版本为:11GA(11+28) - 点击 Source 按钮(https://hg.openjdk.java.net/jdk/jdk11),可以看到jdk11依赖的代码更新记录 - 点击左侧 tags ,可以看到 所有已发布的openjdk11版本centos 官网获取rpm包openjdk 11 可以运行在不同类型的操作系统中,在 centos 安装openjdk 11 的话,需要看 openjdk11 在 centos 中基于 openjdk 的官网 优化后且发布的版本。根据所需要操作系统查看对应最新版本,目前最新版本是:{cloud title="centos 7 x86_64" type="default" url="http://mirror.centos.org/centos/7/os/x86_64/Packages/" password=""/}{cloud title="centos 7 arm" type="default" url="http://mirror.centos.org/altarch/7/os/aarch64/Packages/" password=""/}安装查找安装包yum search java-11 # 安装jdk, 同时安装了依赖 java-11-openjdk-headless yum install java-11-openjdk.x86_64 # 安装开发工具 yum install java-11-openjdk-devel配置安装路径:/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64vi .bash_profile export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64 export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH source .bash_profile验证查看 java 版本java -version
2025年04月09日
3 阅读
0 评论
0 点赞
2025-01-09
Centos 7.x安装openjdk 11及JAVA 11的特性
1 安装软件包获取方式1.1 openjdk 的官网在官网上可以看到 openjdk11 本身最新版本为:11GA(11+28)点击 Source 按钮(https://hg.openjdk.java.net/jdk/jdk11),可以看到jdk11依赖的代码更新记录点击左侧 tags ,可以看到 所有已发布的openjdk11版本1.2 centos 官网获取rpm包openjdk 11 可以运行在不同类型的操作系统中,在 centos 安装openjdk 11 的话,需要看 openjdk11 在 centos 中基于 openjdk 的官网 优化后且发布的版本。根据所需要操作系统查看对应最新版本,目前最新版本是:{cloud title="centos 7 x86_64" type="default" url="http://mirror.centos.org/centos/7/os/x86_64/Packages/" password=""/}{cloud title="centos 7 arm" type="default" url="http://mirror.centos.org/altarch/7/os/aarch64/Packages/" password=""/}2 安装2.1 查找安装包yum search java-11 # 安装jdk, 同时安装了依赖 java-11-openjdk-headless yum install java-11-openjdk.x86_64 # 安装开发工具 yum install java-11-openjdk-devel2.2 配置安装路径:/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64 vi .bash_profile export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64 export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH source .bash_profile2.3 验证查看 java 版本java -versionjshell验证
2025年01月09日
2 阅读
0 评论
0 点赞
2023-11-23
【深度学习KylinOS四】【麒麟系统环境安装之docker-compose】麒麟系统(arm64/aarch64)离线安装docker和docker-compose
前言公司最近需要把所有服务全部部署到麒麟服务器上,其中包含各种服务器:nginx、redis、emqx、influxDB、kafka、zookeeper、minio、mysql以及各个应用等。我淋过雨,所以我也想为别人撑伞。网上关于 arm64 系统的资料很少,耗费了很多时间试错。所以把这类的东西全部总结写下来,希望对后面的同学有所帮助。准备工作准备服务器账号(本次全程使用root账号)[blockquote2 name='洛维花'](因为是第一次安装这玩意儿,尽量使用root账号,避免操作的时候碰到一些权限问题)[/tip]查看操作系统版本[root@ArmServer docker]# uname -a Linux ArmServer.XHKJ 4.19.90-24.4.v2101.ky10.aarch64 #1 SMP Mon May 24 14:45:37 CST 2021 aarch64 aarch64 aarch64 GNU/Linux [root@ArmServer docker]# cat /proc/version Linux version 4.19.90-24.4.v2101.ky10.aarch64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 24 14:45:37 CST 2021 查看操作系统架构[root@ArmServer docker]# uname -m aarch64安装docker1.下载docker离线包下载地址:https://download.docker.com/linux/static/stable/选择系统架构对应的文件目录:aarch64(我目前使用的docker版本是:docker-20.10.7.tgz)2.下载 docker-compose离线包下载地址:https://github.com/docker/compose/releases选择对应系统架构的离线安装包(我目前使用的版本是:v2.17.2)Github的链接有时候可能访问不了,各位就大展申通吧3.准备 docker.service系统配置文件(复制以下内容保存为 docker.service文件)docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target 4. 安装 docker 和 docker compose 离线包安装docker 和 docker compose# 解压 docker 到当前目录 tar -xvf docker-20.10.7.tgz # 将 docker 文件移动到 /usr/bin 目录下 cp -p docker/* /usr/bin # 将 docker-compose 文件复制到 /usr/local/bin/ 目录下,并重命名为 docker-compose cp docker-compose-linux-aarch64 /usr/local/bin/docker-compose # 设置 docker-compose 文件权限 chmod +x /usr/local/bin/docker-compose # 将 docker.service 移到 /etc/systemd/system/ 目录 cp docker.service /etc/systemd/system/ # 设置 docker.service 文件权限 chmod +x /etc/systemd/system/docker.service # 重新加载配置文件 systemctl daemon-reload # 启动docker systemctl start docker # 设置 docker 开机自启 systemctl enable docker.service 验证安装是否成功查看 docker 版本[root@ArmServer bin]# docker -v Docker version 20.10.7, build f0df350查看docker-compose 版本[root@ArmServer bin]# docker-compose -v Docker Compose version v2.17.2(说明:安装完之后,记得把窗口重新打开,以免自己以为没安装成功)
2023年11月23日
0 阅读
0 评论
0 点赞
2023-11-07
【深度学习KylinOS二】【麒麟系统环境安装之Mysql】银河麒麟服务器V10 aarch64安装mysql8.0教程
服务器环境在 arm64(aarch64) 架构服务器上基于国产化操作系统安装 Mysql 服务## 查看系统版本,确认版本 cat /etc/kylin-release Kylin Linux Advanced Server release V10 (Tercel) ## 操作系统 uname -p aarch64 ## 内核版本(≥ 3.10) uname -r 4. 19.90-21.2.ky10.aarch64 ## iptables 版本(≥ 1.4) iptables --version iptables v1.8.1 (legacy)软件安装需先卸载mariadb-server、mariadb-commonyum remove mariadb-server mariadb-common下载安装包下载地址:https://downloads.mysql.com/archives/community/可以直接用命令下载:wget -c https://downloads.mysql.com/archives/get/p/23/file/mysql-8.1.0-1.el8.aarch64.rpm-bundle.tar解压:tar xvf mysql-8.1.0-1.el8.aarch64.rpm-bundle.tar安装:yum install -y ./mysql-community-server-8.1.0-1.el8.x86_64.rpm yum install -y ./mysql-community-client-8.1.0-1.el8.x86_64.rpm yum install -y ./mysql-community-libs-8.1.0-1.el8.x86_64.rpm yum install -y ./mysql-community-server-8.1.0-1.el8.x86_64.rpm yum install -y ./mysql-community-common-8.1.0-1.el8.x86_64.rpm 如果嫌弃麻烦,那就直接全部安装 yum install -y ./mysql-community-*启动mysqldsystemctl start mysqld设置开机启动systemctl enable mysqldMySQL默认密码和修改密码grep 'temporary password' /var/log/mysqld.log mysql -uroot -p修改密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'sfa33afFASD!@#';重新登录搞定收工
2023年11月07日
1 阅读
0 评论
0 点赞