Linux操作系统应用实战 课件 项目7 Linux软件安装和管理_第1页
Linux操作系统应用实战 课件 项目7 Linux软件安装和管理_第2页
Linux操作系统应用实战 课件 项目7 Linux软件安装和管理_第3页
Linux操作系统应用实战 课件 项目7 Linux软件安装和管理_第4页
Linux操作系统应用实战 课件 项目7 Linux软件安装和管理_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

项目7

Linux软件安装和管理任务1使用yum安装软件任务2使用源码编译安装软件项目导入在Linux早期安装软件是一件痛苦的事。因为大部分的服务程序仅仅提供编译源码,需要运维人员自行编译代码并解决许多依赖问题。幸好Linux开发人员已经通过把软件打包成更易于安装的预编译包,我们的生活以此舒适了一些。但是多少还是得花费时间安装软件包,尤其是准备从命令行下安装的时候。职业能力目标和要求1.了解RPM提供的功能2.了解YUM相对于RPM所具有的优点3.了解源代码安装软件包4.掌握通过RPM安装及管理软件包5.掌握通过YUM安装及管理软件包6.掌握wget进阶,下载软件7.掌握解压缩方法项目7Linux软件安装和管理使用yum安装软件任务1任务介绍任务1河北唐讯信息股份有限公司的服务器通过前面学习的内容,不断地改进,现在已经高效稳定的运行了。但是Linux作为网络操作系统,必然要承载各类常用的网络服务,例如Web服务Nginx、FTP服务、DNS服务等,而且这些服务一般需要手动安装到服务器,所以掌握系统常用的服务类软件的安装对于管理员来说是非常重要的。系统管理员小李将使用两种或以上方式安装telnet-server服务。任务分析任务1要实现在Linux服务器上安装一款服务,可以分以下几个步骤:步骤一:确定安装的软件服务及版本步骤二:确定安装路径或者是默认路径步骤三:通过yum进行安装任务准备:7.1.1RPM任务1目前RPM已经成为Linux各发行版本中应用最广泛的软件包格式之一。RPM软件包的名称具有特定的格式,其格式为:软件名称版本号(包括主版本和此版本号)软件运行的硬件平台.rpmRPM可以提供很多功能:安装、卸载:可以安装或卸载相关软件包升级:可对单个软件包进行升级,而保留用户原有的配置查询:可以针对整个软件包的数据或是某个特定的文件进行查询,也可以方便得查出某个文件属于哪个软件包。检查依赖关系:检查软件包是否存在依赖关系,避免由于不兼容而被系统拒绝安装。任务准备:7.1.1RPM任务1安装软件:CentOS8使用rpm命令实现对RPM软件包进行维护和管理,由于rpm命令的功能十分强大,因此rpm命令的参数选项也特别多,通过shell命令行中输入rpm命令,可以查看其用法提示,其中详细列出了该命令的全部参数选项。任务准备:7.1.1RPM任务1【实例7-1】rpm使用案例(1)查询系统中已安装的全部RPM软件包[root@localhost~]#rpm-qa|less(2)根据关键字查询[root@localhost~]#rpm-qa|grepssh(3)安装RPM软件包[root@localhost~]#rpm-ivhhdparm-9.43-5.el7.x86_64.rpm(4)查询软件包中的文件列表[root@localhost~]#rpm-qlopenssh(5)卸载RPM软件包[root@localhost~]#rpm-ehdparm-9.43-5.el7.x86_64.rpm(6)升级RPM软件包[root@localhost~]#rpm-Uvhhdparm-9.43-5.el7.x86_64.rpm任务准备:7.1.2yum软件包管理器任务1Yum(yellowdogUpdater,Modified)是一个在CentOS中的shell前端软件包管理器。基于RPM包管理器,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且以此安装所有依赖的软件包,无须繁琐的一次次下载、安装。格式:yum[选项参数][软件包名]任务准备:7.1.2yum软件包管理器任务1yum常用选项任务准备:7.1.2yum软件包管理器任务1【实例7-2】yum使用案例(1)安装指定的安装包[root@localhost~]#yum-yinstalltelnet-server //安装telnet-server服务(2)更新指定程序包[root@localhost~]#yumupdateopenssh(3)显示安装包信息openssh[root@localhost~]#yuminfoopenssh(4)根据关键字查找安装包[root@localhost~]#yumsearchopenssh(5)删除程序[root@localhost~]#yumremovetelnet-server(6)清除缓存[root@localhost~]#yumcleantelnet-server任务准备:7.1.3DNF软件包管理器任务1DNF(DandifiedYum)是CentOS8中的默认软件包管理器。它是一种优化后的包管理器,用于安装、更新和删除软件包。DNF是为了替代老版本的Yum而开发的,旨在提供更快速、安全和可靠的软件包管理体验。DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用RPM,libsolv和hawkey库进行包管理操作。DNF的最新稳定发行版版本号是1.0,发行日期是2015年5月11日。这一版本的额DNF包管理器(包括在他之前的所有版本)都大部分采用Python编写,发行许可为GPLv2。任务准备:7.1.3网络连接配置任务1【实例7-3】DNF软件包管理器(1)查看dnf版本信息[root@localhost~]#dnf--version(2)查看系统中可用的DNF软件库[root@localhost~]#dnfrepolist(3)列出所有安装了的RPM包[root@localhost~]#dnflistinstalled(4)检查系统软件包的更新[root@localhost~]#dnfcheck-update(5)搜索软件库中的RPM包,例如搜索nano相关的软件包[root@localhost~]#dnfsearchnano任务准备:7.1.4本地源文件任务1本地源文件即本地yum源,说到本地源文件,就必须了解Linux系统中的特有的依赖关系问题,yum是为了解决依赖关系而存在的。而yum源就相当于是一个目录项,当我们使用yum机制安装软件时,如需要安装依赖软件,yum机制就会根据再yum源中定义好了的路径查找依赖软件,并将依赖软件安装好。本地yum源文件是指在本地搭建的一套yum软件仓库镜像,用于在内网环境中方便地管理和安装软件包。与从公网下载软件包相比,使用本地yum源文件可以节省带宽,提高软件包下载和安装的速度,同时也可以方便地控制软件包的版本和安全性,避免了从公网下载软件包的安全风险。任务准备:7.1.4本地源文件任务1Linux中这些文件存放在/etc/yum.repos.d/目录下,且这些源文件,后缀名均为.repo。我们打开一个yum源文件,查看内容[root@localhostyum.repos.d]#catCentOS-Sources.repo........[base-source] name=CentOS-$releasever-BaseSourcesbaseurl=/centos/$releasever/os/Source/gpgcheck=1enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7任务准备:7.1.4本地源文件任务1其中的[base-source]为yum的名称,起到标记yum源的作用;第二段name的内容,仅仅是对yum的描述,作用是使用户更容易读懂该文件;第三段baseurl的内容,是我们指定的查找依赖关系软件的路径,该路径可以是一个网址路径,也可以是本机上的一个路径;第四段gpgcheck表示是否进行gpg检测,0表示不进行,1表示进行,gpg检查就是在使用yum安装软件时对软件输入公钥进行验证,查看来源是否安全;第五段的enabled用于指定软件仓库是否启用,1为启用,0为不启用;最后一段的gpgkey表示进行gpg检查时,使用file协议导入公钥,后面接的就是系统自带的存放公钥的路径。任务准备:7.1.4本地源文件任务1【实例7-4】搭建本地yum源文件(1)挂载第一个光驱到/media/cdrom[root@localhostyum.repos.d]#mount/dev/sr0/media/cdrom/(2)新建一个以.repo结尾的文件[root@localhostyum.repos.d]#vimlocal.repo [local]name=localgpgcheck=0enabled=1baseurl=file:///media/cdrom(3)新建目录存放系统自带的源。[root@localhostyum.repos.d]#mkdir./centos-repo[root@localhostyum.repos.d]#mvCentOS-*./centos-repo/(4)创建yum缓存[root@localhostyum.repos.d]#yummakecache任务实施任务1(1)使用rpm安装telnet-server[root@localhost~]#rpm-qa|greptelnet[root@localhost/]#df-h //磁盘挂载/dev/sr04.2G4.2G0100%/media/cdrom[root@localhost/]#rpm-ivh/media/cdrom/Packages/telnet-server-0.17-64.el7.x86_64.rpm(2)使用yum安装telnet[root@localhost/]#mount/dev/sr0/media/cdrom/ //挂载磁盘[root@localhost/]#rpm-qa|grepyum //查看是否安装yum[root@localhostyum.repos.d]#catlocal.repo //搭建本地yum源[root@localhostyum.repos.d]#rpm-qtelnet-server //rpm查看是否安装[root@localhostyum.repos.d]#yum-yinstalltelnet-server //yum安装任务小结任务1(1)rpm更加基础和底层,yum则更加自动化和高级,能够方便地自动处理软件依赖关系,从远程仓库下载软件包,并安装或升级软件包。(2)Yum基于RPM包管理,能够从指定的服务器自动下载RPM包并且自动安装,可以自动处理依赖性。(3)RPM卸载时,最底层的软件不能先移除,否则会导致整个系统不可用。任务拓展任务1河北唐讯信息技术股份有限公司,现接维一个项目,需将一台服务器安装上Nginx服务,想将该服务作为负载均衡。现不确定如何去安装该服务,那么我们作为运维管理员,应如何去安装服务。项目7Linux软件安装和管理使用源码编译安装软件任务2任务介绍任务2河北唐讯信息技术股份有限公司近期项目中需要在测试环境中部署Web集群,尽管各种软件包管理工具看起来已经完美解决地解决了Linux下软件安装的问题,但有时候不得不求助于最原始的方法从源代码编译。系统管理员小李发现一些软件开发商出于各种原因,并没有提供二进制软件包,或者只为某个特定地发行版提供了这种软件包,这样源码编译安装软件就成了唯一地方法,且一些企业内出于特殊需求的考虑,需要修改某些软件的源代码,这些经过修改的软件必须重新编译。小李准备将nginx安装在指定目录下,方便后续需要修改容易找到,同时完成一些常用配置。任务分析任务2为满足公司项目中方便自行调整增加删除参数的需求,采用源码安装的方式,具体可以分为以下几个步骤步骤一:找到相关软件的源码包步骤二:解压缩源码步骤三:编译源码步骤四:安装源码任务准备:7.2.1wget下载软件任务2在Linux下,wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。wget格式:wget[选项参数]URL任务准备:7.2.1wget下载软件任务21、wget命令选项:任务准备:6.2.1网络会话任务21、nmcil命令常用命令:nmcliconnectionshow显示所有连接nmcliconnectionshow-active显示所有活动的连接状态nmcliconnectionshow“ens33”显示网络连接配置nmcliconnectionstatus显示设备状态nmclideviceshowens33显示网络接口属性nmcliconnectionaddhelp获取帮助nmcliconnectionreload重新加载配置nmcliconnectiondowntest禁用test的配置,一个网卡可以有多个配置nmcliconnectionuptest启动test配置nmclidevicedisconnectens33禁用ens33网卡,物理网卡Nmclideviceconnectens33启用ens33网卡。任务准备:7.2.1wget下载软件任务2(1)下载整个http或者ftp站点wget.hk/?hl=zh_CN(2)断点续传wget-c.hk/?hl=zh_CN(3)批量下载如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件local.txt,然后用命令:wget-ilocal.txt(4)密码和认证wget只能处理利用用户名/密码方式限制访问的网站,可以利用两个参数:–http-user=USER设置HTTP用户–http-passwd=PASS设置HTTP密码【实例7-5】创建一个指定IP地址和网关的网络会话任务准备:7.2.2解压缩软件任务2在源码安装的过程中,源码一般都是经过打包的压缩包,想要进行后续操作,必不可少的是解压缩压缩文件也是一个文件和目录的集合,且这个集合也被存储在一个文件中,但它们的不同之处在于,压缩文件采用了不同的存储方式,使其所占用的磁盘空间比集合中所有文件大小的总和要小。无损压缩指数据必须准确无误;有损压缩指的是即便丢失个别的数据,对文件也不会造成太大的影响。有损压缩广泛应用于动画、声音和图像文件中,典型代表就是影碟文件格式mpeg、音乐文件格式mp3以及图像文件格式jpg。任务准备:7.2.2解压缩软件任务21.tar命令Linux中最常用的归档命令就是tar命令,这个命令可以将许多文件一起保存到一个单独的文件中,同时该命令也可以用于解压缩。使用tar命令归档的文件通常称之为tar包,文件以.tar结尾命令格式:tar[选项参数]源文件/目录任务准备:7.2.2解压缩软件任务21.tar命令选项:任务准备:7.2.2解压缩软件任务2【实例7-6】创建tar包用法:tar-cvftar包文件名备份的文件或目录[root@localhost/]#tar-cvfroot_user.tar/root/【实例7-7】创建压缩的tar包用法:tar-zcvf压缩的tar包文件名要备份的文件/目录[root@localhost/]#tar-zcvfroot_user.tar.gz/root/打包并压缩为.bz2格式的压缩包[root@localhost/]#tar-jcvfroot_user.tar.bz2/root/【实例7-8】查看TAR包中的文件列表用法:tar-t[z|j][v]ftar包文件名[root@localhost/]#tar-tfroot_user.tar任务准备:7.2.2解压缩软件任务2【实例7-9】释放tar包释放TAR包使用-x参数用法:tar-xvftar包文件名[root@localhost/]#tar-zxvfnginx-1.24.0.tar.gz若要释放bz2的同理将-z选项参数更换为-j即可

