Linux应用程序基础
目录
3.3 DNF包管理器(openEuler默认,替代yum)
1.1 命令 vs 应用程序
|
对比维度 |
Linux系统命令 |
应用程序(软件) |
|
来源 |
系统自带基础组件 |
独立业务软件(Nginx、MySQL) |
|
存放 |
/bin、/sbin |
/usr/bin、/usr/sbin、/usr/local/* |
|
界面 |
仅字符CLI |
CLI、GUI都支持 |
3.1.2 FHS标准:应用程序文件分布
- /usr/bin:存放普通可执行程序,供普通用户运行
- /usr/sbin:存放管理员服务程序,需以 root 身份运行
- /etc:存放配置文件,修改后需重启程序方可生效
- /var/log:存放日志文件,用于排查故障
- /usr/share/doc:存放软件文档
- /usr/share/man:存放 man 帮助手册
3.1.3 软件包4种封装
- RPM:openEuler/RHEL使用,二进制包,工具rpm/dnf
- DEB:Ubuntu/Debian使用
- 源代码包(.tar.gz):原始源码,需要gcc编译,可以定制功能
- 自包含安装包:自带依赖,小众软件使用
3.2 RPM软件包管理
RPM包命名格式
lynx‑2.8.9‑20.oe2403.x86_64.rpm
- noarch:跨架构,脚本类包
rpm核心命令
|
命令 |
作用 |
|
rpm -q 包名 |
查询是否已安装 |
|
rpm -qa |
列出全部已安装包 |
|
rpm -qi 包名 |
查询 已安装软件包的详细信息(软件名、版本、描述等),参数写 软件名 |
|
rpm -qpi xxx.rpm |
查询未安装的RPM包文件 的详细信息,参数写 rpm完整文件路径 |
|
rpm -ql 包名 |
查看安装生成哪些文件 |
|
rpm -qf 文件路径 |
反向查询:这个文件属于哪个rpm包 |
|
rpm -qlp xxx.rpm |
查看未安装rpm包里包含哪些文件 |
|
rpm -ivh xxx.rpm |
安装本地rpm包 |
|
rpm -Uvh xxx.rpm |
升级,没装就安装 |
|
rpm -Fvh xxx.rpm |
仅升级已存在软件 |
|
rpm -e 软件名 |
卸载软件 |
- rpm -qi 软件名:操作对象是系统里已经安装好的包,输入软件名字;读取本地RPM数据库。
- rpm -qpi 完整包路径.rpm:操作对象是磁盘上还没有安装的rpm文件,要写完整文件路径,不访问系统rpm数据库。
3.3 DNF包管理器(openEuler默认,替代yum)
dnf常用命令
|
命令 |
功能 |
|
dnf list 软件名 |
查看安装状态和仓库版本 |
|
dnf info 软件名 |
软件详情 |
|
dnf search 关键词 |
搜索软件 |
|
dnf install -y 软件 |
安装软件,-y自动确认 |
|
dnf update [软件名] |
升级指定软件;不带名字升级全部系统软件 |
|
dnf remove -y 软件名 |
卸载软件,自动检查依赖风险 |
|
dnf groupinstall "Development Tools" |
安装开发工具组(gcc、make等) |
3.4 源代码编译安装(四步)
dnf install -y gcc make pcre-devel zlib-devel openssl-devel
标准四步流程
- 解包:
进入源码目录tar -zxvf xxx.tar.gz - 配置 ./configure
- 不编译;检测系统依赖;生成Makefile
- --prefix=/xxx 指定安装目录,方便卸载
- --with‑xxx_module开启模块,--without‑xxx关闭模块
- 报错:error:xxx not found → dnf安装缺失devel库
- 编译 make [-j N]
- 调用gcc,把.c源码编译成二进制;‑j 4开启4核并行编译加速
- 安装 make install
- 不编译! 复制编译好的二进制、配置文件到prefix目录
tar -zxvf nginx‑1.26.2.tar.gz
cd nginx‑1.26.2
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module
make -j4
make install
#卸载:rm -rf /usr/local/nginx
3.5 三种安装方式选型对比
|
方式 |
优点 |
缺点 |
适用场景 |
|
rpm本地安装 |
无需网络 |
手动处理依赖,麻烦 |
离线无外网服务器 |
|
dnf install |
自动解决依赖,简单稳定 |
版本跟随官方仓库,不能自定义模块 |
日常生产首选,标准化部署 |
|
源码编译 |
自定义模块、新版本、适配特殊硬件 |
步骤多,要装编译环境,无包数据库 |
定制Nginx/Redis、鲲鹏架构、需要修改源码 |
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)