版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PowerPointDesign2026年主讲人:时间:项目4安装管理软件使用包管理工具安装软件
使用源码编译安装软件0102目录CONTENTS
任务思维导图
使用包管理工具安装软件PowerPointDesign任务01(1)调查任务(2)调查目的调查任务和目的(1)任务背
(2)调查内容(3)分析影响(4)任务步骤(5)报告内容(6)报告格式具体任务要求(1)内容全面性(2)分析深度(3)结构与表达(4)创新性评价标准调查人工智能在生活中的应用(1)了解安装软件的两种方式。(2)掌握常用的RPM包管理工具。(3)掌握Systemd管理工具的主要功能。(4)掌握防火墙的功能。【知识目标】(1)能够使用dnf工具安装卸载软件。(2)能够配置防火墙的服务放行规则。【技能目标】(1)通过学习软件的安装和卸载,培养学生保持耐心和细致,确保每个步骤都能正确执行。(2)通过配置防火墙的服务放行规则,培养学生的安全敏感度,防范潜在的系统安全风险。【素养目标】学习目标在使用源码安装软件时,首先在软件官方网站或其他可靠来源下载源代码,然后再进行配置和编译等步骤,这个过程相对发杂,用户需要具备一定的Linux编译环境基础,还需要处理依赖关系、环境变量等问题。源码安装相比于源码安装,RPM(RedHatPackageManager)是一种预编译的二进制安装包格式,主要用于openEuler、RedHat、CentOS、Fedora等操作系统,软件开发者打包并编译了软件程序、所需的库、配置文件及元数据,用户通过管理工具可以直接安装RPM软件包,优点如下所示。简化安装过程:不需要自己编译源代码,直接安装预编译的软件包,安装过程更为简单。依赖管理:rpm文件中包含了软件的所有依赖关系,使用yum或dnf等包管理工具,能够自动处理依赖问题。易于卸载和更新:通过包管理工具,可以方便地卸载或更新软件,不需要手动管理文件和配置。RPM软件包安装RPM软件包的命名遵循一定的标准格式,确保包的版本、发布信息清晰规范,命名格式如下。<package-name>-<version>-<release>.<architecture>.rpm<package-name>:软件包的名称。例如nginx、httpd、kernel等。<version>:软件包的版本号,例如1.23.0等。<release>:软件包的发布号,用于区分不同发布版本。<architecture>:指软件包适配的硬件架构,x86_64适用于64位架构的包、i386或i686适用32位架构的包、armv7hl或aarch64适用于ARM架构的包、Noarch指不依赖于特定硬件架构的软件包,可以在任何架构的系统上安装和使用。.rpm:文件扩展名。如nginx-1.18.0-1.el8.x86_64.rpm,各部分内容解释如下。nginx:软件包名称1.18.0:版本号1.el8:发布号x86_64:适用于64位架构.rpm:RPM包格式。RPM软件包的格式通过RPM软件包方式安装软件时,首先要获取RPM软件包,通常包括网络获取和本地获取两种方式,通过网络获取的优点是软件的数量多、版本新,但安装速度受到网络速度影响,本地安装的优点是无需网络环境、安装速度快,缺点是需要提前将软件包下载到本地,软件更新不及时,在具备网络环境的情况下,建议采用网络安装方式。RPM软件包的获取方式安装软件的两种方式rpm是最基础的RPM包管理工具,直接操作RPM包文件。通过rpm命令,用户可以安装、卸载、查询和验证RPM包,常用命令如下,package指具体的软件包名称。rpm-ivh<package>:安装软件包rpm-e<package>:卸载软件包:rpm-q<package>:查询软件包rpm-qa:列出所有已安装的软件包。rpm-ql<package>:列出已安装软件包的文件列表rpm-qi<package>:查询已安装软件包的详细信息rpm-qf文件名:查询文件是由哪个软件包安装的。rpm包管理工具的缺点是无法解决软件包安装过程种的依赖问题,所以一般情况下,不使用这种方式安装软件,rpm命令通常用在软件安装后,查询软件包的相关信息。rpmyum是基于RPM的包管理工具,主要用于自动化安装、升级、卸载RPM软件包,并能自动解决软件包的依赖关系。yum能够从配置的仓库下载RPM包,简化了包管理过程,常用命令如下,package指具体的软件包名称。yuminstall<package>:安装软件包yumremove<package>:卸载软件包yumupdate<package>:升级软件包,不加package包名,表示升级所有软件包。yumupdatekernel:升级内核yumlistinstalled<package>:查询已安装的软件包yuminfo<package>:查询软件包的相信信息yum(YellowdogUpdater,Modified)DNF是YUM的现代化版本,主要用于openEuler、RHEL、CentOS、Fedora等Linux发行版上,相较于传统的YUM,DNF提供了多个优化和增强功能,主要体现在以下几个方面。①性能提升DNF在处理软件包的依赖和安装速度上,比YUM有显著提升。它通过改进的软件包解析和缓存管理机制,使得包管理的速度和效率得到了显著增强,尤其在处理大量包或复杂依赖时,DNF能够更快地完成操作。②依赖关系管理DNF采用了更加先进的库和算法来处理软件包之间的依赖关系。它能够更准确地分析和解决包的冲突、重复和缺失依赖问题,避免许多YUM中常见的依赖问题。③识别和解决错误DNF通过引入更细致的错误报告和日志功能,使得用户在软件包管理过程中遇到问题时,可以更容易地识别和解决错误。④更少的资源消耗DNF对系统资源的占用比YUM更低,特别是在长时间运行时,它能够更好地释放不再使用的资源,确保系统的整体性能。⑤简化的命令语法DNF的命令行接口比YUM更加简洁和直观,许多常用命令与YUM兼容,减少了学习和过渡的成本。此外,DNF提供了更多有用的选项和参数,使得用户在管理包时可以更加灵活和高效。⑥常用命令dnf的常用命令如下所示,package指具体的软件包名称。dnfinstall<package>:安装软件包dnfremove<package>:卸载软件包dnfupdate<package>:升级软件包,不加package包名,表示升级所有软件包。yumupdatekernel:升级内核yumlistinstalled<package>:查询已安装的软件包yuminfo<package>:查询软件包的相信信息在openEuler中,默认安装了DNF包管理工具,由于它比YUM功能更强,而且常用命令与YUM兼容,所以采用DNF包管理工具完成软件的安装和卸载等操作。dnf(DandifiedYUM)常用的RPM包管理工具在软件安装完成后,有些软件会作为一次性任务在前台执行。前台执行指的是用户启动软件后,程序直接在与用户交互的终端下运行,并与用户进行交互,直到程序执行完毕。另外,有些软件则需要作为系统服务在后台运行。后台运行指的是程序在启动后通常不与用户直接交互,且不会占用用户的终端或界面。即使程序完成了特定任务,它仍然持续在后台运行,提供服务。当软件作为后台服务运行时,通常需要使用管理工具来管理这些服务。systemd是现代Linux系统的初始化系统和服务管理工具,负责启动、停止和管理系统服务,它是许多Linux发行版使用的默认系统和服务管理工具,主要功能如下。(1)系统启动和初始化systemd负责在系统启动时初始化系统的各个部分,加载必要的内核模块,挂载文件系统,启动系统服务等。它是整个系统的启动过程的核心部分。(2)服务管理systemd使用单位文件来管理和控制服务,包括服务的启动、停止、重启等行为。(3)资源控制systemd提供了对服务的资源控制,如CPU、内存和磁盘I/O的限制,使管理员能够确保系统资源不会被某些进程或服务耗尽。(4)自动重启与故障恢复systemd提供了自动重启功能,如果服务崩溃或退出,它可以自动重启该服务。此外,systemd还支持服务的崩溃恢复策略,例如最大重启次数、延迟重启等配置。(5)并行化与延迟启动systemd可以根据需求延迟启动某些服务,某些服务可以在系统完全启动后延迟启动,节省启动时间。(6)安全性与沙箱systemd支持使用Linux安全模块等机制,它还可以将服务限制在独立的沙箱环境中,以减少潜在的安全风险。(7)常见命令。在日常运维工作中,通常使用systemd来管理服务,常用命令如下所示。systemctlstart<service>:启动某个服务。systemctlstop<service>:停止某个服务。systemctlrestart<service>:重启某个服务。systemctlstatus<service>:查看某个服务的状态。systemctlenable<service>:设置服务开机自启。systemctldisable<service>:禁用服务开机自启。systemctllist-units:列出所有正在运行的服务。Systemd管理工具的主要功能防火墙可以基于IP地址、端口号、协议等信息过滤流量,允许或拒绝特定的网络请求。①过滤网络流量通过防火墙,可以精细控制哪些IP、哪些端口可以访问后台服务,哪些不可以。这有助于降低暴露风险,尤其是在多用户系统中。②控制访问权限防火墙根据服务的名称(如HTTP、SSH等)来放行或限制访问,方便管理后台服务的安全性③管理应用服务防火墙可用于隔离不同网络区域(如内网与外网),限制流量的访问范围④实现网络隔离防火墙的主要功能1.使用网络仓库安装软件2.使用本地仓库安装软件
使用网络仓库安装软件(1)查看默认网络仓库配置安装openEuler操作系统后,在软件源配置目录/etc/yum.repos.d下,提供了基于网络的软件源配置文件,如下所示。[root@localhost~]#ls/etc/yum.repos.d/openEuler.repo从结果中发现,官方提供的软件源配置文件名称为openEuler.repo,使用cat打开文件,部分结果从结果中发现,openEuler.repo中配置了多个用于下载安装RPM软件包的仓库,包括OS、everything等,OS是主操作系统仓库,包含操作系统及核心软件包,everything仓库包含除操作系统之外的软件包,如应用程序、工具和其他额外软件,以OS仓库为例,解释配置中各行内容的含义,如下所示。①[OS]②name=OS③baseurl=/openEuler-24.03-LTS-SP2/OS/$basearch/④metalink=/metalink?repo=$releasever/OS&arch=$basearch⑤metadata_expire=1h⑥enabled=1⑦gpgcheck=1⑧gpgkey=/openEuler-24.03-LTS-SP2/OS/$basearch/RPM-GPG-KEY-openEuler(2)运维仓库①查看仓库通过dnfrepolist可以查看所有的仓库信息,结果从结果中发现,系统中共配置了7各仓库,显示了所有仓库的id标识和名称。②显示仓库详细信息使用dnfrepoinfo命令可以查看某个仓库的相信信息,查看OS仓库的相信信息,结果从结果中可以查看仓库的各种信息,在最后一行显示了仓库中包含2532个软件包。③添加仓库在添加仓库时,通常包括两种方法,一是在/etc/yum.repos.d目录下创建以.repo结尾的文件,将仓库的配置写入文件即可,此方法在使用本地仓库安装软件内容中介绍。第二种方法是使用dnfconfig-manager--add-repo命令,将仓库添加到系统中,如向系统中添加华为云的docker仓库④清空和更新缓存(3)安装软件①知道软件包名称在安装软件时,知道某个软件包的名称或者部分名称,可以通过dnflist命令查看仓库中包含该名称的软件包,如记得提供上传和下载功能的软件包名称中含有lrz内容,可以查看仓库中包含lrz的软件包②知道命令名称当忘记了某个软件包的名称,但记得软件包安装后能够执行的命令,也可以通过命令名称查询软件包的名称,如知道上传本地文件到服务器的命令是rz,但不知道安装哪个软件包才能提供rz命令,可以使用dnfprovides命令查询从结果中发现,提供rz命令的软件包名称为lrzsz-0.12.20-47.oe2403sp2.x86_64,知道软件包名称后,就可以执行安装操作了。(4)使用软件①上传文件②下载文件(5)卸载软件(1)配置本地仓库①临时挂载镜像文件②永久挂载光驱文件
(2)创建本地仓库(3)安装服务(4)启动关闭服务①启动服务②查看服务状态③重新加载配置④重启服务⑤停止服务(5)查看服务进程ps命令用于查看系统中当前进程的状态,可以显示有关进程的各种信息,例如进程ID、使用的资源、状态、命令等,常用的ps命令及选项用法如下。ps:显示当前终端下的所有进程。ps-u<用户名>:显示指定用户的所有进程。ps-aux:显示系统中所有用户的进程信息。ps-ef:显示所有进程,以完整格式输出。(6)查看服务端口号[root@localhost~]#dnfinstallnet-tools-y安装完成后,使用netstat命令查看网络连接状态,常用的选项如下。-n:以数字形式显示地址和端口号。-t:仅显示TCP连接,用于查看基于TCP协议的连接信息。-l:仅显示处于监听状态的连接,即显示正在等待连接的服务端口。-p:显示每个连接所对应的进程ID和程序名称。-u:仅显示UDP连接。用于查看基于UDP协议的连接信息。-a:显示所有的网络连接和监听的端口,包括TCP、UDP等所有连接状态。-r:显示路由表。使用网络仓库和本地仓库安装软件(1)防火墙移除http服务为验证基于端口号放行服务,首先在防火墙列表中移动http服务,命令如下。[root@localhost~]#firewall-cmd--remove-service=http--permanent#永久移除http服务success[root@localhost~]#firewall-cmd--reload#重启防火墙success[root@localhost~]#firewall-cmd--list-services#查看服务列表dhcpv6-clienthttpmdnsssh从结果中发现,http服务已经被成功移除了,此时浏览器已经无法正常访问网站了(2)放行服务httpd后台运行的服务监听的端口号是80,采用的是http协议,基于端口和协议放行的命令如下所示。[root@localhost~]#firewall-cmd--add-port=80/tcp--permanent#基于端口和协议永久放行success[root@localhost~]#firewall-cmd--reload#重启防火墙服务success重启完成后,再次访问网站,发现已经能够正常访问了。在后台运行的服务,默认情况下不能被客户端访问,这是因为服务还没有被防火墙放行,openEuler操作系统使用的防火墙是firewalld,配置防火墙中放行服务时,使用的命令是firewall-cmd,常用选项如下所示。--list-services:查看当前已放行的服务列表。--add-service:用于临时放行某个服务。--permanent:用于将更改应用为永久性的,防止重启后失效。--remove-service:移除已放行的服务。--add-port:如果服务没有预定义,通过端口号可以放行服务。--remove-port:移除已放行的特定端口。--reload:重新启动防火墙,使配置生效。(1)放行http服务首先查看防火墙放行的服务列表,如下所示。[root@localhost~]#firewall-cmd--list-servicesdhcpv6-clientmdnsssh通过结果发现,防火墙默认只放行了dhcpv6-client、mdns、ssh等3个服务,放行httpd等提供网站的服务时,放行服务的名称为http,将http服务永久加入到防火墙,命令如下。[root@localhost~]#firewall-cmd--add-service=http--permanentsuccess返回“success”结果,说明已经添加成功了。(2)重启防火墙放行了http服务之后,需要重新启动防火墙,命令如下。[root@localhost~]#firewall-cmd--reloadsuccess完成后,再次查看防火墙的放行列表,如下所示。[root@localhost~]#firewall-cmd--list-servicesdhcpv6-clienthttpmdnsssh发现http服务已经存在防火墙放行服务的列表了。(3)访问网站打开浏览器,访问地址,返回结果从结果中发现,已经能够成功访问服务器上运行的网站服务了。1.基于服务名称放行2.基于端口和协议放行配置防火墙放行服务规则调查任务和目的具体任务要求评价标准(1)调查任务(2)调查目的(1)任务背
(2)调查内容(3)分析影响(4)任务步骤(5)报告内容(6)报告格式(1)内容全面性(2)分析深度(3)结构与表达(4)创新性(1)调查任务(2)调查目的(1)任务背
(2)调查内容(3)分析影响(4)任务步骤(5)报告内容(6)报告格式(1)内容全面性(2)分析深度(3)结构与表达(4)创新性调查人工智能在生活中的应用(1)打开“智能运维助手”智能体打开“智能运维助手”智能体,在连接大语言模型和openEuler服务器之后,在“问题输入”提示框中输入问题:“使用dnf卸载httpd软件,从防火墙中移除tcp的80端口。”,输入完成后,单击“提问”按钮,大语言模型返回命令到终端输出,结果(2)执行命令单击“执行命令”按钮,执行返回的命令,结果1.卸载httpd软件(1)输入问题在“问题输入”提示框中输入问题:使用dnf安装nginx软件,启动nginx服务并设置为开机自启动,将http服务永久添加到防火墙中”,输入完成后,单击“提问”按钮,大语言模型返回命令到终端输出,结果(2)执行命令单击“执行命令”按钮,执行返回的命令,结果(3)验证结果打开浏览器,访问,返回结果验证完成后,为方便下个任务的实践,关闭Nginx服务,如下所示。[root@localhost~]#systemctlstopnginx&&systemctldisablenginx#关闭nginx服务。将http服务移除防火墙,如下所示。[root@localhost~]#firewall-cmd--remove-service=http--permanent#永久移除http服务success[root@localhost~]#firewall-cmd--reload#重启防火墙success
2.安装nginx软件使用智能体安装卸载软件使用源码编译安装软件PowerPointDesign任务02(1)调查任务(2)调查目的调查任务和目的(1)任务背
(2)调查内容(3)分析影响(4)任务步骤(5)报告内容(6)报告格式具体任务要求(1)内容全面性(2)分析深度(3)结构与表达(4)创新性评价标准调查人工智能在生活中的应用(1)掌握源码安装软件的应用场景。(2)掌握源码安装软件的步骤。【知识目标】(1)能够下载并解压缩源码文件。(2)能够配置环境并编译安装软件。【技能目标】(1)通过学习下载并解压缩源码文件,培养学生细致的工作态度和解决问题的能力。(2)通过学习配置环境和编译安装软件,培养学生从整体角度思考问题的系统思维。【素养目标】学习目标相比二进制RPM包安装,源码安装具有灵活性和可配置性,适用于以下几种应用场景。(1)需要安装特定版本或开发版本当软件的稳定版本无法满足需求,或者需要安装某个特定的开发版本时,源码安装是不可替代的。很多开源项目会发布源代码并允许开发者选择安装最新的功能或修复问题。通过源码安装,用户可以直接获取某个特定版本的代码,进行编译并安装,这对于开发者调试、测试新特性或者修复漏洞尤为重要。(2)没有现成的二进制包或软件包不兼容在某些特定的操作系统或平台上,软件包管理器提供的二进制包可能无法满足需求,尤其是一些冷门的系统或特殊环境。对于一些未被广泛支持的操作系统,没有现成的预编译二进制包,用户可以通过源码安装方式来手动编译并安装软件,以确保软件能在系统中正常运行。(3)定制需求采用源码安装时,在安装过程中可以根据实际需求定制软件的功能。用户可以选择启用或禁用特定功能,调整软件的性能参数,甚至修改某些功能的实现方式。这对于需要特别配置的软件环境,如数据库、开发框架等非常重要。(4)系统资源的优化需求在一些高性能计算、嵌入式系统或特殊硬件环境中,用户往往需要对软件进行精细化优化。源码安装允许用户根据自己的硬件环境调整编译参数,优化软件性能,满足用户对性能和效率的严格要求。(5)开源项目或学习需求开源社区的很多项目都提供了源码安装方式,这为开发者、学生或研究人员提供了良好的学习平台。通过源码安装,用户不仅可以安装和使用软件,还能深入了解其内部结构和实现原理。这对于学习编程、系统架构或特定技术领域的原理非常有帮助。源码安装软件的应用场景源码安装软件和通过包管理器安装相比,过程更为复杂,但也提供了更多的灵活性与可定制化。通常涉及以下几个步骤。(1)获取源码获取源码是安装的第一步,通常可以从软件的官方网站、GitHub等开源仓库下载到源代码。软件的发布页面会列出不同版本的下载链接,下载时要确保获取的版本是自己需要的。(2)解压源码源码文件一般会以压缩包(如.tar.gz、.zip等)等形式提供,需要通过解压缩命令将源码解压,解压完成后,得到包含源码文件、配置文件、文档的目录。(3)安装依赖编译源码时,软件通常依赖一些特定的库或工具,这些依赖会在项目的文档中详细列出。常见的依赖工具包括编译工具(如GCC、Clang)、库文件(如OpenSSL、zlib)等,依赖的安装是确保源码编译成功的关键步骤,用户可以通过包管理工具安装这些依赖。源码安装软件的步骤(4)配置环境使用源码安装时,通常会运行./configure命令来配置编译环境,作用是检查系统是否具备编译该软件所需的库、工具和权限。./configure会检测环境并生成相应的Makefile配置文件,这个文件指定了编译的具体过程。在配置过程中,用户可以通过不同选项定制安装路径或启用特定功能。如./configure--prefix=/usr/local用来指定安装路径,./configure--enable-optimizations用来开启性能优化。(5)编译源码配置完成后,用户可以使用make命令进行源码编译。make会根据生成的Makefile文件依次执行编译操作,通常包括源代码的编译、链接库的生成等过程。这个过程可能会根据项目的大小和复杂度而耗费一定时间。在编译过程中,如果出现编译错误,可能是依赖缺失或环境配置问题,需要根据错误信息调试。编译完成后会生成可执行文件或其他所需文件。(6)安装软件编译完成后,通过执行makeinstall将编译好的软件安装到系统中,makeinstall会将生成的可执行文件、库文件等复制到系统的标准路径下,如/usr/local/bin、/usr/local/lib等。安装完成后,用户可以直接在命令行中运行软件。源码安装软件的步骤必备知识wget工具用于从网络上下载文件,支持HTTP、HTTPS和FTP协议,在wget命令后加上文件的地址,即可将文件下载到本地,使用-O选项可以重命名下载的文件。(1)安装tar工具①归档压缩文件tar命令可以制作归档或压缩文件,也可以解压缩文件,当制作归档或压缩文件时,常用选项如下。-c:创建一个新的归档文件。-v:显示详细输出,列出正在处理的文件。-f:指定归档文件名。-z:通过gzip压缩归档文件。-j:通过bzip2压缩归档文件。-J:通过xz压缩归档文件。②解压缩文件当使用tar命令解压缩文件时,常用的选项如下。x:解压归档文件。z:使用gzip解压缩。j:使用bzip2解压缩(针对.tar.bz2文件)。J:使用xz解压缩(针对.tar.xz文件)。v:显示详细输出,列出解压的文件。f:指定要解压的归档文件。C:指定解压目录下载源码和解压缩源码在openEuler上通过源码安装Nginx时,需要安装一些依赖项,包括gcc编译器和pcre-devel、zlib-devel、openssl-devel开发库等,pcre-devel、zlib-devel、openssl-devel是常见的开发库,许多软件在实现正则表达式匹配、数据压缩、加密和安全通信时会调用这些库。使用dnf包管理器安装这些依赖首先进入解压后的源码目录nginx-1.28.0,如下所示。[root@localhost~]#cdnginx-1.28.0然后运行./configure命令配置Nginx的编译环境,作用如下。检查系统环境(包括库文件、依赖项和编译器等)确定是否满足Nginx编译所需各种依赖(如pcre-devel、zlib-devel、openssl-devel等)配置编译
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年肠神经官能症诊疗试题及答案(消化内科版)
- 2026年小程序开发委托合同协议
- 翻译专业资格三级笔译试题及答案
- 泰州市专职消防员招聘面试题及答案
- 太原市教师招聘考试题及答案
- 综合行政执法队日常管理制度
- 宿迁市教师招聘笔试题及答案
- 小学科学天文知识试卷及答案
- 汽车维修试卷及答案
- 医学26年:男性不育内分泌评估 查房课件
- 总审计师评价制度
- 广东省广州市2026年中考一模英语试题附答案
- 2026校招:陕西投资集团面试题及答案
- 2025年郴电国际校园招聘74人笔试历年难易错考点试卷带答案解析
- 2025年上海铁路局24届笔试真题及答案
- DB45-T 2885-2024 生活无着的流浪乞讨人员接送返乡工作规范
- 养老院护士长培训课件
- 泵房日常安全培训课件
- 园林景观品质第三方评估(可编辑)
- 疥疮预防控制措施
- 2025年教育科技数字化校园建设方案
评论
0/150
提交评论