任务准备:7.2.3gcc简易任务22.zip命令与unzip命令zip文件是一个包含一个或多个文件的压缩档案。它作为一种无损数据压缩技术被广泛使用。由于压缩,它占用的磁盘空间更少,在计算机网络上传输时需要的数据也更少。选项:任务准备:7.2.3

gcc简易用法任务2gcc(GNU编译器集合),是一套由GNU开发的编程语言编译器。它是一套GNU编译器套装,是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。gcc原来作为GNU操作系统的官方编译器,现已被大多数类UNIX操作系统(Linux、BSD、MacOSX等)采纳为标准的编译器,gcc同样适用于微软的Windows。gcc是自由软件过程发展中的著名例子,由自由软件基金会GPL协议发布。gcc原名为GNUC语言编译器,因为他原来只能处理C语言,但后来得到扩展,可以处理C++,同时又可以处理Fortran、Pascal、Objective-C、Jave和Ada等语言任务准备:7.2.3

gcc简易用法任务2安装gcc:[root@localhost~]#mount/dev/sr0/media/cdrom/[root@localhost~]#cat/etc/yum.repos.d/dvd.repo[root@localhost~]#yumcleanall[root@localhost~]#yum-yinstallgcc【实例7-17】打印HelloWorld编写程序代码源码[root@localhost~]#cathello.c#include<stdio.h>intmain(void){ printf("HelloWorld\n");}任务准备:7.2.3

