Linux操作系统基础与应用(CentOS Stream 9) 课件 项目6 管理软件包与进程_第1页
Linux操作系统基础与应用(CentOS Stream 9) 课件 项目6 管理软件包与进程_第2页
Linux操作系统基础与应用(CentOS Stream 9) 课件 项目6 管理软件包与进程_第3页
Linux操作系统基础与应用(CentOS Stream 9) 课件 项目6 管理软件包与进程_第4页
Linux操作系统基础与应用(CentOS Stream 9) 课件 项目6 管理软件包与进程_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

项目6管理软件包与进程SUBTITLEHEREMindShow.fun2023-06-05CONTENTS学习目标项目情境思维导图任务6-1使用rpm软件包管理工具任务6-2使用yum管理软件包任务6-3使用dnf管理软件包任务6-4管理进程拓展知识项目实训项目小结项目6管理软件包与进程01学习目标学习目标知识目标能力目标素养目标知识目标了解rpm软件包熟悉yum和dnf工具掌握yum仓库的搭建方法掌握Linux的进程概念能力目标能使用rpm命令执行软件包的安装、查询、升级和卸载等任务能使用yum命令执行软件包的安装、查询、升级和卸载等任务会使用ps、top、kill等命令管理进程素养目标提高在Linux系统中进行进程管理时的创新能力培养合作意识,做到与小组成员互相帮助,取长补短02任务6-1使用rpm软件包管理工具任务6-1使用RPM管理软件包任务目标6.1.1了解rpm软件包管理器6.1.2安装6.1.3升级6.1.4查询6.1.5删除6.1.6验证任务目标

小陈要完成师傅交给他的任务,就必须了解红帽软件包管理工具(RedHatPackageManager,rpm),并且掌握它在Linux系统中的使用方法。

因此,小陈制定了如下的任务目标。了解什么rpm。如何安装、升级、删除rpm软件。如何查找,验证rpm软件包。6.1.1了解rpm软件包管理工具1.软件包的种类

Linux系统中常见的软件包可分为两种:源码包和二进制包。(1)源码包:是指没有经过编译的源代码文件包。源码包只有经过gcc、Java等编译器编译后,才能在系统上运行,其后缀名多为.tar.gz、.zip、.rar的文件。源码包的缺点是安装过程步骤较多,尤其在安装较大的软件集合时,容易出现拼写错误,并且其编译过程时间较长,安装比二进制包安装时间长。(2)二进制包:是指已经编译好,可以直接安装使用的软件包,如后缀名为.rpm的文件。二进制软件包的缺点是经过编译,不能看到源代码,因此功能选择不如源码包灵活。使用rpm最大的好处在于它可以实现快速安装,相比编译安装效率要高得多。对于最终用户来说,rpm所提供的众多功能极大地方便了系统维护,安装、卸载、升级rpm软件包只需一条命令即可完成,繁琐的细节问题也无需费心。通过rpm软件包,系统管理员可以更轻松、方便地管理RHEL上的所有软件,可以让用户进行功能强大的软件包查询和验证工作。2.

rpm软件包的通用命名规则rpm软件包的文件名相比Windows系统下的文件名来说稍微复杂一点,作为初学者,应当知道rpm软件报的组成。rpm软件包的名称符合如下的特定格式。

格式中各字段名称及其含义如表6.1所示。6.1.1了解rpm软件包管理工具下面,我们以CentosStream9镜像文件包中存在的nginx-1.22.1-2.el9.x86_64.rpm为例给大家强化rpm软件包的命名规则。其中name部分为nginx表示软件的名称,version1部分为1.22.1表示软件版本号,version2部分为2表示发布版本号为第2代编译生成,el9表示软件发行商,el9表示此包是由RedHat公司发布,适合在RHEL9.x(RedHatEnterprise)和CentOS9上使用,arch部分为x86_64表示适用的的硬件平台,64位cpu可以安装。6.1.1了解rpm软件包管理工具6.1.2安装rpm软件包

在Linux系统中使用rpm命令进行软件包的管理,命令格式如下。rpm命令的常用选项及其说明如表6.2所示。表6.2rpm命令的常用选项及其说明注意:rpm命令的选项-i、-U、-e只有root用户才有权限执行,-q选项任何用户都可以执行。Linux系统的安装镜像文件中自带了很多扩展的rpm软件包,在安装一些基础软件时非常方便。

