大数据讲课笔记1.7 软件包管理器RPM与yum

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据讲课笔记1.7 软件包管理器RPM与yum相关的知识,希望对你有一定的参考价值。

文章目录

零、学习目标

  1. 能使用软件包管理器RPM查看、安装、更新、删除软件
  2. 能使用软件包管理器yum查看、安装、更新、删除软件

一、导入新课

  • 在Linux系统上安装软件,利用软件包管理器可以简化操作。本次课程我们要学习两种软件包管理器:RPM和yum。

二、新课讲解

(一)使用RPM软件包管理器

  • RPM(Redhat Package Manager )是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。rpm 命令遵循GPL协议且功能强大的包管理,它可以建立、安装、请求、确认、和卸载软件包。间接地提升了Linux 的易用性。

1、RPM安装软件包

(1)安装单个rpm软件包

  • 语法格式:rpm -ivh package_name
任务:利用RPM安装JDK8u221
  • 下载JDK8u221的rpm软件包
  • 链接:https://pan.baidu.com/s/1fYKNNM02GBh-cOUuajkBIg 提取码:yg53
  • 上传JDK8u221的rpm软件包到虚拟机/opt目录
  • 执行命令:rpm -ivh jdk-8u221-linux-x64.rpm
  • 执行命令:java -version,查看JDK版本

