面向多种 Linux 发行版的客户端安装指南。
Linux
- 1: RedHat 系统家族
- 2: Debian 系统家族
- 3: SUSE 系统家族
- 4: OpenWRT 系统家族
- 5: 树莓派 Raspberry Pi OS
- 6: 群晖 Synology DSM/SRM
- 7: openEuler 系统
1 - RedHat 系统家族
支持的系统和版本: CentOS 7+, Fedora 19+, RedHat Enterprise Linux 8+, Oracle Linux 7+, Rocky Linux 8+
安装客户端
目前没有为该系统提供桌面版客户端.
打开 终端 或 Terminal, 然后执行以下步骤.
yum install -y epel-release libmodulemd curl ca-certificates tree
yum install -y htop iftop nano bash-completion bash curl sudo lsof
curl -fsSL https://pkgs.cloudnet.world/stable/install.sh | sh
systemctl status cloudnetd
注册设备
# 查看命令行帮助
cnet start --help
通过网页注册
cnet start --accept-dns=false --accept-routes=false
通过密钥注册
cnet start --accept-dns=false --accept-routes=false --auth-key=<PreAuthKey>
更新客户端
sudo dnf update cloudnet
# 或者
sudo yum update cloudnet
# 或者
cnet upgrade
卸载客户端
sudo dnf remove cloudnet
# 或者
sudo yum remove cloudnet
# 或者
cnet uninstall
2 - Debian 系统家族
支持的 Debian 系统家族: Ubuntu 16.04+, Debian 9+, Deepin, Kali, Linux Mint, MX Linux, Pop!_OS, Zorin OS, elementary OS, Parrot OS, PureOS, SteamOS, Tails, Trisquel, etc.
由于基于 Debian 衍生的系统非常多, 但只要内核版本满足要求(kernel≥4.4), 一般都可以兼容.
安装客户端
目前没有为该系统提供桌面版客户端.
打开 终端 或 Terminal, 然后执行以下步骤.
apt update
apt install -y htop iftop nano bash-completion ca-certificates openssl tree apt-transport-https bash curl sudo lsof
timedatectl set-timezone Asia/Shanghai
# fix at debian9 certificate issue
sed -i '/^mozilla\/DST_Root_CA_X3/s/^/!/' /etc/ca-certificates.conf && update-ca-certificates -f
curl -fsSL https://pkgs.cloudnet.world/stable/install.sh | sh
systemctl status cloudnetd
注册设备
# 查看命令行帮助
cnet start --help
通过网页注册
cnet start --accept-dns=false --accept-routes=false
通过密钥注册
cnet start --accept-dns=false --accept-routes=false --auth-key=<PreAuthKey>
更新客户端
sudo apt update && sudo apt upgrade cloudnet
# 或者
cnet upgrade
卸载客户端
sudo apt remove cloudnet
# 或者
cnet uninstall
3 - SUSE 系统家族
支持的 SUSE 系统家族: OpenSUSE 15.0+, SUSE Linux Enterprise Server (SLES) 12+, SUSE Linux Enterprise Desktop (SLED) 12+, SUSE Linux Enterprise Workstation Extension (SLEWE) 12+
安装客户端
目前没有为该系统提供桌面版客户端.
打开 终端 或 Terminal, 然后执行以下步骤.
curl -fsSL https://pkgs.cloudnet.world/stable/install.sh | sh
注册设备
# 查看命令行帮助
cnet start --help
通过网页注册
cnet start --accept-dns=false --accept-routes=false
通过密钥注册
cnet start --accept-dns=false --accept-routes=false --auth-key=<PreAuthKey>
更新客户端
sudo zypper update cloudnet
# 或者
cnet upgrade
卸载客户端
sudo zypper remove cloudnet
# 或者
cnet uninstall
4 - OpenWRT 系统家族
支持的 OpenWRT 系统及版本: OpenWRT 17/18/19/21/22, x86_64/armv7/aarch64/mips
OpenWRT 设备至少需要 128MB 的存储空间, 因为 Cloudnet 需要占用 45MB 左右的存储空间.
自动安装客户端
通过 SSH 进入 命令行界面, 然后执行以下步骤.
OpenWRT 默认的 shell 是 ash
# 安装依赖
opkg update
opkg install libustream-openssl ca-bundle kmod-tun bash curl
# 安装客户端
curl -fsSL https://pkgs.cloudnet.world/stable/install.sh | sh
注册设备
# 查看命令行帮助
cnet start --help
通过网页注册
cnet start --accept-dns=false --accept-routes=false
通过密钥注册
cnet start --accept-dns=false --accept-routes=false --auth-key=<PreAuthKey>
更新客户端
cnet upgrade
卸载客户端
cnet uninstall
在 OpenWRT 上手动安装 Cloudnet
安装包下载: OpenWRT
- 将 root 目录的内容提取到您的文件系统根目录:
tar x -vC / -f cloudnet_<version>_<arch>.tar
- 安装依赖包:
opkg update
opkg install libustream-openssl ca-bundle kmod-tun
- 首次运行 cloudnet:
# 启动服务
/etc/init.d/cloudnet start
# 注册设备
cloudnet up --accept-dns=false --accept-routes=false
# 示例: 注册设备并声明本地需要路由的网段(内网互通)
cloudnet up --accept-dns=false --advertise-routes=10.0.0.0/24
- 设置开机时启用 cloudnet:
/etc/init.d/cloudnet enable
# 通过查找以下条目来验证:
ls /etc/rc.d/S*cloudnet*
- 重启路由器,并确认它在 Cloudnet 用户中心 上显示为在线。
5 - 树莓派 Raspberry Pi OS
支持的 Raspberry Pi OS 系统及版本: Raspberry Pi 2/3/4, armv7l
安装客户端
目前没有为该系统提供桌面版客户端.
打开 终端 或 Terminal, 然后执行以下步骤.
apt update
apt install -y htop iftop nano bash-completion ca-certificates openssl tree apt-transport-https bash curl sudo lsof
timedatectl set-timezone Asia/Shanghai
curl -fsSL https://pkgs.cloudnet.world/stable/install.sh | sh
注册设备
# 查看命令行帮助
cnet start --help
通过网页注册
cnet start --accept-dns=false --accept-routes=false
通过密钥注册
cnet start --accept-dns=false --accept-routes=false --auth-key=<PreAuthKey>
更新客户端
sudo apt update && sudo apt upgrade cloudnet
# 或者
cnet upgrade
卸载客户端
sudo apt remove cloudnet
# 或者
cnet uninstall
6 - 群晖 Synology DSM/SRM
支持的 Synology 系统及版本: Disk Station Manager(DSM) 7/8, Synology Router Manager (SRM) 1.3+
安装客户端
通过应用市场安装
Cloudnet 客户端正在计划上线 Synology 应用市场, 请耐心等待.
通过命令行安装
通过 SSH 进入 命令行界面, 然后执行以下步骤.
# 安装客户端,您可能需要 root 权限才能安装成功
curl -fsSL https://pkgs.cloudnet.world/stable/install.sh | sh
注册设备
# 查看命令行帮助
cnet start --help
通过网页注册
cnet start --accept-dns=false --accept-routes=false
通过密钥注册
cnet start --accept-dns=false --accept-routes=false --auth-key=<PreAuthKey>
更新客户端
cnet upgrade
卸载客户端
cnet uninstall
7 - openEuler 系统
在 openEuler 系统上安装使用 Cloudnet
提要:openEuler 使用 DNF(兼容 YUM)的 RPM 包管理。现已支持通用一键安装脚本(
install.sh)。若希望最少步骤,建议优先使用“一键安装”;同样支持“手动添加并使用 Cloudnet RHEL 风格仓库(https://pkgs.cloudnet.world/stable/rhel/)”。覆盖
.repo配置、GPG 导入、缓存刷新、安装/卸载、问题诊断与安全建议。关键词:openEuler、RPM、DNF、YUM、Cloudnet、RHEL 仓库、repo、GPG、公钥、软件源。
一、前置条件与适用范围
- 系统:openEuler(任意近期版本,LTS/创新版均可)
- 架构:x86_64、AArch64 等(以系统支持为准)
- 权限:需要
root或sudo权限 - 包管理:RPM + DNF(兼容 yum)
openEuler 是 RPM 系,使用 DNF/YUM 管理
.rpm与.src.rpm包;仓库配置文件位于/etc/yum.repos.d/。
二、快速开始(推荐:一键安装)
打开终端,执行以下命令自动完成仓库配置、GPG 导入与软件安装:
curl -fsSL https://pkgs.cloudnet.world/stable/install.sh | sh
systemctl status cloudnetd
说明:
-
脚本会自动识别 openEuler 环境并配置 Cloudnet RHEL 风格仓库、导入 GPG、公钥校验并安装
cloudnet。 -
支持自动启用并启动
cloudnetd服务。若未自动启动,可手动执行:sudo systemctl enable --now cloudnetd
如需更细粒度控制或离线/受限环境,请参考下方“手动配置仓库”方式。
三、快速开始(手动)
手动配置仓库(四步)
- 写入仓库配置
sudo curl -fsSL -o /etc/yum.repos.d/cloudnet.repo \
https://pkgs.cloudnet.world/stable/rhel/cloudnet.repo
- 导入仓库 GPG 公钥(建议开启元数据签名校验)
sudo rpm --import https://pkgs.cloudnet.world/stable/rhel/repo.gpg
- 刷新缓存并验证仓库可用
sudo dnf clean all
sudo dnf makecache
sudo dnf repolist
看到名为 Cloudnet stable(或相近名称)的条目,即表示仓库加载成功。
- 安装 Cloudnet 客户端
sudo dnf install cloudnet
# 或者
sudo yum install cloudnet
四、.repo 文件要点(核查清单)
/etc/yum.repos.d/cloudnet.repo 中核心字段通常包括:
name:仓库名称(展示用)baseurl=https://pkgs.cloudnet.world/stable/rhel/enabled=1:启用仓库repo_gpgcheck=1:校验仓库元数据签名(建议开启)gpgcheck=0:是否校验单个包签名(可按需改为1)gpgkey=https://pkgs.cloudnet.world/stable/rhel/repo.gpg
安全建议:
- 保持
repo_gpgcheck=1,并导入对应repo.gpg。- 如仓库提供包级签名,建议把
gpgcheck改为1,并确保gpgkey指向正确公钥。
五、日常使用命令
- 搜索软件:
dnf search <关键词>
- 查看包信息:
dnf info <包名>
- 安装软件:
sudo dnf install <包名>
- 升级全部:
sudo dnf upgrade -y
- 仅启用/禁用特定仓库安装:
sudo dnf --enablerepo=cloudnet-stable install <包名>
sudo dnf --disablerepo=cloudnet-stable install <包名>
提示:仓库 ID 以
.repo中的节名为准(如[cloudnet-stable]),可能与name字段不同。
六、注册设备
# 查看命令行帮助
cnet start --help
通过网页注册
cnet start --accept-dns=false --accept-routes=false
通过密钥注册
cnet start --accept-dns=false --accept-routes=false --auth-key=<PreAuthKey>
七、问题诊断与常见报错
1)repomd.xml/签名校验失败
-
重新导入公钥:
sudo rpm --import https://pkgs.cloudnet.world/stable/rhel/repo.gpg -
检查网络与代理、确认
baseurl可访问。 -
临时排查可设
repo_gpgcheck=0(排障后请恢复为 1)。
2)找不到包 / 依赖冲突
- 刷新缓存:
sudo dnf clean all && sudo dnf makecache - 限定仓库尝试:
dnf --enablerepo=<id> info <包名> - 查看冲突详情并记录具体依赖名称,考虑使用
module/compat包或启用 EPEL 风格兼容源(若适配)。
3)被其它仓库“覆盖”
-
在
cloudnet.repo中调高优先级(若系统启用priority插件):priority=1数字越小优先级越高。请谨慎使用,避免系统包被不必要替换。
八、安全与合规最佳实践
- 最小化权限:仅在需要时使用
sudo。 - 签名校验:保持
repo_gpgcheck=1;尽量开启gpgcheck=1并正确配置gpgkey。 - 变更可追溯:将
.repo改动纳入配置管理(如 Ansible / Git)。 - 灰度验证:先在测试/沙箱环境安装验证,再推广到生产。
九、移除/禁用 Cloudnet 仓库
- 禁用(保留文件,随时可再启用):
# /etc/yum.repos.d/cloudnet.repo
enabled=0
- 彻底移除:
sudo rm -f /etc/yum.repos.d/cloudnet.repo
sudo dnf clean all
九、FAQ(精简)
Q:openEuler 是 deb 还是 rpm? A:openEuler 属于 RPM 系,使用 DNF(兼容 YUM)。
Q:仓库只支持 RHEL/CentOS 吗? A:Cloudnet 提供的是 RHEL 系风格的 RPM 仓库。openEuler 同为 RPM + DNF 生态,通常可直接使用,但仍需按包、依赖与 ABI 实测验证。
Q:必须导入 GPG 公钥吗?
A:强烈建议。启用 repo_gpgcheck=1 需要导入公钥以校验仓库元数据签名;若你开启 gpgcheck=1,也需要公钥校验包签名。
十、SEO 关键信息速览
| 关键词 | 用途 |
|---|---|
| openEuler RPM | 指明发行版与包格式 |
| DNF / YUM | 包管理器生态 |
| Cloudnet RHEL 仓库 | 第三方软件源 |
.repo 配置 |
软件源启用方法 |
| GPG / repo.gpg | 元数据与包签名校验 |
十一、更新客户端
sudo dnf update cloudnet
# 或者
sudo yum update cloudnet
# 或者
cnet upgrade
十二、卸载客户端
sudo dnf remove cloudnet
# 或者
sudo yum remove cloudnet
# 或者
cnet uninstall
十三、可复制的自动化脚本(手动仓库方式)
#!/usr/bin/env bash
set -euo pipefail
REPO_DIR="/etc/yum.repos.d"
REPO_URL="https://pkgs.cloudnet.world/stable/rhel"
REPO_FILE="${REPO_DIR}/cloudnet.repo"
sudo curl -fsSL -o "${REPO_FILE}" "${REPO_URL}/cloudnet.repo"
sudo rpm --import "${REPO_URL}/repo.gpg"
sudo dnf clean all
sudo dnf makecache
sudo dnf repolist
echo "Cloudnet repo installed. Try: sudo dnf search <pkg> or sudo dnf install <pkg>"
# 安装 Cloudnet 客户端示例
sudo dnf install cloudnet || sudo yum install cloudnet
# 注册设备示例
cnet start --accept-dns=false --accept-routes=false
在生产环境执行前,请先打开
cloudnet.repo核对baseurl、repo_gpgcheck、gpgcheck、gpgkey等配置。
结语
到这里,你已经在 openEuler 上添加、校验并启用了 Cloudnet 仓库,并掌握了日常使用、诊断与回滚方法。接下来可以选一个目标包做小范围部署验证,再决定是否纳入系统基线。需要我根据你的 openEuler 版本与 CPU 架构,给出兼容性与依赖评估清单,也可以继续。