部署安装
RPM(红帽软件包管理器)
在 RPM(红帽软件包管理器)公布之前,要想在 Linux 系统中安装软件只能采取源码包
的方式安装。早期在 Linux 系统中安装程序是一件非常困难、耗费耐心的事情,而且大多数
的服务程序仅仅提供源代码,需要运维人员自行编译代码并解决许多的软件依赖关系,因此
要安装好一个服务程序,运维人员需要具备丰富知识、高超的技能,甚至良好的耐心。而且在
安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、
卸载、查询、升级等管理软件操作时难度都非常大。
RPM 机制则为解决这些问题而设计的。RPM 有点像 Windows 系统中的控制面板,会建
立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。目前 RPM 的优势已经被
公众所认可,使用范围也已不局限在红帽系统中了。表 1-1 是一些常用的 RPM 软件包命令,
当前不需要记住它们,大致混个“脸熟”就足够了。
常用的 RPM 软件包命令
安装软件的命令格式 rpm -ivh filename.rpm
升级软件的命令格式 rpm -Uvh filename.rpm
卸载软件的命令格式 rpm -e filename.rpm
查询软件描述信息的命令格式 rpm -qpi filename.rpm
列出软件文件信息的命令格式 rpm -qpl filename.rpm
查询文件属于哪个 RPM 的命令格式 rpm -qf filename
Yum 软件仓库
尽管 RPM 能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决,
而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。
Yum 软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum 软件仓库可以
根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安
装到系统。
yum repolist all 列出所有仓库
yum list all 列出仓库中所有软件包
yum info 查看软件包信息
yum install 安装软件包
yum reinstall 重新安装软件包
yum update 升级软件包
yum remove 移除软件包
yum clean all 清除所有仓库缓存
yum check-update 检查可更新的软件包
yum grouplist 查看系统中已经安装的软件包组
yum groupinstall 安装指定的软件包组
yum groupremove 移除指定的软件包组
yum groupinfo 查询指定的软件包组信息
管理服务
在 RHEL 7 系统中是使用 systemctl 命令来管理服务的。
systemctl start foo.service 启动服务
systemctl restart foo.service重启服务
systemctl stop foo.service 停止服务
systemctl reload foo.service 重新加载配置文件(不终止服务)
systemctl status foo.service 查看服务状态
systemctl enable foo.service 开机自动启动
systemctl disable foo.service 开机不自动启动
systemctl is-enabled foo.service 查看特定服务是否为开机自动启动
systemctl list-unit-files --type=service 查看各个级别下服务的启动与禁用情况
总结
- 简述 RPM 与 Yum 软件仓库的作用。
RPM是为了简化安装的复杂度,而 Yum软件仓库是为了解决软件包之间的依赖关系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY