Linux网络操作系统项目化教程(openEuler)课件 项目5 软件包管理_第1页
Linux网络操作系统项目化教程(openEuler)课件 项目5 软件包管理_第2页
Linux网络操作系统项目化教程(openEuler)课件 项目5 软件包管理_第3页
Linux网络操作系统项目化教程(openEuler)课件 项目5 软件包管理_第4页
Linux网络操作系统项目化教程(openEuler)课件 项目5 软件包管理_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目5软件包管理《Linux网络操作系统项目化教程(openEuler)》学习目标/Target了解RPM软件包管理工具,能够说出RPM管理工具如何管理RPM软件包了解YUM/DNF管理工具,能够说出YUM/DNF管理工具的管理机制熟悉源代码包管理,能够说出源代码编译过程知识目标学习目标/Target能够熟练使用rpm命令完成软件的安装、查询、升级和卸载能够熟练使用dnf命令实现软件的安装、查询、检查更新与卸载能够使用make工具完成软件的安装技能目标学习目标/Target素养目标通过处理软件包之间复杂的依赖关系,培养逻辑推理能力和系统性思考方式通过学习不同软件包管理工具的特点和适用场景,培养批判性思维与合理决策能力目录/Contents5.15.2rpm概述rpm命令管理软件包5.3YUM与DNF概述5.4dnf命令管理软件包5.5源代码包管理项目导入01项目导入小智所在的技术支持部门一直致力于为客户提供优质的Linux系统技术支持和运维服务,随着业务的不断发展,团队所负责的项目对数据库的需求日益增加。目前,部门所维护的一些系统需要一个高效、可靠的数据库管理系统来存储和管理数据。经过综合评估,MySQL8.0以其出色的性能、丰富的功能和广泛的社区支持,成为满足当前项目需求的理想选择。上级领导让小智在openEuler系统中完成MySQL8.0的安装与基础配置。知识准备02了解RPM软件包管理工具,能够说出RPM软件包的使用。学习目标5.1rpm概述RPM(RedHatPackageManager,RedHat软件包管理器)是由RedHat公司开发的一款软件包管理工具,因遵循GPL协议且功能强大而广受欢迎,很多Linux操作系统发行版本(如openEuler、CentOS、Fedora、SUSE等)都使用RPM工具来管理软件包。5.1rpm概述RPM软件包分为两种:二进制包与源代码包。二进制包中封装的是编译后生成的可执行文件,类似于Windows操作系统下的.exe文件,此种软件包可使用rpm命令直接安装;源代码包中封装的是源代码,在安装前需下载源代码,再对源代码进行编译生成扩展名为.rpm的软件包后,才能安装软件本身。5.1rpm概述二进制包和源代码包各有优缺点,具体如下所示。1二进制包的安装更加简单、方便,安装速度也更快,但它缺乏灵活性,用户无法根据自己的需求设置编译选项,并且二进制软件包存在更新滞后的问题。2源代码包高度可定制,用户可以根据自己的需求设置编译选项;当有版本更新时,也可以及时下载最新版本或补丁重新编译。5.1rpm概述name-version-arch.rpmname-version-arch.src.rpmRPM软件包常用的命名格式如下所示。常用格式5.1rpm概述表示软件包名表示软件版本号表示软件包的适用平台acl-2.2.39-1.1.i386.rpmjdk-8u144-linux-x64.src.rpmRPM软件包名称具体示例如下。具体示例5.1rpm概述devel:表示当前软件包是一个开发包。noarch:表示当前软件包适用于任何平台。manual:表示当前软件是手册文档。发行信息:如openEuler或oe,表示该软件包针对openEuler发行,如glibc-2.31-17.openEuler.x86_64.rpm;el*表示针对RHEL/CentOS系列版本发行,如mysql-community-release-el7-5.noarch.rpm。除上述内容外,用户也可能在RPM软件包名中看到如下信息。5.1rpm概述rpm命令用于实现软件包的管理,包括安装、查询、升级、卸载等操作。本节将针对rpm命令常见操作进行详细讲解。5.2rpm命令管理软件包掌握rpm命令的使用,能够熟练使用rpm命令完成软件的安装。学习目标5.2.1使用rpm命令安装软件包rpm选项软件包名称rpm命令安装软件包的基本格式如下所示。基本格式5.2.1使用rpm命令安装软件包rpm命令常用的安装选项如表。5.2.1使用rpm命令安装软件包选项含义-i安装指定的一个或多个软件包-v显示安装过程-h以#号显示安装进度案例5-1:在openEuler中安装JDK软件包。5.2.1使用rpm命令安装软件包在Oracle官网下载JDK安装包jdk-8u261-linux-x64.rpm,打开终端切换到root用户,执行安装命令,安装命令及安装过程如下所示。点击查看在下载JDK安装包时,可以从openEuler的浏览器中下载,也可以从Windows操作系统桌面上传到openEuler。为了在Windows操作系统和Linux操作系统之间传递文件,Linux操作系统提供了rz和sz命令。