gcc简易用法任务2开始编译与测试运行[root@localhost~]#gcchello.c[root@localhost~]#llhello.ca.outrwxr-xr-x.1rootroot8440Jun1316:47a.out //会生成一个a.out文件[root@localhost~]#./a.out //执行该文件HelloWorld【实例7-18】以thanks.c去调用thanks_2.c[root@localhost~]#catthanks.cintmain(void){ printf("helloworld\n"); thanks_2(); //本行内容为调用子程序}任务准备:7.2.3

gcc简易用法任务2[root@localhost~]#catthanks_2.c#include<stdio.h>voidthanks_2(void){ printf("thankyou\n");}进行程序的编译与链接[root@localhost~]#llthanks*-rw-r--r--.1rootroot69Jun1316:54thanks_2.c-rw-r--r--.1rootroot1504Jun1316:55thanks_2.o //编译生成的文件-rw-r--r--.1rootroot78Jun1316:52thanks.c-rw-r--r--.1rootroot1560Jun1316:55thanks.o //编译生成的文件[root@localhost~]#llthanks*-rwxr-xr-x.1rootroot8560Jun1316:57thanks

//最终生成可执行文件任务准备:7.2.4编译安装python3任务2对于刚接触linux的人来说,源码安装很有必要,这样你可以知道自己在做什么,安装过程中,肯定会遇到很多很多的问题,遇到问题,解决问题。这样才会成长。接下来我们以编译安装python3为例1.获取python3的压缩包在网络中搜索查找python,找到其官网:/通过官网找到需要的特定版本,例如Python-3.10.11.tgz将该版本的下载页面的URL复制任务准备:7.2.4编译安装python3任务22.使用wget命令将其下载至Linux端[root@localhost~]#wget/ftp/python/3.10.11/Python-3.10.11.tgz