这里我们以gcc软件包的安装为例进行介绍:将现在好的ISO镜像加载到VMware的虚拟光驱。(具体操作步骤可以参考本书1.2.2小节)将光驱挂载到/media目录下。进入/media目录,查看挂载情况。6.1.2安装rpm软件包6.1.2安装rpm软件包4.使用cdAppStream/Packages/命令进入Packages/目录5.查看gcc软件包,并运行安装

注意,有时候我们使用rpm命令安装软件会提示安装失败,错误类型为依赖性检测失败。这是因为,虽然rpm软件包管理工具能够帮用户查询软件相关依赖性,但是检测出来的问题仍然需要运维人员自己手动解决。2.远程安装软件包安装远程软件包需要先准备好rpm软件包的下载地址,然后再进行安装,这里我们来尝试安装最新版的linuxqq软件,过程如下。6.1.2安装rpm软件包接着,在CentosStream9图形界面下运行qq软件,登录后即可正常聊天。6.1.3升级rpm软件包

当软件包需要升级时,通常无需事先卸载旧版本。系统会自动卸载旧版本的软件包,并安装新版本。在更新过程中,如果存在旧版本的配置文件,为确保新版本的正常运行,rpm软件包管理工具会将这些配置文件进行重命名,并安装新的配置文件。通过保存新旧文件,用户可以有更多的选择和灵活性。

下面以linuxqq软件升级为例,对升级rpm软件包的方法进行讲解。6.1.3升级rpm软件包6.1.4查询rpm软件包rpm软件包管理工具提供了相应的命令用于获取软件包文件和已安装软件包的相关信息。默认情况下,它从已安装软件包的本地数据库中获取信息。1.查询rpm软件包是否安装2.查询系统中所有已安装的rpm软件包6.1.4查询rpm软件包3.查询rpm软件包的详情信息查询已经安装的某个软件包的详细信息,命令格式如下:选项-i表示查询软件信息(information)。除此之外,还可以查询未安装软件包的详细信息,命令格式如下:选项-p表示查询未安装的软件包(package)。注意:这里使用包全名,这些信息是在rpm软件包里的,即作者事先写好的,而不是在软件安装之后才能查询软件包信息。6.1.4查询rpm软件包4.查询rpm软件包中的文件列表

查询已经安装的软件包中的文件列表和安装的完整目录,也就是软件的安装位置,是非常常用的命令。命令格式如下:

选项-l表示列出软件包所有文件的安装目录。6.1.4查询rpm软件包6.1.5删除rpm软件包

如果某个软件包在安装之后不再需要使用,那么rpm软件管理工具提供了对应的命令进行软件删除。但是,若要删除的软件包被其他软件所依赖,则其不能被删除,需要将以来该软件包的软件包删除后,在可以删除该软件包。

使用rpm删除软件包时,不需要输入软件包的完整包名,只要输入能识别该软件包的唯一标识即可。若执行删除命令后无结果显示,说明对应的软件包已经被成功删除。删除的命令如下:6.1.6验证rpm软件包验证软件包是指检查软件包中的组件是否与原始文件信息相同,以保证其准确性。验证的方法主要包括验证文件的大小、MD5校验码、文件权限、类型和用户组等。如果验证通过系统没有任何显示信息,如果验证不通过,系统将显示相关信息。使用rpm验证软件包的命令如下:03任务6-2使用yum管理软件包任务6-2创建yum管理软件包任务目标6.2.1了解yum工具6.2.2使用yum命令安装软件包任务目标

为了简化软件安装的过程,降低难度和复杂性,出现了yum(YellowdogUpdaterModified)工具。它可以从指定的服务器自动下载rpm软件包,实现自动升级、安装和卸载软件包,还可以自动检查依赖关系并一次性安装所有所需的软件包,避免了繁琐的逐个安装过程。通过使用yum软件包管理工具,可以提高软件安装和管理的效率。

因此,小陈制定了如下的任务目标:了解yum工具及仓库配置文件。学会搭建本地和网络yum源仓库。能够使用yum命令解决实际问题。6.2.1了解yum工具及其仓库配置文件1.了解yum

