首页 > 运维 > linux运维 > 正文

linux软件包管理

蓮花仙者
发布: 2025-07-17 08:38:08
原创
407人浏览过

linux系统中,软件包的管理是常见操作。让我们一起探讨linux系统中软件包管理的不同方式。

linux软件包管理

一、RPM软件包

RPM的介绍

在之前的课程中,我们提到过源码包安装需要解决系统环境、权限等问题,这些对初学者来说可能非常棘手。因此,Linux厂商推出了一种类似Windows系统中的安装方式:开发者在已知的系统中预先编译好软件包,使用者可以直接下载并进行安装、升级和卸载等操作。在Linux中,能够提供这些功能的软件有两种:RPM和dpkg,而在CentOS中使用的是RPM。

RPM最早由Red Hat开发,由于其便捷性,许多发行版也采用RPM来管理软件包。RPM的全称是Red Hat Package Manager,其最大特点是将需要安装的软件预先编译并打包,包内包含用于记录软件依赖关系的相关数据。当用户安装时,RPM会优先检查这些数据,如果系统满足要求则安装软件包,否则不能安装。安装完成后,软件包相关信息会被记录到RPM自己的数据库中,方便查询和卸载。因此,RPM的优点是安装、卸载和查询方便,但缺点是只能在指定的操作系统上使用,不同厂商的RPM包甚至同一厂商不同版本操作系统的RPM包都不通用。

RPM包的命名

RPM包的命名格式如下:

dhcp-server-4.3.6-30.el8.x86_64.rpm
软件名称    版本  编译次数  适用的系统  适用的平台   后缀名
登录后复制
  • 软件名:软件包的名称。
  • 版本:每次更新版本号都会改变,用来帮助用户判断软件包新旧。
  • 编译次数:也是帮助用户判断软件包新旧。
  • 适用的系统:在哪个系统上可以安装,CentOS和RHEL的多数软件包是通用的。
  • 适用的平台:指的是硬件平台,比如32位CPU无法安装64位的软件包。

RPM的使用

RPM包的相关文件通常会放在对应的目录中:

  • 配置文件:/etc
  • 执行文件:/usr/bin
  • 链接库文件:/usr/lib
  • 帮助与说明文档:/usr/share/man/usr/share/doc

安装

[root@zutuanxue Packages]# rpm -ivh dhcp-server-4.3.6-30.el8.x86_64.rpm
-i 安装
-v 显示详细信息
-h 显示安装进度
-e 卸载
-U 升级,如果系统中有低版本的就会升级,如果系统没有安装相应的包,则安装
-F 有条件的升级,会检测用户指定的软件包是否已安装到Linux中
--nodeps 忽略软件包之间的依赖关系
--replacefiles 覆盖文件
--replacepkgs 修复
--force 强制
--test 测试
-q 查询指定的软件包是否安装
-qi 查看指定的软件包的信息,包括开发商,版本,说明
-ql 查看指定软件包中所包含的文件列表
-qc 查看指定软件包的配置文件
-qa 查看本机安装的所有包
-qf 查看一个文件归属于哪个已安装的软件包
登录后复制

二、YUM软件仓库

YUM的介绍

YUM(Yellow dog Updater, Modified)是一个基于RPM却更胜于RPM的管理工具,让你可以更轻松地管理Red Hat Enterprise Linux系统中的软件。你可以使用YUM来安装或卸载软件,也可以利用YUM来更新你的系统,更可以利用YUM来搜索一个尚未安装的软件。不管是安装、更新或者删除,YUM都会自动帮你解决软件间的依赖性问题。通过YUM会比单纯使用RPM来得更加方便。

乾坤圈新媒体矩阵管家
乾坤圈新媒体矩阵管家

新媒体账号、门店矩阵智能管理系统

乾坤圈新媒体矩阵管家17
查看详情 乾坤圈新媒体矩阵管家

YUM包含以下几项组件:

  • YUM下载源:如果将所有RPM文件放在某一个目录中,这个目录就可称为“YUM下载源(YUM Repository)”。你也可以通过HTTP、FTP等方式分享YUM下载源给其他计算机使用;当然,你也可以直接使用别人建好的YUM下载源来取得需安装的软件。
  • YUM工具:YUM提供了一个名为yum的命令,你可以使用yum来使用YUM提供的众多功能。
  • YUM插件:YUM还允许第三方厂商(3rd Party)开发YUM的插件(Plug-in),让用户可以任意扩充YUM的功能,比如有的插件可以帮助选择最快的YUM源。
  • YUM缓存:YUM运行时,会从YUM下载源获得软件信息与文件,并且暂存于本机的硬盘上。这个暂存的目录,称为“YUM缓存(YUM cache)”。缓存目录为/var/cache/yum

YUM的使用

由于YUM有下载源这个东西,所以我们在使用YUM之前需要告诉它去哪里获取这些软件包,也就是说需要先配置一个YUM源。

[root@zutuanxue ~]# cd /etc/yum.repos.d/
[root@zutuanxue yum.repos.d]# ls
CentOS-AppStream.repo   CentOS-CR.repo    CentOS-fasttrack.repo   CentOS-Sources.repo
CentOS-Base.repo        CentOS-Debuginfo.repo  CentOS-Media.repo       CentOS-Vault.repo
CentOS-centosplus.repo  CentOS-Extras.repo     CentOS-PowerTools.repo
<p>在CentOS8中,YUM的下载源配置文件统一都放到<code>/etc/yum.repos.d/目录下。在这个目录中有些默认的下载源,但我不想使用这些自带的下载源,我想配置一个自己的下载源,让YUM使用光盘镜像里的软件包。为了避免干扰,我们把这些自带的下载源都放到一个目录里:</p><p>[root@zutuanxue yum.repos.d]# mkdir repos
[root@zutuanxue yum.repos.d]# ls
CentOS-AppStream.repo   CentOS-CR.repo         CentOS-fasttrack.repo   CentOS-Sources.repo
CentOS-Base.repo        CentOS-Debuginfo.repo  CentOS-Media.repo       CentOS-Vault.repo
CentOS-centosplus.repo  CentOS-Extras.repo     CentOS-PowerTools.repo  repos
[root@zutuanxue yum.repos.d]# mv *.repo repos
[root@zutuanxue yum.repos.d]# clear
[root@zutuanxue yum.repos.d]# ls
repos</p><p>然后使用vim命令建立自己的下载源配置文件:</p><p>[root@zutuanxue repos]# vim server.repo
[server-BaseOS]
name=server-BaseOS
enabled=1
gpgcheck=0
baseurl=file:///mnt/BaseOS</p><p>[server-AppStream]
name=server-AppStream
enabled=1
gpgcheck=0
baseurl=file:///mnt/AppStream</p><p>[root@zutuanxue ~]# mount /dev/cdrom /mnt/
将光盘挂载到指定位置</p><p>由于CentOS8的软件包存放在光盘根目录的BaseOS和AppStream目录中,所以为了保证需要的软件包能正确安装,我们配置了两个YUM源。这两部分内容你可以放到一个文件里,也可以分别放在两个文件中。</code>
登录后复制

通过以上步骤,我们可以有效地管理Linux系统中的软件包,确保系统的稳定性和功能的扩展性。

以上就是linux软件包管理的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号