//下载Python-3.10.11.tgz3.将下载的压缩包解压缩到/root/python中[root@localhost~]#tar-xzvfPython-3.10.11.tgz-Cpython/[root@localhost~]#cdpython/Python-3.10.11/4.编译前的依赖安装[root@localhostPython-3.10.11]#yuminstallgccpatchlibffi-develpython-develzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel-y任务准备:7.2.4编译安装python3任务25.configure这一步一般用来生成Makefile,为下一步的编译做准备,可以通过在configure后面加上参数来对安装进行控制[root@localhostPython-3.10.11]#./configure--prefix=/usr/local/python3--enable-optimizations--with-ssl6.make这一步就是编译了,大多数的源代码包都经过这一步进行编译。如果在make过程中出现error,就要记下错误代码(注意不仅仅是最后一行),然后可以向开发者提交bugreport;make的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的Makefile设置文件提供相关的功能,比如makeinstall一般表示进行安装,makeuninstall是卸载,不加参数就是默认的进行源代码编译。任务准备:7.2.4编译安装python3任务2[root@localhostPython-3.10.11]#makeinstall-j2..........WARNING:Runningpipasthe'root'usercanresultinbrokenpermissionsandconflictingbehaviourwiththesystempackagemanager.Itisrecommendedtouseavirtualenvironmentinstead:https://pip.pypa.io/warnings/venv以上警告信息,需要把/usr/local/python3/bin/目录添加到系统环境变量即可[root@localhost~]#echo'exportPATH=$PATH:/usr/local/python3/bin'>>/etc/profile[root@localhost~]#source/etc/profile任务准备:7.2.4编译安装python3任务2[root@localhostPython-3.10.11]#makeinstall-j2..........WARNING:Runningpipasthe'root'usercanresultinbrokenpermissionsandconflictingbehaviourwiththesystempackagemanager.Itisrecommendedtouseavirtualenvironmentinstead:https://pip.pypa.io/warnings/venv以上警告信息,需要把/usr/local/python3/bin/目录添加到系统环境变量即可[root@localhost~]#echo'exportPATH=$PATH:/usr/local/python3/bin'>>/etc/profile[root@localhost~]#source/etc/profile任务实施任务21.在nginx官网/en/中找到nginx相对应的版本找到nginx官网中的稳定版本:/download/nginx-1

温馨提示

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

评论

0/150

提交评论