在CentOS系统中,可以通过rpm命令可以对软件包进行相应的处理。但由于系统中的软件包之间存在一定的依赖性,安装某个软件包时可能需要其他软件包的支持,这对用户来说十分不方便。因此,出现了网络化软件包管理器yum。yum可以说是一个管理rpm软件包的前端工具,其基于rpm软件包进行管理,能够从指定服务器自动下载rpm软件包并进行安装,可以自动处理依赖关系,并一次安装所有需要的软件包。在CentOS本地操作系统中设置相应的软件仓库地址,即可使用yum软件包管理器。yum软件包管理器提供了安装、升级、查询、删除某个/某组甚至全部软件包的命令,简单易懂。yum软件包管理器的特点如下:(1)便于管理大量的系统更新问题。其能自动解决软件包的依赖问题,能更方便地安装、升级、查询、删除rpm软件包。(2)可以同时配置多个软件仓库,且可以在多个软件仓库中定位软件包。(3)配置文件非常简洁,只需“/etc/yum.conf”和“/etc/yum.repos.d/*.repo”两个文件。(4)保持与rpm数据库的一致性。(5)具有一个比较详细的日志文件,可以查看何时升级、安装了什么软件包等。2.yum仓库配置文件repo文件是Linux系统中yum软件仓库的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,比如从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。软件仓库配置文件默认存储在“/etc/yum.repos.d/”目录中。举例如下6.2.1了解yum工具及其仓库配置文件一般情况下,软件仓库文件包含一下几个部分。(1)[resourcename]:软件源的名称,通常和repo文件名保持一致。(2)name:软件仓库的名称,和repo文件名保持一致。(3)baseurl:指定rpm软件包的来源,合法的取值有HTTP网站、FTP网站、本地源。(4)gpgcheck:是否进行校验,确保软件包来源的安全性。0为不校验,1为校验。(5)enabled:软件仓库源是否启用。0为不启用,1为启用。6.2.1了解yum工具及其仓库配置文件6.2.2使用yum命令安装软件包yum命令可以安装、更新、删除、显示软件包,可以自动进行软件更新,基于软件仓库进行元数据分析,解决软件包依赖性关系。该命令格式如下。yum命令的常用选项及子命令说明分别如表6.3和表6.4所示。表6.3yum命令的常用选项及其说明6.2.2使用yum命令安装软件包9.2.3检查文件系统

在日常工作环境中,计算机难免会由于某些系统因素或人为误操作出现系统异常,这种情况下非常容易造成文件系统的崩溃,严重时甚至会造成硬件损坏。如果真出现了文件系统损坏的情况,可以使用fsck命令进行修复。fsck命令用于检查文件系统并尝试修复出现的错误。fsck命令的基本格式如下:fsck命令常用的参数选项及其含义如表9.6所示。04任务6-3使用dnf管理软件包任务6-3使用dnf管理软件包任务目标6.3.1使用dnf命令管理软件包6.3.2搭建本地dnf仓库6.3.3搭建网络dnf仓库任务目标

小陈通过上一章的学习已经掌握了使用yum进行软件包管理的方法。然而,yum工具在使用过程中存在一些性能方面的问题,如运行速度慢、内存占用高以及依赖解析速度变慢等。此外,yum过度依赖于yum源文件,如果源文件出现问题,可能导致yum相关操作失败。为了解决这些问题,出现了dnf(DandifiedYUM)工具。dnf工具克服了yum工具的一些瓶颈,提升了用户体验、减少内存占用、加快依赖分析和运行速度等方面的性能。因此,使用dnf软件管理工具替代yum软件管理工具是势在必行的。

因此,小陈制定了如下的任务目标:会搭建本地dnf源仓库能够熟练使用dnf命令管理软件会修改网络dnf源仓库6.3.1使用dnf命令管理软件包1.了解dnf工具dnf工具克服了YUM软件管理工具的一些瓶颈,提升了用户体验、减少内存占用、加快依赖分析和运行速度等方面的性能。作为Linux系统的软件包管理工具,dnf可以用来管理rpm软件包。它可以查询软件包的信息,从指定的软件库获取所需的软件包,并通过自动处理依赖关系来实现安装、卸载和更新。dnf与yum完全兼容,提供了与yum相同的命令行界面,并提供了扩展和插件的应用程序编程接口(API)。需要注意的是,使用dnf需要管理员(root)权限。2.使用dnf命令安装软件包dnf是新一代的rpm软件包,该命令可以安装、更新、删除、显示软件包,可以自动进行软件更新,基于软件仓库进行元数据分析,解决软件包依赖性关系。该命令格式如下。dnf命令的常用选项及子命令说明分别如表6.5和表6.6所示。6.3.1使用dnf命令管理软件包6.3.1使用dnf命令管理软件包6.3.1使用dnf命令管理软件包6.3.2搭建本地dnf仓库

由于Linux系统的映像文件中有很多扩展的rpm软件包,因此本项目主要介绍本地dnf仓库的搭建方法。这里假设我们已经将CentOSStream9光盘镜像挂载到了(/media/)目录中。在软件仓管配置文件的默认目录(/etc/yum.repos.d/)中,将已经存在的repo文件备份到(/etc/yum.repos.d/bak/)目录。3.使用nano命令再(/etc/yum.repos.d/)目录中新建并编辑local.repo文件。6.3.2搭建本地dnf仓库编写local.repo文件时,需要注意以下几点。①文件名local和name(软件源的名称)保持一致。②baseurl指定的路径为映像文件挂载的路径,如果是本地仓库,则需在路径前加file://;如果是ftp源,则需在路径前加ftp://;如果是网络源,则需在路径前加http://或https://。③gpgcheck用于校验软件包来源的安全性,0为不校验,1为校验。④enabled用于设置是否启用该仓库源,0为不启用,1为启用。6.3.2搭建本地dnf仓库6.3.2搭建本地dnf仓库解决办法是编辑文件/etc/yum/pluginconf.d/subscription-manager.conf,将参数enabled=1改为enabled=0。

Linux系统中有一个有趣的命令sl,也就是我们通常所说的“小火车命令”,这个命令需要先安装才可以使用。从上面的执行结果可以看出,当我们尝试使用dnf命令安装sl软件包时,发现本地源中并没有可用的软件包,如何解决呢?这就需要搭建网络dnf仓库。Linux扩展包(ExtraPackagesforEnterpriseLinux,EPEL)是dnf的一个软件源,包含了许多基本源没有的软件包,但是在使用之前需要先安装EPEL软件包。下面以EPEL网络源的配置为例,演示网络仓库的配置方法,其他网络仓库类似。需要注意的是,要想使用网络源,要先保证Linux虚拟机能够上网。6.3.3搭建网络dnf仓库6.3.3搭建网络dnf仓库(1)安装EPEL软件包。(2)清除dnf缓存,生成dnf缓存,查看已经配置的dnf仓库。(3)安装sl软件包。(4)执行sl命令,效果如图6.1所示。6.3.3搭建网络dnf仓库05任务6-4管理进程任务6-4管理进程任务目标6.4.1了解Linux系统中的进程6.4.2查看Linux系统中的进程6.4.3停止Linux系统中的进程任务目标

在Linux操作系统中,由于是多用户多任务的环境,多个用户可能会共享同一块硬盘空间。如果其中少数用户占用了大量的硬盘空间,将会对其他用户的使用权力造成压缩。因此,作为管理员的小陈应该使用磁盘配额功能来合理限制用户对磁盘空间的使用。

磁盘配额功能允许管理员为每个用户设置最大可使用的磁盘空间,以防止某个用户过度占用资源。通过配额管理,可以平衡各个用户之间的磁盘空间使用,确保公平性和系统的稳定性。

因此,小陈制定了如下的任务目标:了解磁盘配额功能。掌握设置磁盘配额的方法。6.4.1了解Linux系统中的进程Linux是一个多用户、多任务的操作系统,各种计算机资源(如文件、内存、CPU等)的分配和管理,都是以进程为单位的。为了协调多个进程对这些共享资源的访问,操作系统要跟踪所有进程的活动,以及它们对系统资源的使用情况,从而实现对进程和资源的动态管理。1.进程的概念

进程是管理事务的基本单元,是操作系统中执行特定任务的动态实体,是程序的一次运行。一般情况下,每个运行的程序至少由一个进程组成。例如,使用Vim编辑器编辑文件时,系统中会生成相应的进程。用C语言编写的代码,通过gcc编辑器编译后最终会生成一个可执行的程序,当这个可执行的程序运行起来后,到结束前,它就是一个进程。Linux系统包含3种类型的进程。(1)交互进程:是由shell启动的进程,交互进程可以在前台运行,也可以在后台运行。(2)批处理进程:是一个进程序列,与终端没有联系。(3)守护进程(监控进程):是指在系统启动时就启动的进程,并且在后台进行。2.进程号

每个进程都由一个进程号(ProcessID,PID)标识,范围为0~32767。PID是操作系统在创建进程时分配给每个进程的唯一标识,一个进程终止后,进程号随之被释放,分配给其他进程再次使用。Linux系统有3种特殊的进程。(1)idle进程:进程号为0,是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生的进程。(2)systemd进程:进程号为1,由0进程创建,用于完成系统的初始化,是系统中所有其他进程的始祖进程。系统启动完成后,该进程变为守护进程,用于监视系统中的其他进程。(3)kthreadd进程:进程号为2,用于管理和调度其他内核线程,会循环执行Kthread函数,所有内核线程都直接或者间接地以其为父进程。6.4.1了解Linux系统中的进程6.4.2查看Linux系统中的进程ps和top命令可以查看Linux系统中的进程相关信息。1.ps命令ps命令源自英文词组"processstatus"的缩写,其功能是用于显示当前系统的进程状态。通过使用ps命令,我们可以查看进程的各种信息,如进程号、发起者、系统资源的使用情况(如处理器和内存)、运行状态等等。它可以帮助我们及时发现出现异常情况,例如"僵死"或"不可中断"的进程。该命令的语法格式如下所示:ps命令的常用选项及其说明如表6.7所示。6.4.2查看Linux系统中的进程表6.7ps命令的常用选项及其说明例6.3使用ps命令查看当前控制终端的进程,并显示进程的用户名和启动时间等相关信息。返回结果中的每列都有特定的含义,具体含义如表6.8所示6.4.2查看Linux系统中的进程6.4.2查看Linux系统中的进程2.top命令top命令的功能是实时显示系统的运行状态,包括处理器、内存、服务、进程等重要资源的信息。运维工程师通常将top命令形容为"加强版的Windows任务管理器",因为它不仅可以查看常规的服务和进程信息,还可以清晰地显示处理器和内存的负载情况,实时了解系统的整体运行状态。对于接手服务器后的第一步操作,top命令非常适用。该命令的语法格式如下。top命令的常用选项及其说明如表6.9所示。6.4.2查看Linux系统中的进程6.4.2查看Linux系统中的进程6.4.3停止Linux系统中的进程在Linux系统中经常使用kill和killall命令来杀死进程。kill命令用于杀死单个进程,killall命令用来杀死一类进程。1.kill命令根据不同的信号,kill命令用于完成不同的操作,该命令的语法格式如下。kill命令的常用信号如表6.10所示。1、9、15这个3个信号代码是最常用、最重要的信号代码。从kill命令的语法格式可以看出,该命令是按照PID来确定进程的,因此在实际使用kill命令时,通常配合ps命令来获取相应的进程号。6.4.3停止Linux系统中的进程2.Killall命令killall命令不再依靠PID来杀死单个进程,而是通过程序的进程名来杀死一类进行,该命令的语法格式如下。killall命令的常用选项及其说明如表6.11所示。6.4.3停止Linux系统中的进程06拓展知识拓展知识

在rpm(红帽软件包管理器)技术出现之前,Linux系统运维人员只能通过源码包的方式来安装各种服务程序,这是一件非常繁琐且极易消耗时间与耐心的事情;而且在安装、升级、卸载程序时还要考虑到与其他程序或函数库的相互依赖关系,这就要求运维人员不仅要掌握更多的Linux系统理论知识以及高超的实操技能,还需要有极好的耐心才能安装好一个源码软件包。但是,工作中依然有不少软件程序只有源码包的形式,如果我们只会使用dnf命令来安装程序,则面对这些只有源码包的软件程序时,将充满无力感,要么需要等到第三方组织将这些软件程序编写成rpm软件包之后再行使用,要么就只能寻找相关软件程序的替代品了(而且替代软件还必须具备rpm软件包的形式)。由此可见,如果只会使用软件仓库来安装服务程序,将会形成知识短板,对日后的工作带来不利。拓展知识使用源码包来安装服务程序具有两个优势:源码包的可移植性非常好,几乎可以在任何Linux系统中安装使用,而rpm软件包是针对特定系统和架构编写的指令集,必须严格地符合执行环境才能顺利安装。使用源码包安装服务程序时会有一个编

温馨提示

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

评论

0/150

提交评论