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

在之前的课程中,我们提到过源码包安装需要解决系统环境、权限等问题,这些对初学者来说可能非常棘手。因此,Linux厂商推出了一种类似Windows系统中的安装方式:开发者在已知的系统中预先编译好软件包,使用者可以直接下载并进行安装、升级和卸载等操作。在Linux中,能够提供这些功能的软件有两种:RPM和dpkg,而在CentOS中使用的是RPM。
RPM最早由Red Hat开发,由于其便捷性,许多发行版也采用RPM来管理软件包。RPM的全称是Red Hat Package Manager,其最大特点是将需要安装的软件预先编译并打包,包内包含用于记录软件依赖关系的相关数据。当用户安装时,RPM会优先检查这些数据,如果系统满足要求则安装软件包,否则不能安装。安装完成后,软件包相关信息会被记录到RPM自己的数据库中,方便查询和卸载。因此,RPM的优点是安装、卸载和查询方便,但缺点是只能在指定的操作系统上使用,不同厂商的RPM包甚至同一厂商不同版本操作系统的RPM包都不通用。
RPM包的命名格式如下:
dhcp-server-4.3.6-30.el8.x86_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(Yellow dog Updater, Modified)是一个基于RPM却更胜于RPM的管理工具,让你可以更轻松地管理Red Hat Enterprise Linux系统中的软件。你可以使用YUM来安装或卸载软件,也可以利用YUM来更新你的系统,更可以利用YUM来搜索一个尚未安装的软件。不管是安装、更新或者删除,YUM都会自动帮你解决软件间的依赖性问题。通过YUM会比单纯使用RPM来得更加方便。
YUM包含以下几项组件:
yum的命令,你可以使用yum来使用YUM提供的众多功能。/var/cache/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中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号