rz命令用于将文件上传到Linux服务器,在执行rz命令时,会弹出一个文件选择窗口用于选择要上传的文件。

sz命令用于将Linux服务器上的文件下载到本地。5.2.1使用rpm命令安装软件包rz命令与sz命令openEuelr默认安装了rz命令与sz命令,用户可以直接使用这两个命令实现文件的上传和下载。需要注意的是,rz命令与sz命令只能在FinalShell等远程工具中使用,在虚拟机终端中无法使用。掌握rpm命令的使用,能够熟练使用rpm命令完成软件包的查询。学习目标5.2.2使用rpm命令查询软件包rpm选项软件包名称rpm命令查询软件包的基本格式如下所示。基本格式5.2.2使用rpm命令查询软件包rpm命令常用的查询选项如表。5.2.2使用rpm命令查询软件包选项含义-q查询软件包信息,通常和其他选项组合使用-i安装软件包-a查询已安装的包-c显示软件包的配置文件列表(后面是已经安装的软件包名称)5.2.2使用rpm命令查询软件包选项含义-d显示软件包的文本文件列表(后面是已经安装的软件包名称)-p查询软件包文件-g查询所属组的软件包-f查询文件属于哪个软件包-l列出已安装的软件包内的所有文件(后面是已经安装的软件包名称)-s列出软件包内所有文件的状态(后面是已经安装的软件包名称)案例5-2:查询jdk-8u261-linux-x64.rpm软件安装包中的文件。5.2.2使用rpm命令查询软件包[root@localhostchapter05]#rpm-qpjdk-8u261-linux-x64.rpmjdk1.8-1.8.0_261-fcs.x86_64案例5-2通过-qp选项组合查询jdk-8u261-linux-x64.rpm软件包中的文件。由上述命令运行结果可知,jdk-8u261-linux-x64.rpm软件包中的文件为jdk1.8-1.8.0_261-fcs.x86_64。案例5-3:查询JDK是否已经安装。5.2.2使用rpm命令查询软件包[root@localhostchapter05]#rpm-qa|grepjdkjdk1.8-1.8.0_261-fcs.x86_64案例5-3通过-qa选项组合查询JDK是否已经安装,命令后面的grep命令用于在查询结果中筛选包含jdk关键字的信息。由查询结果可知,系统已经安装了jdk1.8。案例5-4:查看已经安装的jdk1.8的相关信息。5.2.2使用rpm命令查询软件包点击查看掌握rpm命令的使用,能够熟练使用rpm命令完成软件包的升级。学习目标5.2.3使用rpm命令升级软件包rpm选项软件包名称rpm命令升级软件包的基本格式如下所示。基本格式5.2.3使用rpm命令升级软件包rpm命令常用的升级选项如表。5.2.3使用rpm命令升级软件包选项含义-U升级指定软件包-v显示升级过程-h以#号显示升级进度案例5-5:下载更高版本的jdk-23_linux-x64_bin.rpm软件包,更新JDK。[root@localhostchapter05]#rpm-Uvhjdk-23_linux-x64_bin.rpmVerifying...#################################[100%]准备中...#################################[100%]正在升级/安装...1:jdk-23-2000:23.0.1-11#################################[100%][root@localhostchapter05]#rpm-qa|grepjdkjdk-23-23.0.1-11.x86_64jdk1.8-1.8.0_261-fcs.x86_645.2.3使用rpm命令升级软件包从Oracle官网下载jdk-23_linux-x64_bin.rpm,使用rpm命令安装jdk-23_linux-x64_bin.rpm软件包,命令如下所示。掌握rpm命令的使用,能够熟练使用rpm命令完成软件的卸载。学习目标5.2.4使用rpm命令卸载软件rpm命令使用-e选项卸载软件。在卸载软件时,rpm命令可以一次卸载多个软件。若卸载成功,rpm命令没有输出结果;如果卸载失败,rpm命令会给出提示信息。5.2.4使用rpm命令卸载软件案例5-6:删除安装的jdk1.8。[root@localhostchapter05]#rpm-ejdk1.8[root@localhostchapter05]#rpm-qa|grepjdkjdk-23-23.0.1-11.x86_645.2.4使用rpm命令卸载软件在案例5-6中,使用rpm–e命令卸载了安装的jdk1.8,再次使用rpm命令查询系统中是否安装了JDK,只输出了jdk-23版本的信息,表明jdk1.8已经被卸载。了解YUM/DNF管理工具,能够说出YUM/DNF管理工具的管理机制。学习目标5.3YUM与DNF概述发行方:RedHat公司定位:高级软件包管理工具核心优势:自动解决软件包之间的依赖关系。5.3YUM与DNF概述YUM简介RPM:基础软件包管理工具,需手动处理依赖。YUM:在RPM基础上升级,自动解决依赖问题YUM