(2)安装多个多个rpm包

  • 语法格式:rpm -ivh package_name1, package_name2, package_name3(允许使用通配符*

(3)安装网络上的rpm包

  • 语法格式:rpm -ivh http://website.name/path/pkgname.rpm

2、RPM 更新与升级软件包

(1)RPM更新软件包

  • 语法格式:rpm -Uvh <package_name>
  • 采用选项-Uvh,后面接的软件,如果原本未安装,则直接安装,原本已安装时,则直接升级
任务:将JDK8u221更新到JDK8u231
  • 上传JDK8u231的rpm软件包到/opt目录
  • 将JDK8u221升级到JDK8u231(-U: Update),执行命令:rpm -Uvh jdk-8u231-linux-x64.rpm
  • 执行命令:java -version,查看目前JDK版本
  • 查看JDK8u231安装位置

(2)RPM升级软件包

  • 语法格式:rpm -Fvh <pacakge_name>
  • 采用选项-Fvh,后面接的软件,如果原本未安装,则不会安装,原本已安装时,则直接升级
  • 将JDK8u231卸载,执行命令:rpm -e jdk1.8-1.8.0_231-fcs.x86_64
任务:升级安装JDK8u231
  • 采用-Fvh升级方式来安装JDK8u231
  • 大家可以看到,根本没有安装JDK8u231。
  • 如果要安装JDK8u231,可以有两种安装方式:(1)-ivh;(2)-Uvh,之前我们已经采用-ivh方式安装过JDK8u221,现在我们采用-Uvh方式安装JDK8u231。

3、RPM查询软件包

(1)RPM 查询原理

  • RPM在查询时,其实查询的地方是在/var/lib/rpm 这个目录下的数据库文件。

(2)查询选项参数说明

选项参数作用描述
-q(query)仅查询,后面接的软件名称是否有安装
-qa(query all)列出所有已经安装在本机Linux系统上的软件名称
-qi(query information)列出该软件的详细信息,包含开发商、版本和说明等
-ql(query list)列出该软件所有的文件与目录所在完整文件名
-qc(query config)列出该软件的所有配置文件
-qd(query description)列出该软件的所有说明文件
-qR(query relation)列出和该软件有关的相依软件所含的文件
-qf(query file)由后面接的文件名,找出该文件属于哪一个已安装的软件
-qp(query preview)查询某个RPM 文件内含有的信息

(3)实战练习

任务1、采用参数-q进行查询
  • 执行命令:rpm -q jdk1.8-1.8.0_231-fcs.x86_64
  • 如果查询的软件已安装,那么显示该软件的全名,否则显示:未安装软件包 XXX(英文版:package XXX is not installed)
任务2、采用参数-qa进行查询
  • 查询已安装的RPM软件的前五个和最后五个
  • 查询某个或某些已安装的rpm软件
任务3、采用参数-qi进行查询
  • 查询已安装的JDK8u231的详情,执行命令:rpm -qi jdk1.8-1.8.0_231-fcs.x86_64
任务4、采用参数-ql进行查询
  • 查询已安装的JDK8u231的文件列表,但是文件实在太多,只抓取前10个
  • 执行命令:rpm -ql jdk1.8-1.8.0_231-fcs.x86_64 | head -10
任务5、采用参数-qc进行查询
  • 查询已安装的JDK8u231的配置文件,执行命令:rpm -qc jdk1.8-1.8.0_231-fcs.x86_64
任务6、采用参数-qR进行查询
  • 查询已安装的JDK8u231所依赖的软件,执行命令:rpm -qR jdk1.8-1.8.0_231-fcs.x86_64
任务7、采用参数-qf进行查询
  • 查询文件/usr/java/jdk1.8.0_231-amd64/man/man1/xjc.1属于哪一个已安装的软件
  • 执行命令:rpm -qf /usr/java/jdk1.8.0_231-amd64/man/man1/xjc.1
  • 说明:-qf参数后面接的文件名一定是安装的原始路径,如果再将它拷贝到其它位置,则无法判断该文件属于那个软件。

4、RPM卸载软件包

(1)命令格式

  • rmp -e # e: erase(删除)

(2)操作实例

任务:卸载已安装的JDK8u231
  • 执行命令:rpm -e jdk1.8-1.8.0_231-fcs.x86_64
  • 执行命令:java -version,就会报错

(二)使用yum软件包管理器

1、yum客户端

  • 客户端每次使用yum调用install或者search的时候,都会去解析/etc/yum.repos.d下面所有以.repo结尾的文件,这些配置文件指定了yum服务器的地址。
  • 执行命令:ll /etc/yum.repos.d

2、yum服务器端

  • 所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布。
  • yum服务器只要提供简单的下载就可以了,ftp或者httpd的形式都可以。
  • yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。
  • 在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张"清单",这张"清单"就是描述每个rpm包的spec文件中信息。

3、yum命令说明表

操作命令
安装软件yum install XXX
yum -y install XXX
搜索软件yum search XXX
列出软件yum list
查询软件yum info XXX
更新软件yum update XXX
卸载软件yum remove XXX

4、yum命令实战练习

任务1、安装java

  • 执行命令:yum -y install java
  • 执行命令:java -version,查看JDK版本

任务2、搜索java

  • 执行命令:yum search java

任务3、列出java

  • 执行命令:yum list | grep java

任务4、查询java

  • 执行命令:yum info java-1.8.0-openjdk.x86_64

任务5、更新java

  • 执行命令:yum update java

任务6、卸载java

  • 执行命令:yum -y remove java

三、归纳总结

  • 回顾本节课所讲的内容,并通过提问的方式引导学生解答问题并给予指导。

四、上机操作

  • 形式:单独完成
  • 题目:使用rpm和yum软件包管理器
  • 要求:按照讲课笔记要求完成,记录操作过程,写一篇CSDN博客

课堂练习1

  • 下载jdk-8u231-linux-x64.rpm
  • 利用rmp安装jdk的rpm包
  • 编写Java程序,功能是显示“Hello RPM”
  • 利用rpm卸载jdk

课堂练习2

  • 利用yum安装jdk
  • 编写Java程序,功能是显示“Hello yum”
  • 利用yum卸载jdk

以上是关于大数据讲课笔记1.7 软件包管理器RPM与yum的主要内容,如果未能解决你的问题,请参考以下文章

2022年大数据基础讲课笔记

2022年大数据基础讲课笔记

大数据与云计算学习计划 云计算系统管理 6 Linux中RPM软件包管理操作 Yum软件包仓库操作(概念与实操)

运维笔记10 (Linux软件的安装与管理(rpm,yum))

软件包管理RPM与YUM

Linux软件安装与卸载