在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]# lsCentOS-AppStream.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repoCentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repoCentOS-centosplus.repo CentOS-Extras.repo CentOS-PowerTools.repo在CentOS8中,YUM的下载源配置文件统一都放到
/etc/yum.repos.d/目录下。在这个目录中有些默认的下载源,但我不想使用这些自带的下载源,我想配置一个自己的下载源,让YUM使用光盘镜像里的软件包。为了避免干扰,我们把这些自带的下载源都放到一个目录里:[root@zutuanxue yum.repos.d]# mkdir repos[root@zutuanxue yum.repos.d]# lsCentOS-AppStream.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repoCentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repoCentOS-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]# lsrepos
然后使用vim命令建立自己的下载源配置文件:
[root@zutuanxue repos]# vim server.repo[server-BaseOS]name=server-BaseOSenabled=1gpgcheck=0baseurl=file:///mnt/BaseOS
[server-AppStream]name=server-AppStreamenabled=1gpgcheck=0baseurl=file:///mnt/AppStream
[root@zutuanxue ~]# mount /dev/cdrom /mnt/将光盘挂载到指定位置
由于CentOS8的软件包存放在光盘根目录的BaseOS和AppStream目录中,所以为了保证需要的软件包能正确安装,我们配置了两个YUM源。这两部分内容你可以放到一个文件里,也可以分别放在两个文件中。
通过以上步骤,我们可以有效地管理Linux系统中的软件包,确保系统的稳定性和功能的扩展性。
以上就是linux软件包管理的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/462623.html
微信扫一扫
支付宝扫一扫