VSRPMdnf选项命令软件名称由于DNF是openEuler默认的包管理工具,所以本书以dnf命令为例进行讲解。如下所示。基本格式5.3YUM与DNF概述dnf命令常用选项如表。5.3YUM与DNF概述选项含义-h显示帮助信息-y全部问题自动回答为“y”-v详细模式掌握dnf命令的使用,能够熟练使用dnf命令实现软件包的安装。学习目标5.4.1安装软件包dnf的安装命令为install。使用install安装软件包时,系统会查询软件仓库,如果软件仓库中有相应的软件包,则检查软件包的依赖关系。如果没有依赖关系冲突,则下载并安装软件包;如果有依赖关系冲突,则询问用户是否安装依赖,或删除有冲突的软件包。5.4.1安装软件包案例5-7:使用dnf命令安装telnet命令。点击查看5.4.1安装软件包掌握dnf命令的使用,能够熟练使用dnf命令实现软件的查询。学习目标5.4.2查询软件dnf常用的查询命令有两个,分别为list和info,这两个命令的具体介绍如下所示。5.4.2查询软件用于列出软件仓库中的软件包,如果dnflist后面指定软件包,则列出该软件包的信息;如果dnflist后面没有指定软件包,则列出软件仓库中的所有软件包。dnflistdnfinfo用于显示软件包的详细信息,如果dnfinfo命令后面没有指定软件包,则列出软件仓库中所有软件包的详细信息。案例5-8:使用dnflist命令查询telnet软件包。[root@localhostchapter05]#dnflisttelnetInstalledPackagestelnet.x86_641:0.17-80.oe2403@OSAvailablePackagestelnet.src1:0.17-80.oe2403source5.4.2查询软件案例5-9:使用dnfinfo命令查询telnet软件包。5.4.2查询软件点击查看掌握dnf命令的使用,能够熟练使用dnf命令实现检查更新软件包。学习目标5.4.3检查更新软件包dnf也可以更新软件,它常用的检查更新命令如表。5.4.3检查更新软件包命令作用dnfupdate软件包名称更新指定软件包。如果不指定软件包,则更新所有可更新的软件包。update命令已过时,逐渐被upgrade命令替代dnfupgrade软件包名称更新指定软件包。如果不指定软件包,则更新所有可更新的软件包dnfcheck-update软件包名称检查可以更新的软件包。如果没有指定软件包,则列出软件仓库中所有可更新的软件包dnfgroupupdate用户组更新软件包组里面的所有软件包案例5-10:更新安装的telnet命令。[root@localhostchapter05]#dnfupgradetelnetDependenciesresolved.Nothingtodo.Complete!5.4.3检查更新软件包为新添加的用户设置UID时,UID应取500~60000之间的数值。若添加用户时未指定UID、基本组、登录Shell等信息,系统会自动为新用户指定相关信息,并同步更新相关配置文件。掌握dnf命令的使用,能够熟练使用dnf命令实现卸载软件的操作。学习目标5.4.4卸载软件dnf卸载软件的命令为remove,remove可以从系统中卸载一个或多个软件。dnfremove命令在卸载软件时也会自动处理软件之间的依赖关系。5.4.4卸载软件案例5-11:卸载telnet命令。点击查看5.4.4卸载软件[root@localhostchapter05]#dnfcleanall43filesremoved5.4.4卸载软件除了remove命令,dnf还提供了clean命令用于清除过期无用的缓存数据。在使用dnfclean命令清除缓存时,必须指定软件包,如果要清除所有过期无用的缓存数据,则使用all选项,示例如下。YUM维护的软件仓库用于提供各种软件包,这些仓库通常称为YUM源。DNF同样维护了一些仓库,虽然DNF与YUM不同,但因为DNF兼容YUM,所以DNF维护的仓库在习惯上仍然称为YUM源。YUM源5.4.4卸载软件5.4.4卸载软件不同的Linux操作系统发行版本维护的DNF仓库并不相同,在openEuler中,读者可以通过dnfrepolist命令查看DNF可用的软件仓库。YUM源点击查看[root@localhostchapter05]#ls/etc/yum.repos.dopenEuler.repo5.4.4卸载软件软件仓库中保存软件下载地址的文件都存储在/etc/yum.repos.d目录下,使用ls命令可查看该目录下的软件源文件。YUM源5.4.4卸载软件由上述命令的输出结果可知,openEuler的YUM源文件为openEuler.repo,YUM源文件都以.repo为扩展名,因此它们也称为repo文件。查看openEuler.repo文件内容,具体如下所示。YUM源点击查看熟悉源代码包管理,能够说出源代码编译过程。学习目标5.5.1源代码编译过程使用rpm命令或dnf命令管理软件包非常方便,但某些基于RPM的发行版出于稳定性和长期支持的考虑,可能会提供较为保守的软件包版本,用户无法获取更新和功能更丰富的软件包,因此很多用户都会下载软件源代码包进行手动编译安装。5.5.1源代码编译过程程序源代码无法直接运行,只有通过一系列编译链接过程生成可执行的二进制文件才可以运行。程序源代码的编译过程如图。5.5.1源代码编译过程#include<stdio.h> #include<stdlib.h> intmain() { printf("helloworld\n");

