版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目6软件包管理主讲:***2024年1月2日1Linux应用基础项目化教程2024年1月2日Linux应用基础项目化教程2本项目学习目标:1.知识目标2.能力目标掌握软件包管理工具概念;了解rpm软件包管理器;了解yum软件包管理器;了解dnf软件包管理器。能熟练使用rpm软件包管理命令;能熟练使用yum软件包管理命令;能熟练使用dnf软件包管理命令;能够熟练运用各软件包管理命令进行查询、安装、升级、卸载等操作2024年1月2日Linux应用基础项目化教程3学习任务任务6.1软件包管理概述任务6.2rpm软件包管理器任务6.3yum与dnf软件包管理器2024年1月2日Linux应用基础项目化教程4任务6.1软件包管理概述rpm软件包管理器可以让用户不必经过编译就能使用软件,但是若遇到软件包依赖问题,rpm就会中断当前安装,提示用户需要依赖的软件包,用户需要将所提示的依赖软件包按顺序逐一安装完成后,方可完成本软件包的安装,否则无法完成软件包安装过程,这种方式对用户来说很不方便。yum是YellowDogUpdater,Modified的简称。能够从指定的服务器自动下载rpm软件包并安装,可以自动处理依赖问题,一次安装所有依赖的软件包。yum的目的是自动地升级、安装、移除rpm软件包,收集rpm软件包的相关信息,检查依赖性并自动解决。dnf是新一代的RPM软件包管理器,取代了YUM正式成为包管理器,克服了yum包管理器的一些瓶颈,提升了包括用户体验、内存占用、依赖分析、运行速度等多方面的内容。2024年1月2日Linux应用基础项目化教程5任务6.2rpm软件包管理器rpm中通常包含二进制包和源代码包,二进制包可以直接通过rpm命令安装在系统上,而源代码包则可以通过rpm命令提取对应软件的源代码,以便进行学习或二次开发,是以“.rpm”为扩展名的文件。如“zip-3.0-23.el8.x86_64.rpm”,其中“zip”为软件名,“3.0”表示主版本号,“23”表示修订次数,“el8”通常是指软件的发行商,这里是指基于RHEL8.0系列软件包,“x86_64”表示软件执行的硬件平台,表示支持64位系统。如右图1所示。图1RPM文件名元素rpm软件包的完整名称一般由4个元素组成,其格式为“软件名-主版本号-修订版本号.软件执行的硬件平台.rpm”。2024年1月2日Linux应用基础项目化教程6RPM软件包管理器的特点:易于安装。具有丰富的软件包管理查询功能。具有软件包内容校验功能。支持多种硬件平台。2024年1月2日Linux应用基础项目化教程71.易于安装为了使用户能够简单容易安装所需的软件,Linux开发了一款软件包管理器,通过特定的打包方式将软件打包成一个特殊格式文件——rpm软件包。使用rpm软件包管理器进行软件安装时,用户不需要进行任何复杂的设置,就能很容易地完成软件的安装。2.具有丰富的软件包查询功能在安装软件时,rpm软件包管理器会创建一个有关软件包信息的数据库,用户可以通过这个数据库查询软件包的组件、文件所属的软件包或操作系统中所有的软件包及文件等信息。2024年1月2日Linux应用基础项目化教程83.具有软件包内容校验功能。用户可以通过rpm软件包管理器的软件包内容验证功能迅速确定软件包内的文件是否完整,是否有丢失或损坏。任务结束4.支持多种硬件平台。rpm软件包管理器可为一个软件制作针对不同Linux系统硬件平台的rpm软件包。2024年1月2日Linux应用基础项目化教程96.2.1安装1.使用rpm命令安装软件包其语法格式如下:rpm[选项]软件包的完整名称2024年1月2日Linux应用基础项目化教程10在安装rpm软件包时,常用的选项如下:-i:表示安装指定的软件包。-v:表示在安装过程中显示详细的安装信息。-h:表示在安装过程中输出Hash记号(“#”)显示安装进度情况。在安装rpm软件包的过程中,要先检查软件包的依赖关系,如果所关联的软件包不存在,则安装无法完成;然后要检查软件包的数字签名信息,如果校验失败,则安装也无法完成。2024年1月2日Linux应用基础项目化教程11(1)普通安装。(2)测试安装。当用户不确定是否需要安装软件包时,可以使用测试安装的方式安装,可在发现提示显示错误信息后,再进行实际安装。(3)强制安装。该方式可忽略软件包提示的错误信息强制安装软件包。除非对软件包的依赖性很清楚,确实有必要忽视错误信息提示进行强制安装,否则一般情况下不建议使用这种安装方式。2024年1月2日Linux应用基础项目化教程122.安装过程中可能出现的问题在安装过程中,可能会出现以下问题,需特别注意。(1)重复安装。在安装rpm软件包时,若软件包中的某些文件已安装,系统会提示软件已安装。可以通过“--replacepkgs”选项让系统替换原有的软件包文件,忽略该错误信息强制安装。(2)软件冲突。在安装rpm软件包的过程中,有时会因为软件之间的不兼容而产生冲突,导致无法安装。可以通过“--replacefiles”或“--force”选项来强制安装,忽略错误信息,但强制安装后的软件包不一定能正常运行。(3)软件关联。在安装一个软件包时,其可能依赖其他软件包,只有所依赖的软件包安装完成后,该软件包才能正常安装,如果不能解决依赖关系,会显示下图所示的信息。2024年1月2日Linux应用基础项目化教程13用户必须安装完所依赖的全部软件包才能解决该问题。可以通过“--nodeps”选项来强制安装,但强制安装后的软件包不一定能正常运行。2024年1月2日Linux应用基础项目化教程146.2.2升级当软件包有更新时,RHEL和CentOS系统都会生成一个完整的新版本的rpm软件包,为用户提供一个完整的升级功能。当用户安装该软件包时,直接获取该软件包的最新版本,并不需要先安装旧版本,再打补丁。为了更新软件,rpm软件包管理器会将旧版本软件包删除,再安装新版本软件包,更新软件包时如果遇到已有配置文件,为保证新版本的执行,rpm软件包管理器会将该软件包对应的配置文件重命名,再安装新的配置文件,新旧文件的保存使用户有更多的选择。将系统中已安装的某个软件包进行升级时,rpm命令常用“-Uvh”选项2024年1月2日Linux应用基础项目化教程156.2.3查询1.查询已安装软件包的信息rpm软件包管理器提供了相应的命令用于获取软件包文件和已安装软件包的相关信息。默认情况下,它从已安装软件包的本地数据库中获取信息。-qa:列出所有已安装的软件包,如右图所示。使用rpm命令查询已安装软件包的信息时,常用的选项如下。2024年1月2日Linux应用基础项目化教程16-qf:查询某目录下的文件属于哪个软件包,以“/usr/bin/”目录下的“zip”文件为例,如下图所示。2024年1月2日Linux应用基础项目化教程172.查询特定软件包的信息使用rpm命令查询特定软件包的信息时,常用的选项如下。-q:列出特定软件包的版本,以“mysql”为例,如右图所示。-qi:获取特定软件包的详细信息,以“mysql”为例,如右图所示。2024年1月2日Linux应用基础项目化教程18-ql:列出特定软件包安装的文件,以“zip-3.0-23.e18.x86_64”为例,如右图所示。2024年1月2日Linux应用基础项目化教程196.2.4删除如果某个软件包在安装后不再需要使用,那么rpm软件包管理器提供了对应的命令进行软件包的删除。但是,若要删除的软件包被其他软件包所依赖,则其不能被删除,需要将依赖该软件包的软件包删除后,才可删除该软件包。使用rpm命令删除特定软件包时,常用“-e”选项,以删除“mysql”软件包为例,如下图所示。2024年1月2日Linux应用基础项目化教程20在删除软件包时,不需要输入软件包的完整名称,只要输入能识别该软件包的唯一标识即可。若执行删除命令后无结果显示,在说明对应的软件包已被成功删除。可以使用查询命令进行验证,如下图所示。若软件包存在依赖关系,如果想忽略错误继续删除,可以使用“--nodeps”选项进行强制删除。但是,一般不提倡使用强制删除方式,因为这样会导致删除后依赖该软件包的程序无法正常执行。2024年1月2日Linux应用基础项目化教程216.2.5验证验证软件包是指检查软件包中的组件是否与原始文件信息相同,以保证其准确性。验证的方法主要包括验证文件的大小、MD5校验码、文件权限、类型和用户组等,将由软件包安装的文件和软件包中原始文件的信息进行比较。如果验证通过,系统将没有任何显示信息,但如果验证不通过,系统将显示相关信息。使用rpm命令验证软件包的常用选项如下。-V:验证已安装的软件包,如下图所示。2024年1月2日Linux应用基础项目化教程22-Vp:验证已下载的软件包,如下图所示。-Va:验证所有已安装的软件包,如下图所示。2024年1月2日Linux应用基础项目化教程23如果验证不通过,系统将显示相关信息,常见的校验错误码及说明如下表所示。校验错误码说
明5MD5校验码不同S文件大小不同L文件链接路径不同T文件的修改时间不同D设备的标识号不同U文件的所有者不同G文件的所属组不同M文件权限和文件类型不同P文件权限功能不同2024年1月2日Linux应用基础项目化教程24任务6.3yum与dnf软件包管理器yum可以说是一个管理rpm软件包的前端工具,其基于rpm软件包进行管理,能够从指定服务器自动下载rpm软件包并进行安装,可以自动处理依赖关系,并一次安装所有需要的软件包。在RHEL本地操作系统中设置相应的软件仓库地址,即可使用yum软件包管理器。yum软件包管理器提供了查询、安装、删除某一个、某一组甚至全部软件包的命令,简单易懂。2024年1月2日Linux应用基础项目化教程25(1)便于管理大量的系统更新问题。其能自动解决软件包的依赖问题,能更方便地添加、删除、更新rpm软件包。(2)可以同时配置多个软件仓库,且可以在多个软件仓库中定位软件包。(3)配置文件非常简洁,只需“/etc/yum.conf”和“/etc/yum.repos.d/*.repo”两个文件。(4)保持与rpm数据库的一致性。(5)有一个比较详细的log,可以查看何时升级、安装了什么软件包等。yum软件包管理器的特点如下:2024年1月2日Linux应用基础项目化教程26使用yum命令安装rmp软件包时,将查询数据库中是否有该软件包,若有,则检查其依赖、冲突关系并给出提示,询问是否同时安装依赖软件包或删除冲突软件包。6.3.1安装yum命令的语法格式如下:yum[选项][命令][软件包名]2024年1月2日Linux应用基础项目化教程27使用yum命令安装rmp软件包的选项为“install”,“yuminstall”命令表示获取并安装软件包,包括其所有依赖项,如下图所示。2024年1月2日Linux应用基础项目化教程28使用yum命令安装rmp软件包组的命令是“yumgroupinstall”,该命令能够安装一个组,同时安装其必选和默认的软件包,以及它们依赖的软件包,如右图所示。2024年1月2日Linux应用基础项目化教程29使用yum命令升级rmp软件包的选项为“update”,“yumupdate”命令用于获取并安装指定软件包的新版本,包括所有依赖项。通常该命令适当保留配置文件,如果认为旧文件在更新后无法正常使用,则可能对其进行重命名。如果没有指定软件包名称,它将安装所有相关的更新软件包,如图下图所示。6.3.2升级2024年1月2日Linux应用基础项目化教程30可以使用“yumlist”命令显示已安装的软件包,如下图所示。6.3.3查询2024年1月2日Linux应用基础项目化教程31可以使用“yumsearchall”命令根据提供的摘要字段找到关键字并列出软件包。可以使用“yuminfo”命令查询软件包的详细信息。可以使用“yumprovides”命令显示指定路径的软件包。使用“yumgrouplist”命令可以显示已安装软件包组和可用软件包组的名称。使用“yumgroupinfo”命令显示软件包组的详细信息,列出必选、默认和可选的软件包名称。使用“yumhistory”可以显示安装和删除事务的摘要。其他查询相关命令如下:2024年1月2日Linux应用基础项目化教程32使用yum命令删除软件包时,只能删除rpm格式的软件包。和安装时一样,yum软件包管理器也会先对rpm数据库进行查询,给出解决依赖关系的提示。使用yum命令删除rmp软件包的选项为“remove”,如右图所示。若要删除指定软件包组中的软件包,则使用“yumgroupremove”命令。6.3.4删除2024年1月2日Linux应用基础项目化教程336.3.5dnf软件包管理器从CentOS8开始,系统默认的软件包管理器是dnf,系统提供的yum命令仅为dnf命令的软链接。dnf是dandifiedyum的简称,是基于rpm软件包的Linux发行版本的软件包管理器。(1)yum禁止删除正在使用的内核,而dnf允许删除所有内核,包括正在使用的内核;(2)在更新软件包时,yum不进行依赖包相关性的检查,而dnf如果检查到存在不相关的依赖包,则不会进行软件包更新。(3)yum在解决依赖包问题时,存在性能较差、内存占用大等问题,而dnf采用了由SUSE开发的“libsolv”库,用以提升依赖包解析性能,其依赖包解析速度比yum更快,且比yum消耗更少内存。(4)dnf代码比yum简单,约有29000行代码,而yum代码有59000多行。dnf与yum的区别在于:2024年1月2日Linux应用基础项目化教程34dnf使维护软件包组变得容易,能够自动解决依赖性问题,能够解决yum软件包的一些瓶颈,优化内存使用,执行速度等,它不仅解决了yum待解决的问题,还添加了许多新功能,以实现rpm软件包管理。使用dnf命令安装软件包时,虽然取消了yum的配置方法,改变了软件包的安装方式,但是还能兼容yum的配置文件和命令。dnf软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年离职员工保密合同
- 2024年火锅店创业联盟协议书
- 冶金行业销售员工作报告
- 教育机构代理合同三篇
- 2024年综合性能源管理服务协议范本版B版
- 二零二五年度2025版个人承包体育赛事运营合同范本3篇
- 2025年度智能化办公空间租赁合同12篇
- 2024年餐饮业商用空间租赁合同范本版B版
- 酒店前台工作总结
- 制造业保安工作总结
- 【基于FCFF模型的拼多多企业价值评估案例11000字(论文)】
- (正式版)JBT 11270-2024 立体仓库组合式钢结构货架技术规范
- 农产品免税申请书
- 2024中国制造业发展趋势报告
- GIS组合电器概述
- 水厂分布式光伏项目(设备采购)实施组织方案及售后服务方案
- 污水处理厂技术副厂长竞聘报告
- 2021年机务检修试题库
- 一年级学生英语学科评语
- 来料检验员工作总结
- 工商企业管理专业教学资源库申报书-专业教学资源库备选项目材料
评论
0/150
提交评论