RHEL7版-项目06--软件包、服务和进程的管理ppt课件

第第1 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一Red Hat Enterprise Linux 7.3(RHEL 7.3)l课程标准课程标准(教学大纲教学大纲)l教学设计方案教学设计方案(教案教案)lPPTPPT电子课件电子课件l教材习题参考答案教材习题参考答案l模拟试卷及参考答案模拟试卷及参考答案(4(4套套)lITIT认证认证+全国技能大赛资料全国技能大赛资料l知识拓展知识拓展&网络工程解决方案网络工程解决方案第第2 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一Linux服务的概念、分类;端口的概念与作用;套接字服务的概念、分类;端口的概念与作用;套接字(Socket)的概念及套接字之间的连接过程;进程的概念、分类;的概念及套接字之间的连接过程;进程的概念、分类;rpm软件包的命名格式;软件包的命名格式;systemctl服务管理命令的一般服务管理命令的一般格式;格式;RHEL 7系统的启动过程;服务管理系统系统的启动过程;服务管理系统systemdrpm软件包的安装、查询、升级、删除的方法软件包的安装、查询、升级、删除的方法;网络服务网络服务的启动、停止方法;的启动、停止方法;使用使用systemctl命令管理服务(查看服务状态、设置服务运行命令管理服务(查看服务状态、设置服务运行级别、控制级别、控制能使用能使用ss命令查看服务运行状态命令查看服务运行状态会使用会使用ps和和top命令监视进程状态命令监视进程状态能使用能使用at和和crontab命令实施计划任务管理命令实施计划任务管理项目项目6 软件包、服务和进程的管理软件包、服务和进程的管理第第3 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一6.1 项目背景项目背景在对在对Linux系统的使用和操作过程中系统的使用和操作过程中,需要需要经常安装、卸载和升级各种应用软件。
经常安装、卸载和升级各种应用软件安装软件的作用仅仅是给该软件提供了一安装软件的作用仅仅是给该软件提供了一个可以运行的环境个可以运行的环境,要使软件发挥作用要使软件发挥作用,为为用户提供高效可靠的服务用户提供高效可靠的服务,还必须启动该还必须启动该软件让其投入运行软件让其投入运行,并能监控软件的运行并能监控软件的运行状态状态,维护其正常、稳定地运行维护其正常、稳定地运行软件的安装、升级或卸载软件的安装、升级或卸载;软件的运行管软件的运行管理理(开机时自动和实时手动地启动、重启开机时自动和实时手动地启动、重启、重载和停止软件、重载和停止软件);实时监控和查看软件实时监控和查看软件运行状态等是系统管理员日常最基本的工运行状态等是系统管理员日常最基本的工作第第4 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一1.RPM管理工具管理工具RPM是红帽子包管理是红帽子包管理(Redhat Package Manager)的缩写由由Red Hat公司提出的一种软件包管理标准公司提出的一种软件包管理标准是是Linux各发行版中应用最广泛的软件包格式之一(还有各发行版中应用最广泛的软件包格式之一(还有debian发行的发行的deb安装包)。
安装包)对对RPM格式的软件包进行安装、查询、更新格式的软件包进行安装、查询、更新升级、校验、卸载以及生成升级、校验、卸载以及生成.rpm格式的软件包等格式的软件包等RPM功能通过功能通过rpm命令使用不同参数来实现命令使用不同参数来实现6.2 项目知识准备项目知识准备第第5 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一RPM软件包的典型命名格式:软件包的典型命名格式:如:如:openssl软件包对应的软件包名称为:软件包对应的软件包名称为:openssl-1.0.1e-60.el7.x86_64.rpm 代表该软件代表该软件适用于在适用于在Intel x86架构架构的的64位位cpu的计算机的计算机硬件硬件平平台上运行台上运行第第6 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一2.YUM管理工具管理工具YUM(Yellow dog Updater,Modified)则能在线下载)则能在线下载、安装、安装、卸载、升级rpm软件包等任务,并且且能够自动查找并解决rpm包之间的依赖关系后,一次性完成所有具有一次性完成所有具有依赖关系依赖关系rpm包的安装的安装,而无需管理员逐个、手工地去安装每一个rpm包。
要实现要实现YUM的功能的功能,有赖于三个机制的建立有赖于三个机制的建立其一是需要有一个包含各种其一是需要有一个包含各种rpm安装文件的软件仓库安装文件的软件仓库(即即yum源源);其二是有软件仓库的仓库数据库(其二是有软件仓库的仓库数据库(repodata),其中收集了软件其中收集了软件仓库中所有仓库中所有rpm包的头部信息包的头部信息(每个每个rpm包的包头信息包含了该包的包头信息包含了该包的包的描述描述,功能功能,提供的文件提供的文件,依赖关系等信息依赖关系等信息);其三是有软件仓库的地址等信息其三是有软件仓库的地址等信息第第7 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一1.Linux服务的概念、分类与管理服务的概念、分类与管理是指为系统自身或网络用户提供某项特定功是指为系统自身或网络用户提供某项特定功能的、运行在操作系统后台能的、运行在操作系统后台(不占用下达命令的不占用下达命令的终端窗口终端窗口)的一个或多个程序服务一旦启动会的一个或多个程序服务一旦启动会持续在后台执行持续在后台执行,随时等待接收使用者或其他程序随时等待接收使用者或其他程序的访问请求的访问请求,不管有没有被用到。
不管有没有被用到按其服务对象的不同服务划分为两类:按其服务对象的不同服务划分为两类:为本地计算机系统和用户提供的服务为本地计算机系统和用户提供的服务,如监如监视本地计算机活动的监视程序视本地计算机活动的监视程序为网络中的其他计算机的用户提供的服务为网络中的其他计算机的用户提供的服务,如如httpd网页服务、网页服务、ssh远程登录服务等远程登录服务等第第8 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一1.Linux服务的概念、分类与管理服务的概念、分类与管理systemctl 单元名单元名第第9 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一不同的网络服务不同的网络服务,它们具体使用的网络协议会不同它们具体使用的网络协议会不同,人们为了人们为了区分不同的网络协议区分不同的网络协议,给每个协议进行了编号给每个协议进行了编号,这个编号在计这个编号在计算机术语里面就叫端口号算机术语里面就叫端口号(简称端口简称端口)基于TCP/UDP协议的协议的不同网络服务都是以端口来区别的不同网络服务都是以端口来区别的 网络中的主机是通过使用网络中的主机是通过使用“IP地址地址+端口端口”与其他主机建立与其他主机建立连接并进行通信的。
连接并进行通信的计算机通信时使用的端口从计算机通信时使用的端口从065535,共有共有65536个其中,从从01023称为称为,通常这些端口的通讯固定用于某种服务协通常这些端口的通讯固定用于某种服务协议议,比如比如HTTP协议的端口号为协议的端口号为80,SMTP协议的端口号为协议的端口号为25,TELNET协议的端口号为协议的端口号为23等等从从102465535称为称为,这些端口通常不固定分配给某个服务这些端口通常不固定分配给某个服务,只要运行的程序向系统提出网络申请只要运行的程序向系统提出网络申请,系统自动从这些端口中分配一系统自动从这些端口中分配一个可用端口供其使用个可用端口供其使用第第10 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一“IP地址地址+网络协议网络协议+端口端口”的整合就称为套接字的整合就称为套接字(Socket)可以说以说,套接字就是在纵横交错的网络通信中套接字就是在纵横交错的网络通信中,区分不同应用程区分不同应用程序进程间的序进程间的网络通信网络通信和连接的一套关键字和连接的一套关键字套接字套接字(Socket)包含了进行网络通信必须的五种信息:包含了进行网络通信必须的五种信息:连接使用的协议、本地主机的连接使用的协议、本地主机的IP地址、本地进程的协议端口、远程地址、本地进程的协议端口、远程主机的主机的IP地址、远程进程的协议端口。
地址、远程进程的协议端口套接字之间的连接过程可以分为以下三个步骤套接字之间的连接过程可以分为以下三个步骤:服务器监听服务器监听:是指服务端套接字并不定位具体的客户端套接字是指服务端套接字并不定位具体的客户端套接字,而是处而是处于等待连接的状态于等待连接的状态,实时监控网络状态实时监控网络状态客户端请求客户端请求:是由客户端的套接字提出连接请求是由客户端的套接字提出连接请求,要连接的目标是服务要连接的目标是服务器端套接字器端套接字连接确认连接确认:是当服务器端套接字监听到或者说接收到客户端套接字的是当服务器端套接字监听到或者说接收到客户端套接字的连接请求时连接请求时,它就响应客户端套接字的请求它就响应客户端套接字的请求,建立一个新的线程建立一个新的线程,把服务把服务器端套接字的信息发送给客户端器端套接字的信息发送给客户端,一旦客户端确认了此连接一旦客户端确认了此连接,连接即可连接即可建立第第11 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一(1)开机自检开机自检:服务器接通电源后服务器接通电源后,系统固件系统固件(UEFI或或BIOS)运行自检程序运行自检程序,并对部分硬件设备进行初始化。
并对部分硬件设备进行初始化2)按照按照UEFI或或BIOS中配置的顺序搜索可启动设备中配置的顺序搜索可启动设备,并并将其中的主启动记录将其中的主启动记录(MBR)调入到内存然后从磁盘读调入到内存然后从磁盘读取驻留在取驻留在/boot中的多系统引导器程序中的多系统引导器程序Grub2,系统将控系统将控制权交给制权交给Grub2(3)Grub2获得系统控制权后获得系统控制权后,读取自身的读取自身的配置文件配置文件,然后然后显示启动菜单供用户选择显示启动菜单供用户选择,在用户做出选择在用户做出选择(或采用默认或采用默认值值)后后,Grub2找到找到Linux内核内核(kernel)文件文件(预先编译好预先编译好的特殊二进制文件的特殊二进制文件,介于各种硬件资源与系统程序之间介于各种硬件资源与系统程序之间,负责资源分配与调度负责资源分配与调度)第第12 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一(4)加载加载Linux内核文件和驻留在内核文件和驻留在RAM中的初始化文中的初始化文件系统件系统initramfs(它包含执行必要操作所需要的硬件它包含执行必要操作所需要的硬件的内核模块程序和二进制文件的内核模块程序和二进制文件,以此来最终挂载真实以此来最终挂载真实的根文件系统的根文件系统),然后将系统控制权转交给内核。
然后将系统控制权转交给内核5)内核接过系统控制权后内核接过系统控制权后,将完全掌控整个将完全掌控整个Linux操操作系统的运行过程当根文件系统被挂载后作系统的运行过程当根文件系统被挂载后,接着便接着便运行运行/usr/lib/systemd/systemd可执行程序可执行程序,即启动即启动PID为为1的的systemd进程6)systemd启动后启动后,首先执行首先执行initrd.target目标的所目标的所有单元文件有单元文件,接着根据接着根据default.target配置文件中的规配置文件中的规则初始化系统则初始化系统第第13 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一(1)尽可能启动更少进程尽可能启动更少进程,减少系统资源消耗减少系统资源消耗2)尽可能将更多进程并行启动尽可能将更多进程并行启动,缩短服务启动时间缩短服务启动时间3)引入引入“单元单元”机制机制,实现对系统资源的一致性管理和配置实现对系统资源的一致性管理和配置Systemd中主要的单元类型有以下几种中主要的单元类型有以下几种:服务服务(service)单元单元:目标目标(target)单元单元:套接字套接字(socket)单元单元挂载挂载(mount)单元单元:自动挂载自动挂载(automount)单元单元设备设备(device)单元单元交换分区交换分区(swap)单元单元定时器定时器(timer)单元单元快照快照(snapshot)单元单元文件系统路径文件系统路径(path)单元单元资源控制组资源控制组(slice)单元单元外部创建的进程外部创建的进程(scope)单元单元(4)提供服务状态快照提供服务状态快照,恢复特定点的服务状态。
恢复特定点的服务状态5)systemd的作用远远不止是启动系统和初始化系统的作用远远不止是启动系统和初始化系统(6)与与SysVinit兼容7)管理远程系统管理远程系统第第14 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一进程是指程序的一次动态执行过程进程是指程序的一次动态执行过程,是计算机中正在运行着是计算机中正在运行着的程序进程与程序是有区别的的程序进程与程序是有区别的:程序是位于外存储器中不程序是位于外存储器中不占用内存和占用内存和CPU资源的静态指令和数据的集合资源的静态指令和数据的集合;进程是由程进程是由程序产生的、随时可能发生变化的、动态的、占用系统运行序产生的、随时可能发生变化的、动态的、占用系统运行资源资源(如如CPU、内存、读写设备、网络带宽等、内存、读写设备、网络带宽等)的实体为了使计算机运行有序推进为了使计算机运行有序推进,操作系统会为每个进程赋予相操作系统会为每个进程赋予相应的优先级进程的优先级通过应的优先级进程的优先级通过“谦让度谦让度”数字指标来衡数字指标来衡量量,通过它来表明一个进程在同其他进程竞争通过它来表明一个进程在同其他进程竞争CPU时应该如时应该如何对待这个进程何对待这个进程(何时运行和接收多少何时运行和接收多少CPU时间时间),谦让度的谦让度的值越高值越高,优先级越低优先级越低,谦让度的值越低或负值表示优先级越高谦让度的值越低或负值表示优先级越高。
谦让度的取值范围是谦让度的取值范围是-20至至+19第第15 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一分分类类标标准准种类种类特征特征运行运行主体主体系统进程系统进程承担对内存资源分配和进程切换等管理工作承担对内存资源分配和进程切换等管理工作;运行不受用户的干预运行不受用户的干预(root用用户也不例外户也不例外)运行用户进程用户进程由执行用户程序、应用程序或内核之外的系统程序而产生由执行用户程序、应用程序或内核之外的系统程序而产生;在用户的控制在用户的控制下运行或关闭下运行或关闭运行运行方式方式交互式进程交互式进程由由shell终端启动的进程终端启动的进程,在执行过程中在执行过程中,需要与用户进行交互操作需要与用户进行交互操作,运行于前运行于前台或后台台或后台批处理进程批处理进程该类进程是一个进程集合该类进程是一个进程集合,负责按顺序启动其他的进程负责按顺序启动其他的进程;不需要与用户交互不需要与用户交互,一般在后台运行一般在后台运行守护进程守护进程一直在后台运行一直在后台运行;通常随系统启动时启动通常随系统启动时启动,在系统关闭时终止在系统关闭时终止;独立于控制独立于控制终端且周期性地执行某种任务或等待处理某些发生的事件。
如终端且周期性地执行某种任务或等待处理某些发生的事件如Web服务器服务器的的httpd进程进程,一直处于运行状态一直处于运行状态,等待用户访问等待用户访问隶属隶属关系关系父进程父进程是能创建、控制其他进程的进程是能创建、控制其他进程的进程子进程子进程被其他进程创建和管理的进程被其他进程创建和管理的进程运行运行环境环境前台进程前台进程在当前控制台在当前控制台(也称终端也称终端)输入命令后输入命令后,命令对应的进程在结束之前一直占命令对应的进程在结束之前一直占用控制台以显示命令执行过程和结果用控制台以显示命令执行过程和结果,期间不能输入其他命令期间不能输入其他命令后台进程后台进程在当前控制台输入命令程序后在当前控制台输入命令程序后,命令对应的进程会释放当前控制台命令对应的进程会释放当前控制台,以使用以使用户能输入和执行其他命令如户能输入和执行其他命令如,执行执行vim命令后可按【命令后可按【Ctrl+Z】键后挂起至】键后挂起至后台第第16 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一管理方式管理方式,命令命令功能说明功能说明查看进程查看进程ps 选项选项查看进程静态统计信息查看进程静态统计信息top 选项选项查看进程动态信息查看进程动态信息htop 选项选项查看进程动态信息查看进程动态信息,top的升级版的升级版pgrep 选项选项查询指定属性的进程信息查询指定属性的进程信息pstree 选项选项查看进程树查看进程树,明确进程间父子关系明确进程间父子关系启启动动进进程程手工手工启动启动前台启前台启动动Shell命令命令在当前命令终端窗口中下达前台执行命令在当前命令终端窗口中下达前台执行命令(命令结束前一直占命令结束前一直占用终端命令行用终端命令行,使得用户不能输入其它命令使得用户不能输入其它命令)后台启后台启动动Shell命令命令&将将“&”符号置于命令的最后面符号置于命令的最后面调度启调度启动动(计划任务计划任务)at制定只能执行一次的计划任务制定只能执行一次的计划任务crontab制定可周期性重复执行的计划任务制定可周期性重复执行的计划任务控制进程控制进程kill-9 进程号进程号依据进程号依据进程号PID终止进程及其子进程终止进程及其子进程,-9代表强制终止代表强制终止killall 进程名进程名依据进程的名称终止进程依据进程的名称终止进程pkill 选项选项依据进程的名称、进程号、运行该进程的用户或进程所在终端依据进程的名称、进程号、运行该进程的用户或进程所在终端终止进程终止进程xkill 选项选项桌面用的杀死图形界面的程序桌面用的杀死图形界面的程序jobs -l显示当前控制台中在后台运行的进程清单显示当前控制台中在后台运行的进程清单(任务号、进程号、任务号、进程号、状态等状态等)fg 后台任务号后台任务号将后台指定任务号的进程任务调回前台执行将后台指定任务号的进程任务调回前台执行bg 后台进程号后台进程号将后台挂起的命令在后台恢复执行将后台挂起的命令在后台恢复执行Ctrl+Z 组合键组合键将当前控制台上运行的命令放入后台并挂起将当前控制台上运行的命令放入后台并挂起(中止中止)Ctrl+C组合键组合键挂起进程挂起进程第第17 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一任务导入任务导入Windows中的中的“添加添加/删除程序删除程序”工具工具(图形化的界面)(图形化的界面)=软件包管理工具软件包管理工具Linux中常见的软件安装程序中常见的软件安装程序:源代码软件源代码软件:需编译需编译,通常以通常以gzip压缩过的压缩过的tar包包(扩展名一般为扩展名一般为.tar.gz).可执行程序可执行程序RPM包包,一般扩展名为一般扩展名为.rpm第第18 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一rpm -q参数参数1参数参数2 安装文件安装文件1 安装文件安装文件2第第19 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一rootdyzx#rootdyzx#【例例6-1】查询openssh、telnet-server软件包是否已安装rootdyzx#rpm -q openssh telnet-serveropenssh-6.6.1p1-31.el7.x86_64未安装软件包 telnet-server第第20 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-2】查看已安装的查看已安装的openssh软件包的版本、用途等详软件包的版本、用途等详细信息。
细信息rootdyzx#rpm -qf /etc/postfix/accesspostfix-2.10.1-6.el7.x86_64rootdyzx#rpm -qi openssh【例例6-3】显示已安装显示已安装openssh软件包中所包含文件的文件软件包中所包含文件的文件名及安装位置名及安装位置rootdyzx#rpm -ql openssh|less【例例6-4】查询系统中access文件是由哪个软件包安装的例例6-5】查询系统中postfix软件包安装的配置文件列表rootdyzx#rpm -qc postfix/etc/pam.d/smtp.postfix/etc/postfix/access/省略若干行第第21 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一 查询查询未安装未安装软件包的信息软件包的信息安装一个软件包前安装一个软件包前,需了解软件包的相关信息需了解软件包的相关信息,比比如如:该软件包的描述信息、文件列表等在表该软件包的描述信息、文件列表等在表6-5中的参数基础上再添加中的参数基础上再添加p参数可实现对未安装的参数可实现对未安装的rpm软件包相应信息的显示。
软件包相应信息的显示例例6-6】查询安装光盘中软件包查询安装光盘中软件包ppp-2.4.5-33.el7.x86_64.rpm 的文件列表的文件列表步骤步骤1:将将RHE L7 安装光盘放入光驱安装光盘放入光驱步骤步骤2:执行以下挂载和查询命令执行以下挂载和查询命令:rootdyzx#mount /dev/cdrom /mntrootdyzx#rpm -qlp /mnt/Packages/ppp-2.4.5-33.el7.x86_64.rpm/省略全部显示行第第22 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一2 安装、删除、升级安装、删除、升级RPM软件包软件包选项选项功能说明功能说明-i在当前系统中安装在当前系统中安装(install)一个新的一个新的RPM软件包软件包-v显示安装过程中较详细显示安装过程中较详细(verbose)的安装信息的安装信息,有助于了解安装是否成功有助于了解安装是否成功及出错原因及出错原因-h在安装或升级过程中在安装或升级过程中,以以hash记号记号(“#”)显示安装的进度显示安装的进度-e删除删除(erase)指定名称的已安装的软件包指定名称的已安装的软件包-U升级升级(upgrade)安装安装,先卸载旧版先卸载旧版,再安装新版软件包再安装新版软件包,若指定的若指定的rpm包并包并未安装未安装,则系统直接进行安装则系统直接进行安装-force强制安装指定的软件包。
当需要替换现已安装的软件包及文件、或者强制安装指定的软件包当需要替换现已安装的软件包及文件、或者安装一个比当前使用的软件版本更旧的软件时安装一个比当前使用的软件版本更旧的软件时,可以使用此参数可以使用此参数-nodeps在安装、升级或删除一个软件包时在安装、升级或删除一个软件包时,不检查与其他软件包的依赖关系不检查与其他软件包的依赖关系安装:rpm -ivh 软件包文件全路径名软件包文件全路径名 -force-nodeps删除:rpm -e 软件包名软件包名升级:rpm -Uvh 软件包文件全路径名软件包文件全路径名 -force-nodeps第第23 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-7】安装安装ppp软件包rootdyzx#rpm -ivh /mnt/Packages/ppp-2.4.5-33.el7.x86_64.rpmrootdyzx#rpm -q pppppp-2.4.5-33.el7.x86_64【例例6-8】删除ppp软件包例例6-9】升级samba(若旧版本为samb-4.2.3-5.el7.x86_64.rpm)软件包。
rootdyzx#rpm -e ppprootdyzx#rpm -Uvh /mnt/Packages/samba-4.4.4-9.el7.x86_64.rpm 第第24 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-10】以本地光盘为软件仓库创建以本地光盘为软件仓库创建yum源源,并利用该并利用该yum源安装源安装httpd软件包步骤步骤1:将将RHEL7安装光盘放入光驱安装光盘放入光驱(参见例参见例6-6)步骤步骤2:设置在系统启动时自动将光驱中的设置在系统启动时自动将光驱中的RHEL7系统映系统映像文件挂载到像文件挂载到/media目录步骤步骤3:用用yum-config-manager命令生成一个命令生成一个yum源的源的模板文件模板文件cdrom.repo步骤步骤4:将自动生成的模板文件将自动生成的模板文件/etc/yum.repos.d/cdrom.repo编辑如下编辑如下:rootdyzx#vim /etc/yum.repos.d/cdrom.repocdrom/软件仓库的标识,全局唯一,不可重复name=RHEL7.3/软件仓库的描述信息,原则上可以随便描述baseurl=file:/media/软件仓库(yum源)的位置,即本地光盘挂载路径enabled=1/此仓库是否开启。
1”表示开启;“0”表示关闭gpgcheck=1/是否校验GPG签名,“1”表示校验,“0”表示不校验gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release第第25 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一步骤步骤5:导入公钥文件导入公钥文件,以校验以校验GPG签名签名(用来验证要安装用来验证要安装的包是不是的包是不是RedHat官方的官方的)查看系统中所有的查看系统中所有的yum资资源库配置信息源库配置信息rootdyzx#rpm -import /etc/pki/rpm-gpg/*rootdyzx#yum repolist步骤步骤6:清除旧有的yum源缓存重新缓存本地光盘yum源中的软件包信息rootdyzx#yum clean allrootdyzx#yum makecache步骤步骤7:验证yum源是否可用下面使用命令行安装httpd服务软件包如下:rootdyzx#yum -y install httpd第第26 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一命令功能yum install-y 包名安装指定的软件包,若选-y则在工作过程中需要使用者响应,这个参数可以直接回答yesyum update-y 包名升级指定的软件包或主机中所有已安装的软件包yum remove-y 包名卸载已经安装在系统中的指定的软件包yum provides 文件名查找指定的文件属于哪个包;yum info 包名查看指定软件包的详细信息yum repolist all查看系统中yum资源库配置信息yum search 模糊包名查看模糊包名的软件包yum grouplist查看仓库里面所有包组yum groupinfo 包组名查看指定包组里面的详细信息yum groupinstall 包组名查看指定包组里面的所有包yum list all列出仓库里所有可安装的软件包yum list installed 包名列出已经安装的所有的或指定的rpm包(包名中可使用匹配符)yum clean packages|all清除下载到本机的指定的软件包或所有软件包的yum源缓存第第27 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一命令功能说明systemctl status 服务名称.service查看指定服务的详细信息systemctl is-active 服务名称.service查看指定服务当前是否启动systemctl is-enabled 服务名称.service查看指定服务在开机时是否自动启动systemctl list-unit-files -type=service查看所有已安装的服务及其开机时是否启动的状态systemctl list-units -type=service查看所有已启用(正在运行)的服务systemctl list-units -type=service -all查看所有活动和不活动的服务状态信息systemctl -failed -type=service仅查看已失败的服务第第28 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-11】查询查询sshd服务的状态信息。
服务的状态信息rootdyzx#systemctl status sshd sshd.service-OpenSSH server daemon Loaded:loaded(/usr/lib/systemd/system/sshd.service;enabled;vendor preset:enabled)Active:active(running)since 三 2016-12-07 15:03:05 CST;1h 1min ago Docs:man:sshd(8)man:sshd_config(5)Process:1122 ExecStart=/usr/sbin/sshd$OPTIONS(code=exited,status=0/SUCCESS)Main PID:1158(sshd)CGroup:/system.slice/sshd.service 1158/usr/sbin/sshd 12月 07 15:03:04 systemd1:Starting OpenSSH server daemon.12月 07 15:03:05 sshd1158:Server listening on 0.0.0.0 port 22.12月 07 15:03:05 systemd1:PID file/var/run/sshd.pid not reada.t.12月 07 15:03:05 sshd1158:Server listening on:port 22.12月 07 15:03:05 systemd1:Started OpenSSH server daemon.Hint:Some lines were ellipsized,use-l to show in full.第第29 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-12】查看查看sshd、iptables和和telnet-server三个服务的三个服务的当前运行状态当前运行状态,并查看在开机时是否随系统的启动而启动。
并查看在开机时是否随系统的启动而启动rootdyzx#systemctl is-active sshd fcoe telnet-serveractive/表明sshd服务正在运行inactive/表明fcoe服务对应的软件包已安装但未运行unknown/表明telnet-server服务对应的软件包还未安装root dyzx#systemctl is-enabled sshd fcoe telnet-serverenabled/表明sshd服务开启了在系统启动时自动启动disabled/表明fcoe服务未开启在系统启动时自动启动Failed to get unit file state for telnet-server.service:No such file or directory关键字描 述关键字描 述Loaded服务已经被加载,显示单元文件绝对路径,标志单元文件可用static无法启用,但可以由某一启用的单元自动启动enabled将在系统启动时启动disabled不会在系统启动时启动active(runing)正在通过一个或多个持续进程运行active(exited)已成功完成一次性配置Active(waiting)运行中,但正在等待事件inactive服务未运行Main PID与进程名字一致的PID,主进程PIDProcess相关进程的附件信息Status服务的附件信息CGroup进程的CGroup信息表表6-9 常见的服务状态关键字常见的服务状态关键字第第30 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一设置服务的运行环境设置服务的运行环境(或运行级别或运行级别)命令功能说明runlevel查看当前的运行环境(或运行级别)systemctl get-default查看默认的运行环境(即开机启动进入的环境或运行级别)systemctl set-default graphical.target 设置默认的运行环境,使系统在下次启动后自动进入图形界面systemctl set-default multi-user.target 设置默认的运行环境,使系统在下次启动后自动进入字符界面systemctl isolate graphical.target或:systemctl isolate runlevel5.target在不重启系统的情况下,进入多用户的图形界面运行环境systemctl isolate multi-user.target或:systemctl isolate runlevel3.target在不重启系统的情况下,进入多用户的字符界面运行环境systemctl emergency|进入紧急运行环境systemctl suspend进入救援运行环境【例例6-13】查看当前运行环境和开机后自动进入的运行环境rootdyzx#runlevelN 5rootdyzx#systemctl get-defaultgraphical.target第第31 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一 控制服务的运行状态控制服务的运行状态命令功能说明systemctl start 服务名称.service启动指定的服务systemctl restar 服务名称.service重新启动指定的服务systemctl reload 服务名称.service重新加载运行中指定服务的配置文件systemctl try-restart 服务名称.service仅当服务运行的时候重启服务systemctl stop 服务名称.service停止指定的服务systemctl mask 服务名称.service彻底禁用指定的服务,使其无法手动启动或在系统启动时自动启动(一旦服务停止,则无法再启动,必须通过unmask解除禁用后方可再启动)systemctl unmask 服务名称.service对指定的服务解除屏蔽(使它能启动)systemctl kill 服务名称.service杀掉正在运行的指定服务systemctl enable 服务名称.service设置指定的服务在开机启动时自动启动systemctl disable 服务名称.service 设置指定的服务在开机启动时禁止启动第第32 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-14】重新加载重新加载httpd网站服务网站服务,使修改过的网站使修改过的网站配置文件能立即生效配置文件能立即生效,并设置并设置httpd服务在开机时能服务在开机时能自动启动。
自动启动root dyzx#systemctl reload httpd.serviceroot dyzx#systemctl enable httpd.serviceroot dyzx#systemctl is-enabled httpd.serviceenabled重启服务虽然可以让配置生效重启服务虽然可以让配置生效,但但restart是先关闭服务是先关闭服务,再开启服务再开启服务,这样会对客户端的访问造成中断影响这样会对客户端的访问造成中断影响,而使而使用用reload重新加载配置文件使其生效重新加载配置文件使其生效,不影响在线用户不影响在线用户的访问第第33 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一ss(Socket Statistics,套接字统计)命令可以显示各类协议、各种状态的套接字信息,从而有效跟踪服务运行状态(如服务是否启动)和服务端与客户端的连接状态,其一般格式为:ss 选项选项选项作用选项作用-a显示所有(侦听中和已建立的)的套接字-t只显示TCP传输协议的套接字-u只显示UDP传输协议的套接字-l只显示处于侦听状态的套接字-p显示使用套接字的进程信息,包括启动该服务的程序名称、进程号等-s显示按协议统计信息。
默认显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6的统计信息-e显示详细的套接字信息(包含了以太网的统计信息),此选项可以与-s选项组合使用-m显示套接字的内存使用情况-n不解析服务名称,以数字方式显示-r将输出信息中的IP解析到主机名后再显示-4显示IPv4的套接字信息-6显示IPv6的套接字信息第第34 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-15】以数字方式查看所有TCP协议连接情况其操作如下:rootdyzx#ss -atnStateRecv-QSend-QLocal Address:Port Peer Address:Port LI STEN 0 50*:139*:*LISTEN 05192.168.122.1:53*:*LISTEN 0128*:22*:*LISTEN 0128 127.0.0.1:631*:*LISTEN 0 50*:445*:*LISTEN 050:139:*LISTEN 0128:80:*/省略若干行在上面的输出结果中,从左至右共有5个字段,各字段的含义如下:State表示连接状态(共11种),如:LISTEN(表示服务端的socket处于监听状态,可以接受客户端的连接请求)、ESTABLISHED(表示服务端与客户端的连接已经建立)。
Recv-Q从远程主机传送过来的数据已经在本地接收缓冲,但是还没有被进程取走的字节数Send-Q表示对方没有收到的数据或者说没有应答Ack的字节数Local Address:Port表示本地地址和服务端口,默认显示主机名和服务名称,使用选项-n后显示主机的IP地址和端口号,若为“*”表示“所有”、若为“:”表示所有IPv6接口、若为“:1”表示IPv6回环接口loPeer Address:Port表示与本机连接的远程主机的地址和端口,默认显示主机名和服务名称,使用选项-n后显示主机的IP地址及端口号第第35 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-16】查看所有的TCP端口和使用它们的进程rootdyzx#ss -tnapState Recv-Q Send-Q Local Address:Port Peer Address:PortLISTEN 0 128*:111 *:*users:(systemd,pid=1,fd=41)LISTEN 0 5192.168.122.1:53*:*users:(dnsmasq,pid=1330,fd=6)LISTEN 0 128*:22*:*users:(sshd,pid=1185,fd=3)LISTEN 0 128 127.0.0.1:631*:*users:(cupsd,pid=1126,fd=12)LISTEN 0 100 127.0.0.1:25*:*users:(master,pid=1271,fd=13)LISTEN 0 128:111:*users:(systemd,pid=1,fd=40)LISTEN 0 128:22:*users:(sshd,pid=1185,fd=4)LISTEN 0 128:1:631:*users:(cupsd,pid=1126,fd=11)LISTEN 0 100:1:25:*users:(master,pid=1271,fd=14)第第36 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-17】查看服务器中当前已经连接、关闭、等待的tcp连接及连接的分类统计。
rootdyzx#ss -sTotal:1443(kernel 1861)TCP:22(estab 0,closed 1,orphaned 0,synrecv 0,timewait 0/0),ports 0Transport TotalIP IPv6 1861-RAW 1 0 1 /原始套接字(允许对较低层次的协议直接访问的套接字)的数量UDP 29 22 7/UDP协议套接字的数量TCP 21 11 10/TCP协议套接字的数量INET 51 33 18/网络通信套接字(即以上三类套接字)的总量FRAG 00 0/使用的IP地址段数量第第37 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一ps命令是Linux系统中最为常用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照其命令的一般格式为:ps 选项选项常用的选项及含义如下:-a显示当前终端所有(all)用户的进程(包括其他用户的)u使用以用户(user)为主的格式输出进程信息u 用户名显示特定用户的进程x显示当前用户没有控制终端的进程l使用长(long)格式显示进程信息。
w宽行显示,可以使用多个w进行加宽显示e显示系统内的所有(every)进程(包括用户进程、没有控制终端系统进程)信息f使用完整(Full)的格式显示进程信息注意:选项带前缀“-”和不带前缀“-”是有区别的第第38 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-18】仅显示当前终端的活动进程rootdyzx#psPID TTY TIME CMD 3054 pts/0 00:00:00 bash 3147 pts/0 00:00:00 ps【例例6-19】以完整的输出格式显示系统中的所有进程rootdyzx#ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 13:57?00:00:03 /usr/lib/systemd/systemd-swiroot 2 0 0 13:57?00:00:00 kthreaddroot 3 2 0 13:57?00:00:00 ksoftirqd/0/省略若干行第第39 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一【例例6-20】显示指定用户(如nobody)的进程。
rootdyzx#ps -lu nobodyF S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD5 S 99 1575 1 0 80 0 -3886 poll_s?00:00:00 dnsmasq【例例6-21】查看各个进程占用CPU及内存等情况rootdyzx#ps auxUSER PID%CPU%MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.1 0.4 125816 4600?Ss 13:57 0:04 /usr/lib/systemd/systroot 2 0.0 0.0 0 0?S 13:57 0:00 kthreaddroot 3 0.0 0.0 0 0?S 13:57 0:00 ksoftirqd/0/省略若干行nobody 1575 0.0 0.0 15544 900?S 13:57 0:00 /sbin/dnsmasq/省略若干行第第40 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一上述各例返回的结果是以列表形式出现的上述各例返回的结果是以列表形式出现的,列表中主要字段列表中主要字段的含义如下的含义如下:USER启动该进程的用户名,即进程所有者的用户名。
UID进程所属的用户ID,在当前系统中是唯一的PID(Process ID)该进程在系统中的标识号(ID号)PPID进程的父进程标识号CPU该进程占用的CPU使用率MEM该进程占用的物理内存和总内存的百分比TTY表明该进程在哪个终端上运行,“?”表示为未知或不需要终端VSZ/VIRT占用的虚拟内存(swap空间)的大小(单位是KB)RSS/RES占用的固定内存(物理内存)的大小(单位是KB)SHR进程使用的共享内存的大小(单位是KB)COMMAND/CMD启动该进程的命令的名称列中的信息用括起来则说明该进程为内核线程(kernel thread),一般以k开头第第41 页页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理2022年年11月月14日星期一日星期一TIME实际使用实际使用CPU的时间STIME进程的启动时间进程的启动时间TIME进程启动后占用的总的进程启动后占用的总的CPU时间时间(CPU使用时间的累加使用时间的累加)STAT/S进程当前的状态进程状态主要有进程当前的状态进程状态主要有A(活动的活动的)、T(已停止已停止)、Z(已取消已取消)等等;对于内核进程主要状态有对于内核进程主要状态有R(正在运行正在运行)、S(休眠休眠)、s(父进父进程程)、T(已停止已停止)、Z(僵死或死锁僵死或死锁)、echo Hello World /tmp/date.txt/输。