return0;}虽然各种编程语言的编译过程略有不同,但大体都遵循“程序源代码的编译过程”所示的过程。下面以C语言编写的程序为例演示源代码的编译过程。使用Vim编辑hello.c文件,在hello.c文件中编写以下代码。包含stdio.h头文件包含stdlib.h头文件定义main()函数输出helloworld语句5.5.1源代码编译过程gcc选项源文件–o目标文件gcc命令基本格式如下所示。5.5.1源代码编译过程gcc命令基本格式如下所示。选项含义-o生成目标文件-E预处理文件,即对文件进行预处理,展开头文件、宏定义等-S编译预处理文件,生成汇编代码-c编译文件(汇编文件或源文件),生成最终可执行的二进制文件-Wall显示警告信息5.5.1源代码编译过程gcc对C语言程序的编译过程大体可以分为以下4个步骤。1234预处理:由-E选项完成,生成的目标文件为预处理文件,预处理文件以.i为扩展名。编译:由-S选项完成,生成的目标文件为汇编文件,汇编文件以.s为扩展名。汇编:由-c选项完成,生成目标文件,目标文件以.o为扩展名。链接:不需要选项,直接由gcc命令执行,生成的目标文件为可执行的二进制文件。5.5.1源代码编译过程案例5-12:使用gcc命令编译运行hello.c文件。点击查看5.5.1源代码编译过程[root@localhostchapter05]#gcchello.c-ohello [root@localhostchapter05]#ls hellohello.cjdk-21_linux-x64_bin.rpmjdk-23_linux-x64_bin.rpmjdk-8u261-linux-x64.rpm[root@localhostchapter05]#./hello helloworld对于只有一个文件的简单程序,gcc其实可以一次性完成编译,例如,将hello.c直接编译生成最终的可执行文件,可以通过如下命令实现。一次编译完成查看最终生成的hello文件执行hello文件5.5.1源代码编译过程掌握make工具,能够使用make工具完成软件的安装。学习目标5.5.2make工具对于简单的程序,可以直接使用gcc命令编译,但当一个程序中源文件特别多时,如果再使用gcc命令逐个编译文件,工作量会特别大,而且源文件之间存在相互依赖关系,很容易出现编译错误。为此,Linux操作系统提供了编译工具make来完成复杂程序的编译。make编译工具包含的命令、文件等比较多,下面分别进行介绍。5.5.2make工具当一个程序源文件比较多时,可以将编译命令写在一个文件中,只要执行该文件就可以完成程序的编译。在Linux操作系统中,包含编译命令的文件就是Makefile文件,执行Makefile文件就可以完成程序的编译。1.Makefile文件5.5.2make工具make工具提供了make命令用于编译源程序,但make命令本身并没有编译功能,它只能通过批处理的形式执行一个包含编译命令的文件以实现程序的编译。当我们执行make命令时,其实就是执行Makefile文件中的编译命令。2.make命令5.5.2make工具make命令执行完成后会生成二进制文件,makeinstall命令的作用是执行生成的二进制文件进行安装。makeinstall命令其实也是读取Makefile文件中的指令安装软件。由上面的讲解可知,通过源代码安装软件时,可以先执行configure脚本文件生成Makefile文件,再执行make命令进行编译,最后通过makeinstall命令完成安装,其过程如图。3.makeinstall命令5.5.2make工具项目实施03很多Linux操作系统的YUM源并不包含MySQL软件,有些发行版虽然包含MySQL软件,但版本也相对较低。但是,openEuler的YUM源比较丰富,且包含的软件版本相对也较高。openEuler的YUM源包含MySQL软件,且是长期稳定支持的MySQL8.0,可以直接使用dnf命令安装MySQL,安装步骤如下所示。任务5安装MySQL8.0MySQL分为服务器程序与客户端程序,服务器程序对应的安装包为mysql-server,客户端程序对应的安装包为mysql。在Linux操作系统中安装MySQL,通常是指安装MySQL数据库服务器,即安装mysql-server应用程序。1.安装mysql-server应用程序任务5安装MySQL8.0安装mysql-server应用程序的具体命令如下所示。任务5安装MySQL8.0点击查看1.安装mysql-server应用程序MySQL对应的服务进程名称为mysqld,调用systemctlstart命令可以启动进程,具体如下所示。任务5安装MySQL8.02.启动mysqld服务进程[root@localhostchapter05]#systemctlstartmysqldMySQL8.0安装完成并启动之后,并没有设置初始密码,可以直接无密码登录,在登录之后,系统会提示设置密码。任务5安装MySQL8.03.进行安全配置为了保证数据库系统安全,可以在登录之前对MySQL数据库进行一些安全配置。MySQL提供了一个脚本mysql_secure_installation,执行该脚本,可以引导用户进行一系列配置,如设置密码、是否移除匿名用户、是否禁止远程登录等,以提高MySQL数据库的安全性。执行mysql_secure_installation,为MySQL进行安全配置。任务5安装MySQL8.0点击查看3.进行安全配置MySQL安全配置完成后,就可以登录了,登录MySQL的命令基本格式如下所示。任务5安装MySQL8.04.登录MySQLmysql-u用户名-p数据库名称指定登录的用户名指定以密码形式登录要登录的数据库名称,该选项可选下面以root用户登录My

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论