当前位置: 首页 > news >正文

Linux应用程序的安装与管理

一、Linux应用程序组成

1. 应用程序与命令的区别
特性Linux命令应用程序
存储位置/bin, /sbin/usr/bin, /usr/sbin, /usr/local/bin
安装方式随OS安装需额外安装
执行格式统一格式:命令+选项+参数格式由开发者定义
界面类型字符界面支持图形界面
2. 应用程序核心组件
组件类型存储位置说明
可执行程序/usr/bin普通用户可执行
管理程序/usr/sbin仅管理员可执行
配置文件/etc/应用名/自动创建同名子目录
日志文件/var/log/运行记录
参考文档/usr/share/doc/说明文档、许可证等
MAN手册/usr/share/man/帮助文档
3. 软件包封装类型
类型扩展名适用系统
RPM包.rpmRHEL, CentOS, Fedora, SUSE
DEB包.debDebian, Ubuntu
源代码包.tar.gz需编译安装

二、RPM包管理详解

1. RPM包命名规范
coreutils-8.30-4.el7.x86_64.rpm
  • coreutils:软件名称
  • 8.30:主版本号
  • 4:修订版本号
  • el7:Red Hat Enterprise Linux 7 定制版
  • x86_64:CPU架构(noarch表示通用包)
2. RPM命令操作指南

查询操作

# 检查软件是否安装
rpm -q vsftpd
rpm -qa | grep vsftpd# 查看已安装包详细信息
rpm -qi vsftpd# 列出软件安装的文件
rpm -ql vsftpd# 定位文件所属包
rpm -qf /etc/vsftpd/vsftpd.conf# 查看未安装包信息(需完整路径)
rpm -qpi /path/to/package.rpm  # 包信息
rpm -qpl /path/to/package.rpm  # 文件列表

安装与卸载

rpm
-i  	#	安装
-v 		#	显示详细过程
-h  	#	以“#”显示进度
-e  	#	卸载
-U  	#	更新
-F  	#	更新,如果未安装旧版本软件包,则放弃安装或更新
--force   #	强制
--nodeps  #	去除依赖性关系# 安装软件包
rpm -ivh package.rpm# 强制安装(忽略依赖)
rpm -ivh --nodeps --force package.rpm# 卸载软件
rpm -e package_name# 更新软件
rpm -Uvh new_package.rpm    # 未安装则安装
rpm -Fvh new_package.rpm    # 仅更新已安装版本

三、YUM仓库配置与使用

1. 仓库配置文件

路径/etc/yum.repos.d/*.repo
示例配置 (server.repo):

[base]                      # 仓库唯一ID
name=Base Repository        # 仓库描述
baseurl=file:///mnt         # 本地路径(支持http/ftp远程)
enabled=1                   # 启用仓库
gpgcheck=0                  # 关闭GPG验证(生产环境慎用)
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release # 启用验证需指定密钥
2. YUM核心命令
# 安装/卸载软件
yum -y install httpd
yum -y remove httpd# 更新操作
yum update httpd        # 更新指定包
yum update              # 更新所有包# 软件组管理
yum group list          # 列出软件组
yum -y groupinstall "Development Tools"		#安装软件包组
yum -y group remove "Development Tools"		#卸载软件包组# 仓库与缓存
yum repolist            # 查看启用仓库
yum clean all           # 清理缓存

四、DNF的使用(YUM的现代替代)

命令兼容性
# 所有YUM命令可直接替换为DNF
dnf -y install httpd
dnf -y remove httpd
dnf group list
dnf -y update
关键改进
  • 依赖解析:采用SAT求解器,速度提升50%+
  • 事务历史dnf history支持更细粒度的回滚
  • 内存优化:比YUM减少约40%内存占用
  • 模块支持:原生支持模块化软件包(如RHEL8的AppStream)
http://www.dtcms.com/a/302913.html

相关文章:

  • React入门
  • Docker笔记(基本命令、挂载本地gpu、Dockerfile文件配置、数据挂载、docker换源)
  • claude code
  • OSPF路由协议(上)
  • LangGraph实战:MCP + SSE实现远程调用MCP Server
  • 扩展和插件功能
  • 解决Echarts设置宽度为100%发现宽度变为100px的问题
  • 5 分钟上手 Firecrawl
  • [免费]【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)【论文+源码+SQL脚本】
  • Android中PID与UID的区别和联系(2)
  • Effective C++ 条款07:为多态基类声明virtual析构函数
  • 《深入理解priority_queue:的使用与模拟实现》
  • 教资科三【信息技术】— 学科知识: 第四章(计算机网络技术)
  • 如何在FastAPI中玩转Schema版本管理和灰度发布?
  • 【深度学习】SOFT Top-k:用最优传输解锁可微的 Top-k 操作
  • (二)Eshop(RabbitMQ手动)
  • 如何 5 分钟给英语视频加上中文字幕?
  • 2025.7.28总结
  • 学术论文写作心得笔记:如何避免“论文像实验报告”
  • 关于sql面试积累
  • [Linux]线程池
  • 【深度学习新浪潮】基于文字生成3D城市景观的算法有哪些?
  • 前端实现PDF在线预览的8种技术方案对比与实战
  • 软件设计师-知识点记录
  • WAIC 2025深度解析:当“养虎”警示遇上机器人拳击赛
  • 构建你的专属区块链:深入了解 Polkadot SDK
  • Java序列化与反序列化
  • 从零开始学习Dify-基于MCP的智能旅行规划助手下(九)
  • 02_FOC学习之-闭环位置控制
  • #Datawhale 组队学习#强化学习Task5