版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件包与进程管理Linux项
目
五文旌课堂APP签到软件包与进程管理项目导读
Linux操作系统安装成功后,提供的仅仅是一些少量的基础软件,要想让Linux为用户提供更多的服务,就必须安装额外的软件。Linux操作系统支持软件包安装和源码包安装两种软件安装方式。进程是Linux操作系统中非常重要的概念,所有在系统中启动的软件都会以进程的方式运行。熟练使用进程管理命令能够高效地进行系统管理。学
习
目
标软件包与进程管理掌握RPM命令。010203掌握常用的YUM命令。熟悉使用源码包安装软件的方法。掌握进程管理命令。04思
政目
标发扬精益求精的工匠精神,养成严谨认真的工作态度。提高分析问题和解决问题的能力和自信心。PPT下载/xiazai/软件包与进程管理PPT下载/xiazai/项目导航任务一任务二管理软件包管理进程管理软件包任
务
一Apache是目前拥有很高市场占有率的Web服务程序之一,它可以运行在Linux操作系统中,是RHEL8默认的Web服务程序,其功能非常强大。小邓在项目开发过程中难免会使用Apache服务,于是,他开始着手安装Apache。1任务描述管理软件包1一、RPM1.RPM简介
红帽软件包管理器(redhatpackagemanager,RPM)是RedHat公司提出的软件包管理标准。使用RPM可以更加简单、快速地在Linux操作系统中对“.rpm”形式的软件包进行安装、升级和卸载等。RPM会建立统一的数据库文件,详细记录软件信息并能够自动分析软件包之间的依赖关系。管理软件包
软件包是一个相对独立的功能单元,但许多软件包通常还需要一定的底层支持,如函数库或网络协议等。通常情况下,一个函数库或网络协议会同时支持多个软件包,当一个软件包需要某个特定的函数库或网络协议时,那么被该函数库或网络协议所支持的软件包就称为当前软件包的依赖。1
RPM软件包拥有特定的命名规则,其格式如下。其中,软件名称、版本号和修订号之间用“-”分隔,修订号、硬件平台和扩展名(rpm)之间用“.”分隔。常见的硬件平台如表5-1所示。管理软件包软件名称-版本号-修订号.硬件平台.rpm表5-1常见的硬件平台硬件平台说明i386几乎适用于所有的x86平台,其中,“i”表示Intel,“386”是CPU的等级i586针对586等级的计算机进行最佳化编译i686针对686等级的计算机进行最佳化编译x86_64针对64位的CPU进行最佳化编译noarch没有任何硬件等级的限制1管理软件包
RPM软件包还有另外一种扩展名,即“.src.rpm”,这类扩展名的RPM软件包中包含未编译的源码信息。例如,有一个名为“bash-3.1-16.1.i386.rpm”的软件包,其含义如下。bash-3.1-16.1.i386.rpm软件名称版本号修订号硬件平台扩展名12.RPM命令
RPM软件包管理使用rpm命令。rpm命令具有查询RPM软件包信息、安装或升级RPM软件包和卸载RPM软件包等功能。
(1)使用rpm命令查询系统中已经安装的RPM软件包信息的格式如下。
其中,“-q”选项用于查询软件包信息。“-a”选项用于查询系统中已经安装的所有RPM软件包,使用“-a”选项时,可以不添加软件包名。
查询文件或目录属于哪个RPM软件包的格式如下。管理软件包rpm-q[a][子选项][软件包名]rpm-qf文件或目录名1
使用rpm命令查询系统中尚未安装的软件包信息的格式如下。
以上命令中常用子选项的含义如表5-2所示
管理软件包rpm-qp[子选项]绝对路径/软件包名表5-2查询RPM软件包信息命令中常用子选项的含义子选项含义-i查询指定软件包的详细信息-l查询指定软件包所安装的目录、文件列表-c仅查询指定软件包安装的配置文件-d仅查询指定软件包安装的文档文件-R列出与该软件包有关的依赖软件包所含的文件1【实例5-1】
使用rpm命令查询RPM软件包信息。#查询bash软件包是否已安装[root@localhost~]#rpm-qbashbash-4.4.19-7.el8.x86_64#查询GCC软件包是否已安装[root@localhost~]#rpm-qgcc未安装软件包gcc#查询与wget软件包有关的依赖软件包所含的文件[root@localhost~]#rpm-qRwget/bin/sh/bin/sh管理软件包/sbin/install-info/sbin/install-infoconfig(wget)=1.19.5-7.el8libc.so.6()(64bit)…rpmlib(PayloadIsXz)<=5.2-1rtld(GNU_HASH)#查询文件“/bin/sh”由哪个软件提供[root@localhost~]#rpm-qf/bin/shbash-4.4.19-7.el8.x86_641管理软件包
使用rpm命令查询RPM软件包信息时,无须指定版本号,只添加软件名即可。“rpm-qf文件或目录”命令在解决软件包依赖关系时非常有用,因为知道所依赖的模块属于哪个软件包,才能安装该软件包。(2)使用rpm命令安装或升级RPM软件包的格式如下。
以上命令中常用选项的含义如表5-3所示。rpm[选项]软件包文件1管理软件包表5-3安装或升级RPM软件包命令中常用选项的含义选项含义-i安装一个新的RPM软件包-v显示详细的安装过程-h使用“#”显示安装进度-U升级RPM软件包,若软件包未安装,则进行安装(等同于安装命令)-F升级RPM软件包,若软件包未安装,则放弃安装1【实例5-2】
使用rpm命令安装没有依赖关系的RPM软件包。
执行结果如图5-1所示。#安装vsftpd软件包[root@localhost~]#rpm-ivhvsftpd-3.0.3-33.el8.x86_64.rpm管理软件包图5-1安装vsftpd软件包
图5-1所示中的警告信息是由于没有导入RedHat提供的公钥所致,但并不影响安装效果,可以忽略。1【实例5-3】
使用rpm命令安装具有依赖关系的RPM软件包。
执行结果(截取部分)如图5-2所示。#安装libstdc++软件包[root@localhost~]#rpm-ivhlibstdc++-8.4.1-1.el8.i686.rpm管理软件包图5-2安装libstdc++软件包1
由图5-2可以看出,libstdc++软件包存在依赖关系,使用rpm命令安装时系统提示错误信息“依赖检测失败”,libstdc++未安装成功。
(3)使用rpm命令卸载RPM软件包的格式如下。如果卸载的软件包与其他已经安装的软件包之间存在依赖关系,则系统会提示错误信息并终止卸载操作。执行卸载命令后,如果屏幕没有任何提示,则表示卸载成功。
管理软件包rpm-e[vh][软件包名]
使用rpm命令安装软件包时,须确保软件安装包已经存在,且须在存放安装包的目录下执行安装命令。RPM软件包正式安装前会检查软件包的依赖关系,如果依赖的软件包不存在,则安装无法正常进行。1【实例5-4】
使用rpm命令卸载没有依赖关系的RPM软件包。
也可以使用“-evh”选项显示卸载过程,如图5-3所示。#卸载vsftpd软件包[root@localhost~]#rpm-evsftpd[root@localhost~]#rpm-qvsftpd未安装软件包vsftpd管理软件包图5-3卸载vsftpd软件包1【实例5-5】
使用rpm命令卸载存在依赖关系的RPM软件包。
执行结果(截取部分)如图5-4所示。#查看与pam有关的软件包名[root@localhost~]#rpm-qa|greppamfprintd-pam-0.8.1-2.el8.x86_64systemd-pam-239-13.el8.x86_64pam-1.3.1-4.el8.x86_64gnome-keyring-pam-3.28.2-1.el8.x86_64#卸载pam软件包[root@localhost~]#rpm-epam管理软件包图5-4卸载pam软件包
可插入式授权管理模块(pluggableauthenticationmodule,PAM)是用来管理Linux操作系统下应用程序、服务等的授权,如su命令。1二、YUM1.YUM简介
YUM(yellowdogupdatermodified)是一个功能完善、易于使用的软件维护工具,它可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器(YUM软件仓库)下载软件包并安装到Linux操作系统。使用YUM能够进一步降低软件包的安装难度和复杂度。YUM拓扑结构如图5-5所示。管理软件包图5-5YUM拓扑结构12.常用的YUM命令
YUM提供了查找、安装、更新或删除软件包的命令yum,其格式如下。
yum命令中常用选项的含义如表5-4所示。管理软件包表5-4yum命令中常用选项的含义yum[选项][操作][软件包名]选项含义-h显示帮助信息-y安装过程中的提示选项均选择“yes”-q不显示安装过程1管理软件包表5-5yum命令中常用操作的含义操作含义list列出YUM所管理的所有软件包info列出软件包详细信息search查找软件包或匹配特定字符的软件包install安装软件包reinstall重新安装软件包update更新软件包check-update检查可更新的软件包remove卸载软件包cleanall清除所有YUM缓存1【实例5-6】
yum命令的使用。
#列出YUM所管理的所有软件包[root@localhost~]#yumlist已安装的软件包GConf2.x86_64
3.2.6-22.el8
@AppStreamModemManager.x86_641.8.0-1.el8
@anacondaModemManager-glib.x86_641.8.0-1.el8
@anaconda…zip.x86_64
3.0-23.el8
@anacondazlib.x86_64
1.2.11-10.el8
@anaconda#安装Squid软件包[root@localhost~]#yuminstallsquid管理软件包
使用yum命令安装软件包时,须先搭建YUM软件仓库,然后确定其配置规则,最后才能安装,具体步骤将在任务实施中详细介绍。1管理软件包
Squid是Linux操作系统中的一款高性能代理服务软件。
在2015年,RedHat公司开发了DNF,它是YUM的提升版。RHEL8同时兼容并保留了yum命令和dnf命令,且DNF特别友好地继承了原有的yum命令格式,在使用时将“yum”替换成“dnf”即可。读者在实际操作中可根据自己的习惯进行选择。1三、源码包安装方式
源码包安装是在RPM出现之前采用的一种软件包安装方式。采用源码包在安装、升级、卸载软件时须考虑与其他软件或函数库之间的依赖关系,因此,这种方式相对来说较复杂。使用源码包安装软件的过程如下。
(1)下载及解压缩源码包文件。为了方便在网络中传输,源码包文件一般是具有“.tar.gz”(简称“tgz”)或“.tar.bz2”后缀的压缩文件。要想使用源码包文件安装软件,必须先将压缩文件进行解压缩,然后再切换到源码包文件所在目录。
(2)配置。设置编译的参数,还可以根据需要添加“--prefix”选项,以指定软件的安装目录,从而对软件的安装过程更加可控。配置成功后,会生成“Makefile”文件。
(3)编译。根据生成的“Makefile”文件内容进行编译,并生成可供用户真正安装的二进制可执行文件。(4)安装。如果在配置阶段使用了“--prefix”参数,则软件就会安装到指定目录。若没有,一般会默认安装到“/usr/local/bin”目录。管理软件包单击此处添加标题1三、源码包安装方式
源码包安装是在RPM出现之前采用的一种软件包安装方式。采用源码包在安装、升级、卸载软件时须考虑与其他软件或函数库之间的依赖关系,因此,这种方式相对来说较复杂。使用源码包安装软件的过程如下。
管理软件包单击此处添加标题下载及解压缩源码包文件1配置安装编译设置编译的参数,还可以根据需要添加“--prefix”选项,以指定软件的安装目录,从而对软件的安装过程更加可控。配置成功后,会生成“Makefile”文件。如果在配置阶段使用了“--prefix”参数,则软件就会安装到指定目录。若没有,一般会默认安装到“/usr/local/bin”目录。根据生成的“Makefile”文件内容进行编译,并生成可供用户真正安装的二进制可执行文件。为了方便在网络中传输,源码包文件一般是具有“.tar.gz”(简称“tgz”)或“.tar.bz2”后缀的压缩文件。要想使用源码包文件安装软件,必须先将压缩文件进行解压缩,然后再切换到源码包文件所在目录。2341【实例5-7】
使用源码包安装方式安装Python3。
#在线下载Python3.9.0[root@localhost~]#wget/ftp/python/3.9.0/Python-3.9.0.tgz#将Python安装包解压到“/usr/local”目录下[root@localhost~]#tar-xzvfPython-3.9.0.tgz-C/usr/local#切换到“/usr/local”目录下[root@localhost~]#cd/usr/local#将“Python-3.9.0”重命名为“Python3”[root@localhostlocal]#mvPython-3.9.0Python3#切换到“Python3”目录下[root@localhostlocal]#cdPython3#配置,添加“--prefix”选项指定安装目录[root@localhostPython3]#./configure--prefix=/usr/local/python3Dir#编译[root@localhostPython3]#make#安装[root@localhostPython3]#makeinstall#创建软链接,这样就可以使用Python3编译器了[root@localhostPython3]#ln-s/usr/local/python3Dir/bin/python3/usr/bin/python管理软件包1由于RHEL8光盘中自带了Apache软件包(名称为httpd),故可将光盘挂载到系统作为YUM软件仓库,然后确定其配置规则,最后进行安装。任务实施
管理软件包创建磁盘分区课堂练习简述源码包安装方式。管理进程任
务
二
作为网络管理员的小邓,须了解Linux操作系统中用户的行为,以及监视不同进程的运行状况,从而有效地管理进程。2任务描述管理进程2一、进程1.进程和程序
进程是指具有一定独立功能的应用程序在一个数据集合上的一次动态执行过程,它是操作系统动态执行的基本单位。Linux操作系统通过进程完成每个任务,且每个进程都由一个进程号(processidentification,PID)来标识。PID总是唯一的,但可以重复使用。当一个进程终止后,其PID可以再次使用。管理进程
在Linux操作系统中安装并配置服务器软件后,通常是由运行在后台的守护进程(daemon)来执行,这个守护进程又称为服务2
进程和程序是不同的,主要体现在以下3个方面。程序是一个静态的指令集合,可长期保存,而进程是一个程序的动态执行过程,它具有生命周期,是动态产生和消亡的。例如,C语言代码通过编译器编译后,最终会成为一个可执行程序,当这个可执行程序运行起来后(没有结束之前),它就成为一个进程。进程是系统资源分配和调度的基本单位。程序和进程不存在一一对应的关系。一个程序在运行中可以产生多个进程,一个进程在生命周期内可以顺序执行若干个程序。管理进程22.进程的状态
Linux操作系统中的进程是有状态的,且状态之间是可以相互转换的。Linux将进程运行的整个生命周期简单划分为3种基本状态,分别是就绪状态、运行状态和等待状态。管理进程就绪状态等待状态运行状态进程已经满足运行所需的全部条件,正在等待分配CPU。进程占用CPU正在运行进程因不具备某些执行条件而暂时无法继续运行。2
进程的就绪状态、运行状态和等待状态之间的转换关系如图5-6所示。管理进程图5-6就绪状态、运行状态和等待状态之间的转换关系2
除了以上3种基本状态外,Linux操作系统还描述了进程的以下状态。(1)挂起状态:正在运行的进程,因为某种原因失去CPU而暂停运行。(2)终止状态:进程已结束。(3)休眠状态:进程主动暂时停止运行。(4)不可中断:进程不可被收到的信号中断。(5)僵死状态:由于某种原因进程停止运行,但进程的控制结构依然存在。管理进程23.进程的优先级
Linux操作系统中所有进程根据其所处状态,按照时间顺序排列成不同的队列,系统按照相应的策略调度就绪队列中的进程。
队列中的进程是有优先级的,取值范围为“-20~19”,优先级的取值越小,其优先级越高,越具有优先启动的权利。
启动进程的root用户或普通用户可以修改进程的优先级,root用户既可以调高优先级也可以调低优先级,而普通用户只能调低优先级。配置进程优先级可以改善Linux操作系统的性能。管理进程24.进程的启动方式
进程的启动方式有两种,一种是手工启动,另一种是自动启动。
其中,手工启动是指由用户输入命令后按“Enter”键直接启动进程,它又可分为前台启动和后台启动。
前台启动是由用户输入命令后按“Enter”键直接执行程序;
后台启动是在命令行的末尾加上“&”符号,然后再按“Enter”键。自动启动是系统按照用户要求的时间或方式定时执行特定任务,详细内容将在项目六中介绍。管理进程2二、进程管理命令
常用的进程管理命令包括查看进程信息(ps、top和pstree)、调整进程优先级(nice)、终止进程运行(kill和killall)、将当前进程调入后台并停止运行(“Ctrl+Z”组合键)、查看处于后台的进程(jobs)和将处于后台的进程恢复到前台运行(fg)等。1.查看进程信息——ps命令、top命令和pstree命令
(1)静态查看进程信息使用ps命令,其格式如下。管理进程ps[选项]2管理进程ps命令中常用选项的含义如表5-6所示。选项含义a查看当前终端下的所有进程信息u使用以用户为主的格式输出进程信息x查看当前用户在所有终端下的进程信息-e查看系统内的所有进程信息-l使用长格式显示进程信息-f使用完整格式显示进程信息表5-6ps命令中常用选项的含义2【实例5-8】
查看系统中所有进程信息。
执行结果(截取部分)如图5-7所示。
[root@localhost~]#psaux图5-7“psaux”命令执行结果(部分)管理进程2管理进程图5-7中各字段的含义如表5-7所示。表5-7“psaux”命令执行结果中各字段的含义序号字段含义1USER进程的所有者2PID进程ID号3%CPU进程的CPU占用百分比4%MEM进程的内存占用百分比5VSZ进程占用的虚拟内存量(单位:KB)6RSS进程占用的固定内存量(单位:KB)7TTY进程所在终端8STAT进程目前状态(R:运行状态;S:休眠状态;T:终止状态;D:不可中断状态;Z:僵死状态)9START启动进程的时间10TIME进程实际占用CPU的时间11COMMAND进程对应的命令名2管理进程(2)动态查看进程信息使用top命令。top命令执行结果(截取部分)如图5-8所示。图5-8top命令执行结果(部分)2管理进程由图5-8可以看出,top命令执行结果的前5行(标注框内容)为系统整体的统计信息,各行所代表的含义如下。①第1行包括系统时间、运行时间、登录终端数、系统平均负载(后面的3个值分别为1分钟、5分钟和15分钟内的平均值,数值越小意味着负载越低)。②第2行包括进程总数、运行中的进程数、休眠中的进程数、停止的进程数和僵死的进程数。③第3行显示的是CPU使用情况,包括用户占用百分比、系统内核占用百分比、修改过优先级的进程占用百分比等。④第4行显示的是物理内存的使用情况,包括物理内存总量、内存空闲量、内存使用量和缓冲区占用的内存量。⑤第5行显示的是交换分区的使用情况,包括交换分区总量、交换分区空闲量、交换分区使用量和用于高速缓存的大小。top命令执行结果第6行各字段的含义依次为,进程ID号、进程的所有者、进程的优先级、进程的优先级数值、进程占用的虚拟内存值、进程占用的物理内存值、进程占用的共享内存值、进程的状态、进程的CPU占用百分比、进程的内存占用百分比、进程实际占用CPU的时间和进程对应的命令名。2管理进程
使用top命令后,其操作方式有以下6个。①按“P”键根据CPU占用情况进行排序。②按“M”键根据内存占用情况进行排序。③按“N”键根据进程的PID大小进行排序。④按“h”键获得top命令的在线帮助信息。⑤按“q”键正常退出top命令。⑥按“空格”键强制更新进程状态信息。2
(3)以树型结构显示各进程间的关系使用pstree命令,其格式如下。
pstree命令中常用选项的含义如表5-8所示。
pstree[选项]表5-8pstree命令中常用选项的含义选项含义-a显示进程对应的命令名-u显示进程对应的用户名-p显示进程的PID管理进程2【实例5-9】
以树型结构显示各进程间的关系。
[root@localhost~]#pstree-aupsystemd,1--switched-root--system--deserialize18├─ModemManager,905│├─{ModemManager},925│└─{ModemManager},929├─NetworkManager,1036--no-daemon│├─{NetworkManager},1044│└─{NetworkManager},1047├─VGAuthService,902-s├─accounts-daemon,1018│├─{accounts-daemon},1021│└─{accounts-daemon},1023…管理进程22.调整进程优先级——nice命令
调整进程优先级使用nice命令,其格式如下。管理进程nice-n优先级数值进程名【实例5-10】将bash进程的优先级调整为19。
执行“ps-l”命令可查看进程信息,其执行结果如图5-9所示。
[root@localhost~]#nice-n19bash图5-9查看进程信息23.终止进程运行——kill命令和killall命令
(1)终止指定PID的进程使用kill命令,其格式如下。管理进程kill[选项]PID
kill命令常用的选项是“-9”和“-15”(默认)。其中,选项“-9”表示强制终止进程,选项“-15”表示正常终止进程。
(2)终止指定名称的所有进程使用killall命令,其格式如下。
killall命令常用选项及其含义与kill命令基本相同,此处不再赘述。
killall[选项]进程名2【实例5-11】
终止进程运行。
#正常终止PID为3210的进程[root@localhost~]#kill3210#强制终止PID为5820的进程[root@localhost~]#kill-95820#正常终止所有的php-fpm进程[root@localhost~]#killallphp-fpm管理进程24.将当前进程调入后台并停止运行——“Ctrl+Z”组合键
将当前进程调入后台并停止运行使用“Ctrl+Z”组合键。在使用时,只需在当前进程的前台运行下按“Ctrl+Z”组合键即可。管理进程[root@localhost~]#vim/etc/fstab#在Vim命令模式下按“Ctrl+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 徐州医科大学《电子商务运营》2025-2026学年期末试卷
- 全麻并发症处理措施
- 高胆固醇血症的治疗与护理措施
- 精神科患者康复训练课件
- 2026年成人高考土木工程专业建筑力学单套试卷
- 2026年成人高考高起专市场营销模拟单套试卷
- 浙江地理试卷及答案
- 2025-2026学年人教版七年级音乐上册音乐欣赏与创作测试卷(含答案)
- 云计算安全题库及答案
- 2017年活动策划方案(3篇)
- 2025年互联网企业运营管理知识测试试题及答案
- 2025年陕西、山西、宁夏、青海四省(陕晋宁青)高考 政治真题试卷 附答案
- 介入导管护理
- 多层钢筋混凝土框架结构的设计与优化
- T/CECS 10210-2022给水用胶圈电熔双密封聚乙烯复合管材及管件
- 外墙真石漆施工技术培训
- 银行技术岗校招笔试题目及答案
- 8D培训试题和答案
- 国家能源集团陆上风电项目通 用造价指标(2024年)
- 2025上海市宝山区青年储备人才公开招聘30人高频重点提升(共500题)附带答案详解
- 2025年四川巴中市南江县考试招聘事业单位人员49人管理单位笔试遴选500模拟题附带答案详解
评论
0/150
提交评论