管理应用程序 课堂笔记
3.1 Linux 软件包的四大封装类型及核心特性
| 封装类型 | 文件后缀 | 核心特性 | 适用发行版 | 核心管理工具 | 优势 | 劣势 |
|---|---|---|---|---|---|---|
| RPM 包 | *.rpm |
预编译二进制包,RPM 系标准格式 | RHEL、CentOS、openEuler、openSUSE | rpm、yum、DNF | 免编译,安装速度快;版本标准化;包管理器自动解决依赖 | 版本可能滞后;功能定制性差;仅适用于 RPM 系 |
| DEB 包 | *.deb |
预编译二进制包,Debian 系标准格式 | Ubuntu、Debian、Linux Mint | dpkg、apt | 免编译,安装速度快;依赖管理严格;Ubuntu 生态软件丰富 | 仅适用于 Debian 系;跨发行版兼容性差 |
| 源代码包(TarBall) | .tar.gz/.tar.bz2 |
软件原始代码,未编译 | 所有 Linux 发行版(通用) | gcc、make、./configure |
版本最新;可按需定制功能;跨发行版兼容 | 需安装编译环境;安装步骤繁琐;需手动解决依赖 |
| 自包含安装程序 | .bin/.sh/install.sh |
预编译 + 依赖封装,独立安装包 | 所有 Linux 发行版(通用) | chmod +x执行安装脚本 |
免编译,自带依赖;安装向导化;跨发行版兼容 | 安装目录不规范;难以通过系统包管理器管理;卸载繁琐 |
关键说明:
- 开源软件通常采用混合发布策略,如 Nginx、MySQL 同时提供 RPM/DEB 二进制包和源代码包
- 本章以 openEuler 24.03(RPM 系)为核心,重点讲解 RPM 包和源代码包,DNF 是实操重点
- 自包含安装程序仅作为补充,日常管理优先选择系统原生包管理器
3.2 RPM 软件包管理工具
3.2.1 RPM 概述
RPM(Red Hat Package Manager,后更名为 RPM Package Manager):由 Red Hat 于 1997 年首创,是 openEuler、RHEL 等 RPM 系发行版的核心包管理机制。
1. RPM 的核心优势
- 全生命周期管理:通过系统级数据库(
/var/lib/rpm/)跟踪软件包的安装、升级、卸载,记录文件列表、依赖关系、版本信息 - 自动依赖解析:自动计算软件包间的依赖链,提示缺失的依赖包
- 标准化命名:所有 RPM 包遵循统一命名规范,通过文件名即可获取软件完整信息
- 事务性操作:安装 / 升级 / 卸载作为一个“事务”执行,出错自动回滚,保证系统状态一致性
2. RPM 包的标准化命名规范
软件名-版本号-发布次数.操作系统版本.硬件架构.rpm
实战命令:查看光盘中软件包命名ls -lh /media/cdrom/Packages/b/bind9*
3.2.2 RPM 命令的全流程实操(核心重点)
1. rpm 命令的基本格式
rpm [核心选项] [子选项] [参数]
表格
| 核心功能 | 核心选项 |
|---|---|
| 查询 / 验证 | -q(查询)、-V(验证) |
| 安装 / 升级 | -i(安装)、-U(升级,未安装则直接安装)、-F(更新,未安装则放弃) |
| 卸载 | -e(卸载) |
执行
man rpm可查看完整选项说明。
2. 查询 RPM 软件包信息(最常用功能,重点掌握)
查询分为查询已安装的软件包(核心:rpm -q + 子选项)和查询未安装的 RPM 包文件(核心:rpm -qp + 子选项)两类。所有查询操作均无需依赖网络。
(1)查询已安装的 RPM 软件包
表格
| 命令组合 | 功能说明 | 实战案例 |
|---|---|---|
rpm -q 软件名 |
查询指定软件是否已安装 | rpm -q wget |
rpm -qa |
列出系统中所有已安装的 RPM 软件包 | rpm -qa |
rpm -qa | grep -i 关键词 |
模糊查询含指定关键词的软件包(-i 忽略大小写) | rpm -qa | grep -i python3 |
rpm -qi 软件名 |
查看指定软件的详细信息(版本、发布时间、用途、许可证等) | rpm -qi firewalld |
rpm -ql 软件名 |
列出指定软件安装的所有文件和目录 | rpm -ql nginx |
rpm -qf 文件/目录路径 |
查看指定文件 / 目录由哪个软件包安装(反向查询) | rpm -qf /usr/bin/nginx |
核心注意:rpm 命令仅能查询通过 RPM 方式安装的软件,对于源码编译、手动复制的软件无法获取任何信息。
实战案例:
# 精准查询两个软件的安装状态
rpm -q elinks lynx
模糊查询python3相关软件(忽略大小写)
rpm -qa | grep -i python3
查看详细信息
rpm -qi python3-firewall
反向查询配置文件所属包
rpm -qf /etc/firewalld/firewalld.conf
(2)查询未安装的 RPM 包文件
参数为 RPM 包的完整文件路径(非软件名),常用子选项与已安装查询一致:
表格
| 命令组合 | 功能说明 |
|---|---|
rpm -qpi 包路径 |
查详细信息(确认软件功能) |
rpm -qpl 包路径 |
查包内文件(了解安装后会生成的文件路径) |
实战案例:
# 查详细信息
rpm -qpi /media/cdrom/Packages/e/esc-1.1.2-16.oe2403.x86_64.rpm
查包内文件
rpm -qpl /media/cdrom/Packages/e/esc-1.1.2-16.oe2403.x86_64.rpm
3. 安装、升级、卸载 RPM 软件包(实操重点)
安装 / 升级的参数为RPM 包完整路径,卸载的参数为软件名。若存在依赖缺失,系统会直接报错,需先安装依赖包。
(1)核心选项说明
表格
| 核心选项 | 功能 | 常用组合选项 | 适用场景 |
|---|---|---|---|
-i |
安装新的 RPM 包 | -ivh |
全新安装,查看安装进度和详细信息 |
-U |
升级指定软件包,未安装则直接安装 | -Uvh |
软件版本更新,兼容全新安装 |
-F |
更新指定软件包,未安装则放弃 | -Fvh |
仅对已安装软件进行版本更新 |
-e |
卸载指定软件包 | -e |
移除已安装的软件,仅需软件名 |
子选项-h |
以 "#" 显示安装 / 升级进度 | 搭配 - i/-U/-F | 直观查看安装过程 |
子选项-v |
显示安装 / 升级的详细信息 | 搭配 - i/-U/-F | 排查安装错误 |
--force |
强制安装 | -ivh --force |
替换已安装的同版本包 / 安装旧版本包 |
--nodeps |
忽略依赖关系 | -ivh --nodeps / -e --nodeps |
强制安装 / 卸载,忽略依赖检查 |
重要警告:
--force和--nodeps为强制操作选项,仅适用于学习 / 调试场景!生产环境中严禁使用,忽略依赖会导致软件功能异常、系统稳定性受损,甚至系统崩溃。
(2)安装 RPM 包
# 核心命令:rpm -ivh 包完整路径
rpm -ivh /media/cdrom/Packages/w/wget-1.21.4-1.oe2403.x86_64.rpm
验证安装成功:查看可执行文件路径
which wget
(3)升级 RPM 包
# 若有新版本,执行以下命令升级,若未安装则直接安装(-U的兼容性)
rpm -Uvh /media/cdrom/Packages/w/wget-新版本.oe2403.x86_64.rpm
(4)卸载 RPM 包
# 卸载命令:rpm -e 软件名
rpm -e wget
验证卸载成功
rpm -q wget # 提示"未安装软件包wget"
which wget # 无输出表示卸载成功
(5)处理依赖错误
若安装的软件包依赖其他未安装的包,系统会提示依赖缺失错误,例如:
error: 依赖检测失败:
nginx-filesystem >= 1.24.0-1.oe2403 被 nginx-1.24.0-1.oe2403.x86_64 需要
libnginx-mod-http-core = 1.24.0-1.oe2403 被 nginx-1.24.0-1.oe2403.x86_64 需要
解决方法:根据提示,先安装缺失的依赖包,再安装主包;生产环境中建议使用 DNF 自动解决依赖。
3.3 DNF 软件包管理器(RPM 系新一代工具,核心重点)
3.3.1 DNF 概述与工作机制
DNF(Dandified YUM):YUM 的下一代升级版本,是 openEuler 24.03 的默认包管理器,基于 RPM 包管理机制。解决了传统 YUM 速度慢、依赖解析差、内存占用高等问题。
1. DNF 的核心优势
- 自动化依赖解决:新一代依赖解析引擎,自动下载并安装所有缺失的依赖包,无需手动干预
- 多仓库支持:可配置多个软件仓库(官方仓库、第三方仓库如 EPEL、openEuler 专属仓库)
- 智能镜像源:根据用户地理位置和网络环境自动选择最优的 openEuler 镜像服务器
- 模块化管理:支持软件模块(Module),可快速切换软件的不同版本(如 Python 3.9/3.11)
- 命令简洁:保持与 YUM 完全兼容的命令格式,YUM 用户可无缝切换
- 高效稳定:相比 YUM 占用内存更少、执行速度更快,支持并行下载
- 多架构兼容:完美支持 x86_64、aarch64 等主流架构,自动匹配对应架构的软件包
2. DNF 的核心工作机制
DNF 工作基于软件仓库和元数据,核心流程:读取仓库配置 → 下载元数据 → 解析依赖 → 下载并安装软件包
(1)软件仓库(Repository)
- 软件仓库是 DNF 的软件来源,分为官方仓库(openEuler 24.03 自带,如 base、appstream、extras)和第三方仓库(如 EPEL、Nginx 官方仓库、openEuler 社区仓库)
- 仓库配置文件存放于
/etc/yum.repos.d/,文件后缀为.repo,所有.repo文件都会被 DNF 自动识别
(2)元数据(Metadata)
- 每个软件仓库提供元数据,包含仓库中所有软件包的名称、版本、依赖关系、文件列表、下载地址等
- DNF 定期下载并缓存元数据到本地(
/var/cache/dnf/),元数据默认有过期时间(如 6 小时),过期后自动更新
(3)仓库配置文件解析(以 openEuler-extras.repo 为例)
[extras] # 仓库名,唯一标识
name=openEuler $releasever - Extras # 仓库描述,$releasever为系统版本(24.03)
mirrorlist=https://mirrors.openeuler.org/mirrorlist?arch=$basearch&repo=extras-$releasever # 动态镜像列表(优先)
#baseurl=http://dl.openeuler.org/$releasever/extras/$basearch/os/ # 静态镜像地址(备用,注释状态)
gpgcheck=1 # 开启GPG签名验证,确保软件包来源可信
enabled=1 # 启用该仓库,0为禁用
metadata_expire=6h # 元数据缓存6小时后更新
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-openEuler-24.03 # GPG公钥路径
核心变量:
$releasever(系统版本,24.03)、$basearch(CPU 架构,x86_64/aarch64),实现配置文件的跨版本 / 跨架构兼容。
3.3.2 DNF 命令全流程实操(与 YUM 兼容,重点掌握)
dnf [选项/子命令] [软件包名] [参数]
DNF 的操作均依赖网络(从仓库下载软件包 / 元数据),若服务器无网络,可配置 openEuler 24.03 本地光盘仓库。
1. 软件包查询(核心:list/info/search)
表格
| 命令 | 功能说明 | 实战案例 |
|---|---|---|
dnf list all |
列出所有已安装和仓库中可用的软件包 | dnf list all |
dnf list 软件名 |
查看指定软件的安装状态和可用版本 | dnf list nginx |
dnf list available |
仅列出仓库中可安装的未安装软件包 | dnf list available |
dnf list updates |
列出系统中可升级的软件包 | dnf list updates |
dnf info 软件名 |
查看指定软件包的详细信息(版本、大小、用途、依赖等) | dnf info tree |
dnf search 关键词 |
搜索仓库中名称 / 描述含指定关键词的软件包 | dnf search web server |
实战案例:
# 查看nginx的状态(已安装/可安装)
dnf list nginx
查看nginx的详细信息
dnf info nginx
搜索Web服务器相关软件
dnf search web server
模糊查询tree软件
dnf search tree
2. 软件包安装(核心:dnf install)
dnf install [选项] 软件名
- 选项
-y:自动确认所有操作,无需手动输入 y(适用于脚本 / 批量操作) - 可同时安装多个软件,用空格分隔软件名
实战案例:
# 安装tree工具,自动确认安装(-y)
dnf install -y tree
安装过程输出:Dependencies resolved(依赖解析完成)→ 下载软件包 → Running transaction check/test → Running transaction → Complete!(安装完成)
3. 软件包升级(核心:dnf update)
# 升级指定软件包
dnf update [选项] 软件名
升级系统中所有可升级的软件包(系统更新)
dnf update [选项]
选项-y:自动确认升级
实战案例:
# 升级NetworkManager软件包,自动确认
dnf update -y NetworkManager
4. 软件包卸载(核心:dnf remove)
dnf remove [选项] 软件名
- 选项
-y:自动确认卸载 - 可同时卸载多个软件,用空格分隔
- DNF 卸载时会自动检查并提示依赖的软件包,避免误卸载导致系统功能异常
实战案例:
# 卸载已安装的tree工具,自动确认
dnf remove -y tree
卸载后会自动释放磁盘空间(Freed space)
5. DNF 其他常用命令
表格
| 命令 | 功能说明 |
|---|---|
dnf clean all |
清理 DNF 的缓存(元数据 + 下载的软件包),解决缓存损坏问题 |
dnf makecache |
手动生成元数据缓存,提升后续操作速度 |
dnf repolist |
列出当前启用的所有软件仓库 |
dnf repolist all |
列出所有仓库(启用 + 禁用) |
dnf module list 软件名 |
查看软件的模块版本(如 Python、Node.js) |
dnf check |
检查系统中存在的依赖问题 |
3.4 从源代码编译安装程序(定制化安装,核心实操)
3.4.1 源代码编译安装概述
源代码包(TarBall):开源软件的原始发布形式,以.tar.gz/.tar.bz2为后缀的压缩包,包含软件的所有原始代码(C/C++/Python 等),需通过编译转换为系统可识别的二进制可执行文件后才能运行。
适用场景
- 需要软件的最新版本:二进制包(RPM/DEB)会滞后数周 / 数月,编译安装可快速获取最新功能和安全补丁
- 需要定制软件功能:通过配置选项开启 / 关闭特定功能(如 Nginx 开启 SSL、HTTP/2 模块)
- 需要适配特殊系统环境:部分二进制包无法适配鲲鹏服务器、云原生环境等特殊场景
- 需要修改软件源代码:企业可根据自身需求修改开源软件源代码,添加自定义功能
- 适配 openEuler 专属架构:针对鲲鹏(aarch64)等架构,部分软件无官方二进制包,编译安装是最优选择
编译安装的前提:安装开发环境
源代码编译需要编译器和构建工具,核心依赖为gcc(C/C++ 编译器)和make(构建工具),此外不同软件还需要对应的开发库(后缀通常为-devel,表示开发用的头文件和库文件)。
# 安装基础编译工具(openEuler 24.03默认gcc 12.2版本)
dnf install -y gcc make
通用开发库(大部分软件编译都需要)
dnf install -y pcre-devel zlib-devel openssl-devel
鲲鹏架构(aarch64)额外安装架构适配工具
dnf install -y gcc-aarch64-linux-gnu make-aarch64-linux-gnu
3.4.2 源代码编译安装的标准流程(四步核心,通用所有开源软件)
所有开源软件的源代码编译安装都遵循统一标准流程,核心为: 解包 → 配置 → 编译 → 安装 简称:./configure → make → make install
仅部分软件会有细微差异,具体需参考软件包内的 INSTALL 或 README 文档(必看!)。
以下以Nginx 1.26.2(高性能 Web 服务器)为例,完成从源代码下载到服务启动的完整实战。
步骤 1:下载并解包源代码包(Tar 解包)
(1)下载源代码包
优先从软件官方网站下载,保证包的完整性和安全性。
# 下载Nginx 1.26.2源代码包
wget http://nginx.org/download/nginx-1.26.2.tar.gz
(2)解包源代码包
使用tar命令解包,核心选项:
-z:解.gz 包-x:解包-v:显示详细信息-f:指定包文件
# 解包Nginx源代码
tar -zxvf nginx-1.26.2.tar.gz
解包完成后,查看生成的目录
ls
输出:nginx-1.26.2 nginx-1.26.2.tar.gz
步骤 2:配置编译参数(./configure,核心定制步骤)
解包后进入源代码目录,执行./configure脚本进行编译配置。这是定制化的核心步骤,通过配置选项指定软件的安装目录、启用 / 禁用功能模块、依赖库路径等。
(1)进入源代码目录
cd nginx-1.26.2
(2)执行./configure 配置,指定核心参数
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module
参数解析:
--prefix=/usr/local/nginx:指定 Nginx 的安装目录为/usr/local/nginx,所有文件都会安装到该目录,便于管理和卸载--with-http_ssl_module:启用 SSL 模块,支持 HTTPS 协议,需提前安装openssl-devel--with-http_v2_module:启用 HTTP/2 模块,提升 Web 服务的传输速度,需提前安装pcre-devel和zlib-devel
鲲鹏架构(aarch64)额外配置:若在 openEuler 24.03 鲲鹏服务器上编译,需添加架构指定参数:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --build=aarch64-unknown-linux-gnu
(3)配置成功的标志
若配置过程中无错误提示,最后会输出 Configuration summary 信息,表示配置成功,生成了Makefile(编译脚本,为下一步 make 做准备):
Configuration summary
+ using system PCRE library
+ using system zlib library
+ using system OpenSSL library
+ nginx path prefix: "/usr/local/nginx"
+ nginx binary file: "/usr/local/nginx/sbin/nginx"
+ nginx configuration prefix: "/usr/local/nginx/conf"
+ nginx error log path: "/usr/local/nginx/logs/error.log"
+ nginx http access log path: "/usr/local/nginx/logs/access.log"
+ nginx pid file: "/usr/local/nginx/logs/nginx.pid"
+ build platform: x86_64-unknown-linux-gnu # openEuler 24.03 x86架构
配置失败的解决:若配置失败,会提示
error: xxx not found,如error: SSL modules require the OpenSSL library,表示缺失openssl-devel,通过dnf install安装对应依赖后重新执行./configure即可。
步骤 3:编译源代码(make,无定制,纯执行)
配置成功后,执行make命令进行编译。make 会根据生成的 Makefile 脚本,调用 gcc 编译器将源代码转换为二进制可执行文件。
# 基础编译,单核心
make
多核并行编译(推荐),指定4个核心,根据服务器CPU调整
make -j 4
编译成功的标志:无 error、warning 可忽略,最后回到命令行提示符,无报错信息。
步骤 4:安装编译后的程序(make install)
编译成功后,执行make install命令,将编译好的二进制文件、配置文件、帮助文档等复制到./configure指定的安装目录(/usr/local/nginx),完成最终的安装。
make install
安装过程输出少量信息,无报错表示安装成功。openEuler 24.03 会自动为安装的程序添加执行权限。
步骤 5:验证安装并启动服务(实战验证)
安装完成后,所有 Nginx 的文件都在/usr/local/nginx目录中:
sbin/:可执行文件目录,nginx 为核心启动程序conf/:配置文件目录,nginx.conf 为核心配置文件logs/:日志文件目录,error.log 和 access.log 为核心日志
(1)启动 Nginx 服务
# 进入Nginx的sbin目录,执行nginx启动程序
cd /usr/local/nginx/sbin
./nginx # 启动Nginx,无输出表示启动成功
(2)验证 Nginx 是否启动
使用ps -ef | grep nginx查看 Nginx 进程,若存在master process(主进程)和worker process(工作进程),表示启动成功:
ps -ef | grep nginx
# 输出示例:
# root 44020 1 0 19:10 ? 00:00:00 nginx: master process ./nginx
# nobody 44021 44020 0 19:10 ? 00:00:00 nginx: worker process
(3)浏览器验证
在客户端浏览器中输入 openEuler 24.03 服务器的 IP 地址(如http://192.168.253.129),若看到 Nginx 的欢迎页面,表示编译安装成功,可正常提供 Web 服务。
源代码编译安装的核心优势与卸载方法
(1)核心优势
- 定制化:可根据需求开启 / 关闭功能模块,优化软件性能
- 最新版本:快速获取软件的最新功能和安全补丁
- 独立目录:所有文件都在指定的安装目录,便于管理和迁移
- 跨架构兼容:可在 x86_64、aarch64 等架构上编译,适配不同硬件环境
- 深度优化:可针对 openEuler 的系统内核和硬件架构做编译优化,提升程序运行效率
(2)卸载方法
源代码编译安装的软件无官方卸载命令,由于所有文件都在--prefix指定的安装目录,直接删除该目录即可完成卸载,无残留:
# 卸载Nginx,直接删除安装目录
rm -rf /usr/local/nginx
3.5 三种应用程序管理方式的对比与场景选择
表格
| 管理方式 | 核心工具 | 安装速度 | 依赖处理 | 功能定制性 | 软件版本 | 管理难度 | openEuler 24.03 适配性 | 适用场景 |
|---|---|---|---|---|---|---|---|---|
| RPM 原生命令 | rpm | 快(免编译) | 手动处理,需自行安装依赖 | 无,仅能安装默认功能 | 标准化,版本较稳定 | 中,需处理依赖 | 完美支持,优化了鲲鹏架构依赖解析、提升海量包查询速度 | 无网络环境的本地安装;单软件快速安装 / 卸载;openEuler 离线服务器部署;跨架构包验证 |
| DNF 包管理器 | dnf | 快(免编译) | 自动解决,无需手动干预 | 低,仅能安装仓库中预设的功能 | openEuler 官方仓库版本,略滞后于最新版 | 低,命令简洁,自动化程度高 | 深度优化,支持 x86_64/aarch64 多架构、智能镜像源调度、模块化版本隔离 | openEuler 24.03 日常系统管理;标准化服务部署;快速安装 / 升级 / 卸载软件;有网络环境的服务器;云原生环境;企业级标准化部署 |
| 源代码编译安装 | ./configure/make/make install |
慢(需编译) | 手动处理,需安装编译依赖和开发库 | 高,可按需开启 / 关闭功能模块,修改源代码 | 最新版本,可获取最新功能和安全补丁 | 高,需掌握编译环境和配置选项 | 完美支持,提供 gcc 12.2 完善开发工具链,适配 x86_64/aarch64 鲲鹏架构,支持多核并行编译 | openEuler 24.03 企业级定制化服务部署;需要软件最新版本;鲲鹏架构专属适配;修改软件源代码定制功能;特殊系统环境适配 |
核心选择原则
- 日常使用 / 标准化部署:优先选择DNF,自动化程度高,管理难度低,是 openEuler 24.03 的默认选择
- 无网络 / 离线环境:选择RPM 本地安装,需提前从 openEuler 官方镜像站下载好所有依赖包,适合机房隔离、无外网的服务器部署
- 企业级定制化 / 鲲鹏架构适配:选择源代码编译安装,可针对 openEuler 24.03 的内核特性和鲲鹏硬件架构做编译优化,开启专属功能模块,是搭建 Nginx、MySQL、Redis 等企业级定制服务的首选
本章总结
- Linux 应用程序与命令的核心区别在于存储目录、安装时机和功能定位,openEuler 24.03 严格遵循 FHS 标准,应用程序文件分散存储在
/usr/bin、/etc、/var/log等指定目录 - Linux 软件包分为四大封装类型,RPM 包是 openEuler 24.03 等 RPM 系发行版的标准格式,遵循
软件名-版本号-发布次数.oe2403.硬件架构.rpm的标准化命名规范,同时适配 x86_64 和 aarch64 鲲鹏架构 - rpm 命令是 RPM 包的原生管理工具,核心功能为查询(
-q/-qp)、安装(-i)、升级(-U)、卸载(-e),查询功能是日常系统运维的重点,仅能管理通过 RPM 方式安装的软件 - DNF是 openEuler 24.03 的默认包管理器,基于 RPM 机制做了深度优化,默认兼容 YUM 命令,核心优势是自动解决依赖、智能镜像源、多架构兼容、模块化管理,
dnf install/remove/update是日常使用的高频命令 - openEuler 24.03 提供了完善的开发工具链,支持开源软件从源代码编译安装,标准流程为解包 → 配置 → 编译 → 安装,核心是
./configure的定制化配置,--prefix参数可指定安装目录便于后续管理和卸载,同时支持鲲鹏架构的专属编译配置和多核并行编译 - openEuler 24.03 三种应用程序管理方式的选择核心是场景 + 架构适配:日常运维选 DNF,无网络离线环境选 RPM,企业级定制化部署、鲲鹏架构适配或需要软件最新版本时选源代码编译安装
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)