版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux操作系统与云计算
(基于华为openEuler)第6章软件包管理程和侠程和生编著学习内容回顾-4.1案例引入-4.2目录查看操作-4.3文件系统层次结构标准-4.4空目录创建与删除-4.5文件操作-4.6复制、删除、移动、重命名-4.7硬链接和符号链接-4.8归档(压缩与解压缩)-4.9小结学习内容回顾-5.1案例引入-5.2用户与用户组的概念-5.3用户管理-5.4用户组管理-5.5文件权限管理-5.6提升权限-5.7用户聊天工具*-5.8小结6.1案例引入案例6.1:全心全意为人民服务。思政教学目标:软件包管理与源代码管理都是社区对用户提供的免费服务,这是一项长期艰辛的工作。目前国内这一块非常空缺,没有自己的软件包管理机制。可以说,国内操作系统的落后,不是技术的缺失,而是服务的缺失。目前华为等极少数公司已经开始提供软件源等服务。案例6.2:知重负重,攻坚克难。思政教学目标:为了能让用户轻松地安装并使用各种软件,软件包管理器需要梳理全世界各种优秀的软件包,解决它们之间的先后依赖关系。软件包之间的关系错综复杂,相互依赖。一般来说,一个Linux发行版维护的软件包超过50000个。源代码管理更是创造性的将全世界最优秀的源代码之间的依赖关系进行梳理。这种提供基于软件或源码服务本身确实是一项非常艰难沉重的工作。6.2软件包简介目前主流的软件包管理工具包括:rpm/yum软件包:主要在OpenEuler/RedHat系列发行版中使用。dpkg/apt软件包:主要在Debian/Ubuntu系列发行版中使用。pkg软件包:主要在FreeBSD中使用。zypper:主要在openSUSE发行版中使用。pacman:主要在ArchLinux发行版中使用。emerge:主要在GentooLinux发行版中使用。本章主要内容-6.1案例引入-6.2软件包简介-6.3前端软件包管理-6.4软件包管理工具-6.5源代码安装管理-6.6软件包安装实例-6.7小结6.3前端软件包管理软件包管理工具能够解决本地安装问题,集中管理,统一进行卸载、更新,但是不能解决安装依赖关系。软件包前端管理工具是在软件包管理工具的基础上,实现下载、验证、自动解决安装依赖关系,实现一个指令安装完成一个软件,是目前最主要的软件包管理方式。6.3前端软件包管理6.3.1yum/dnf6.3.2apt/apt-get6.3.3pkg6.3.1yum/dnfyum(YellowdogUpdater,Modified)是一个在OpenEuler、Fedora、RedHat、CentOS等发行版中的前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需繁琐地一次次下载、安装。dnf(DandifiedYUM)是yum的增强版,新的发行版基本都使用dnf代替了yum,为了保持兼容性,建立了yum到dnf的一个软链接。1.仓库Base/OS(基础/操作系统):这个仓库包含了操作系统的核心软件包,例如内核、系统库以及最基本的系统工具。它提供了一个最小的安装环境。Updates(更新):该仓库包含操作系统核心软件包的更新版本,通常包括修复漏洞、改进性能和新增功能的软件包。更新仓库用于保持操作系统的安全性和稳定性。Extras(额外):Extras仓库包含一些额外的软件包,这些软件包不属于操作系统的核心部分,但可能会对系统功能或用户有用。这里包括一些常见的实用工具和应用程序。Debuginfo(调试信息):Debuginfo仓库包含了用于调试操作系统和软件包的符号和调试信息。它通常用于开发人员在进行调试时分析软件包的问题。Source(源代码):Source仓库包含软件包的源代码,允许开发人员查看和修改源代码。Everything(所有):这个仓库包含了所有可用的软件包,包括操作系统核心、额外的软件包以及其他仓库中的所有软件包。EPEL(ExtraPackagesforEnterpriseLinux):EPEL是为RHEL(RedHatEnterpriseLinux)和CentOS等企业级Linux发行版提供的一个额外软件包仓库。它包含了一些不包括在官方仓库中的软件包,用于扩展系统的功能,是一个非常值得推荐启用的一个仓库。为了减轻软件源服务器的压力,软件源中的仓库的目录和索引必须下载到本地才能被检索到。2.本地检索搜索软件包信息都是在本地缓存中进行的。[例6.1]查询“openjdk”软件包。还可以搜索软件包描述,从更多的描述内容中搜索,扩大搜索范围,支持“*”通配符。[例6.2]搜索“openjdk”。provides反向查询文件由哪个包提供,或者软件包由哪个仓库提供。[例6.3]反向查询“java-17-openjdk-devel”是由哪个软件源提供的。软件名必须是完整的软件名。显示软件包详细信息,包括版本号、安装大小、依赖关系、bug报告等信息。[例6.4]查询“java-17-openjdk-devel”的详细信息。3.安装/卸载在线安装或更新软件包。yum还可以安装或更新本地rpm格式软件包,并能解决依赖关系。注意:本地安装,必须指定软件包路径,当前工作目录使用“./”表示,不可以省略。[例6.5]安装开源免费的“httpd”服务。卸载软件包使用remove。[例6.6]卸载“httpd”软件包。4.更新系统通过“安装/升级”软件来更新系统,这种更新系统的方式可能会导致部分软件的依赖关系出错。通过“卸载/安装/升级”来实现完全更新系统,即先卸载可升级软件包,然后安装最新软件包的方式升级系统。这种方式能够减少软件包之间的依赖关系错误。6.3前端软件包管理6.3.1yum/dnf6.3.2apt/apt-get6.3.3pkg6.3.2apt/apt-getapt/apt-get命令适用于deb包前端管理器,主要用于Debian/Ubuntu系列发行版自动从互联网的软件仓库中搜索、安装、升级、卸载软件或系统。aptitude是涵盖apt-get,apt-cache等字符界面的前端程序,即图形化管理程序“新立得软件包管理器”的字符界面。apt是对apt-get和aptitude的简化,apt与apt-get基本通用,apt是作为新标准推荐使用的。目前,apt-get在自动化脚本中更具优势;apt用于手动敲击命令,apt默认启用了某些适合交互式使用的选项,具有更好的人类可阅读性。说明OpenEuler/CentOS系Debian/Ubuntu系安装在线软件包yuminstall<软件名>aptinstall<软件名>安装本地软件包yuminstall<./本地软件包路径>aptinstall<./本地软件包路径>卸载软件包yumremove<软件名>aptremove<软件名>
aptpurge<软件名>;不推荐卸载不再需要的自动安装的软件包yumautoremoveaptautoremove清除本地仓库中过时软件包的软件包检索文件yumautocleanaptautoclean完全清除本地仓库的软件包检索文件yumcleanaptclean搜索软件包描述yumsearch<正则表达式>
aptsearch<正则表达式>
根据软件包名称列出软件包yumlist|grep<软件名关键词>aptlist|grep<软件名关键词>反向查询文件由哪个包提供,或者软件包由哪个仓库提供yumprovides<文件名/软件名关键词>借助dpkg-S,或aptsearch实现显示软件包详细信息,包括:版本号、安装大小、依赖关系、bug报告等信息yuminfo<软件名>aptshow<软件名>在线检查软件包检索文件更新并生成本地缓存yumcheck-updateaptupdate列出可更新的软件包yumlistupdatesaptlist--upgradeable通过“安装/升级”软件来更新系统yumupdate
aptupgrade通过“卸载/安装/升级”来更新系统yumupgrade
aptfull-upgrade查看帮助信息yumhelpapthelp查看版本信息yumversionaptversion6.3前端软件包管理6.3.1yum/dnf6.3.2apt/apt-get6.3.3pkg6.3.3pkgFreeBSD中使用pkg作为的软件包管理工具。说明OpenEuler/CentOS系FreeBSDPackages安装在线软件包yuminstall<软件名>pkginstall<软件名>安装本地软件包yuminstall<./本地软件包路径>pkginstall<./本地软件包路径>卸载软件包yumremove<软件名>pkgremove<软件名>卸载不再需要的自动安装的软件包yumautoremovepkgautoremove清除本地仓库中过时软件包的软件包检索文件yumautocleanpkgclean-a-n完全清除本地仓库的软件包检索文件yumcleanpkgclean搜索软件包描述yumsearch<正则表达式>
pkgsearch<正则表达式>
根据软件包名称列出软件包yumlist|grep<软件名关键词>pkginfo|grep<软件名关键词>反向查询文件由哪个包提供,或者软件包由哪个仓库提供yumprovides<文件名/软件名关键词>pkgwhich<文件名/软件名关键词>显示软件包详细信息,包括:版本号、安装大小、依赖关系、bug报告等信息yuminfo<软件名>pkginfo<软件名>在线检查软件包检索文件更新并生成本地缓存yumcheck-updatepkgupdate列出可更新的软件包yumlistupdates通过“安装/升级”软件来更新系统yumupdate
pkgupgrade通过“卸载/安装/升级”来更新系统yumupgrade
查看帮助信息yumhelppkghelp
pkghelp<子命令>查看版本信息yumversionpkgversion本章主要内容-6.1案例引入-6.2软件包简介-6.3前端软件包管理-6.4软件包管理工具-6.5源代码安装管理-6.6软件包安装实例-6.7小结6.4软件包管理工具6.4.1rpm6.4.2dpkg6.4.1rpmrpm是RedHat软件包管理工具(RedHatPackageManager)的缩写。rpm原本是RedHatLinux发行版专门用来管理Linux各项软件包的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。现在包括OpenEuler、CentOS等Linux发行版都有采用。rpm软件包需要先下载到本地,然后才能安装使用。1.安装安装使用“-i”选项;安装时显示安装过程使用“-ivh”选项。[例6.8]安装“httpd”本地软件包。
安装其中的一个依赖包。2.升级直接升级使用“-U”选项;升级时显示升级过程使用“-Uvh”选项。[例6.9]升级安装“httpd”软件包。3.查询“rpm-qa”列出当前全部已安装的软件包,包括yum/dnf前端安装的软件包。如果需要查询特定安装包,可以使用“grep”命令进行过滤。[例6.10]查询已经安装的“httpd”软件包。“rpm-qi”显示软件包详细信息,包括:版本号、安装大小、依赖关系、bug报告等信息。[例6.11]查询“httpd”软件包的详细信息。“rpm-qR”查询软件包的依赖关系。[例6.12]查询“httpd”软件包的依赖关系。“rpm-ql”查询软件包安装后包含的文件列表。[例6.13]查询“httpd”软件包安装后包含的文件列表。“rpm-qf”反向查询文件由哪个软件包提供。[例6.14]反向查询文件/etc/httpd/conf.d/autoindex.conf由哪个软件包提供。“rpm-qp[ilRf]”查询未安装的rpm安装包的信息。[例6.15]查询未安装的rpm安装包的信息。4.验证验证即查询软件所含的程序文件是否被修改。[例6.16]
5.卸载“rpm-e”卸载软件,卸载前也需要先使用“rpm-qa|grep”查询一下具体软件包名称。[例6.17]卸载“httpd”软件包。6.4软件包管理工具6.4.1rpm6.4.2dpkg6.4.2dpkgdpkg是类似rpm的Debian/Ubuntu系的软件包管理器。说明OpenEuler/CentOS系Debian/Ubuntu系安装/升级本地软件包rpm-ivh<软件文件名>dpkg-i<软件文件名>本地安装软件依赖修正手动修正,或借助于yum本地安装apt-get-finstall
在线修正,或借助于apt本地安装卸载软件包rpm-e<软件名>
dpkg-r<软件名>;卸载但并不清除配置信息
dpkg-P
<软件名>;卸载并清除配置信息列出当前全部已安装的软件包rpm-qadpkg-l查询软件包完整软件名rpm-qa|grep
<软件名关键词>dpkg-l|grep
<软件名关键词>显示软件包详细信息,包括:版本号、安装大小、依赖关系、bug报告等信息rpm-qi<软件名>
rpm-qpi
<软件文件名>;未安装包文件查询dpkg-s<软件名>软件包安装后包含的文件列表rpm-ql<软件名>
rpm-qpl<软件文件名>
;未安装包文件查询dpkg-L<软件名>
反向查询文件由哪个包提供rpm-qf<文件名>
rpm-qpi
<软件文件名>;未安装包文件查询dpkg-S<文件名>安装包验证rpm-V本章主要内容-6.1案例引入-6.2软件包简介-6.3前端软件包管理-6.4软件包管理工具-6.5源代码安装管理-6.6软件包安装实例-6.7小结6.5源代码安装管理源代码编译安装过程一般包括以下几个主要步骤。(1)CMake配置(cmake)(2)配置(configure)(3)编译(make)(4)安装(makeinstall)源代码编译安装软件一般步骤命令如下:[例6.18]源代码方式安装“httpd”软件。一般情况下,编译httpd源代码的顺序是:首先编译apr,然后编译apr-util,最后编译httpd。(1)源代码方式安装apr库。(2)以源代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度农业技术推广新合同
- 治疗用红外线辐射装置产品供应链分析
- 2024年度互联网保险服务合同
- 注射针市场需求与消费特点分析
- 2024年度影视制作合同:影视制作公司与导演之间的合作协议
- 无线电测向仪市场发展现状调查及供需格局分析预测报告
- 2024年度新材料研发与生产线建设合同
- 2024年度汽车销售物流服务合同
- 2024年度智能家居系统开发与合同
- 2024年度影视制作与宣传合同
- 精神分裂症全程治疗
- 家用暖通合同范本
- 2024-2030年中国特钢行业产量预测及投资规模分析报告
- 康复科一科一品一特色科室活动方案
- 店长数据分析能力培训
- 第11课-西汉建立和“文景之治”【课件】3
- 丝绸之路上的民族学习通超星期末考试答案章节答案2024年
- 意识形态工作管理制度
- 化工和危险化学品企业评估分级指南(小微型型企业版)
- 河道水体生态修复治理施工方案
- 劳务派遣人员工作培训及管理方案
评论
0/150
提交评论