您的位置:首页 > 大数据

大数据笔记05:软件包管理RPM与yum

2018-02-24 21:52 549 查看
第5天——打包压缩与软件包管理(RPM,yum)
一、利用RPM查看、安装、更新、删除软件二、利用yum查看、安装、更新、删除软件
一、利用RPM查看、安装、更新、删除软件RPM(Redhat Package Manager )是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。rpm 命令遵循GPL协议且功能强大的包管理,它可以建立、安装、请求、确认、和卸载软件包。间接地提升了Linux 的易用性。
如果采用手动方式配置了虚拟机的IP地址,要让虚拟机上外网,还得配置DNS Servers。


在终端重启网络服务:[root@localhost Desktop]# service network restart
在虚拟机上打开浏览器,访问百度:


预备工作:1、在虚拟机上下载lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm访问http://rpm.pbone.net,在SEARCH文本框里输入lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm:






问:下载的文件lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm在哪里?


这样处理一下:
在/home目录里创建software目录,将/root/Downloads/lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm拷贝到/home/software里。


补充说明:可以利用wget命令下载网络资源。(1)下载lrzsz[root@localhost software]# wget ftp://ftp.icm.edu.pl/vol/rzm6/linux-mandriva/official/2011/x86_64/media/main/release/lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm

(2)下载JDK9[root@localhost software]# wget http://download.oracle.com/otn-pub/java/jdk/9+181/jdk-9_linux-x64_bin.rpm?AuthParam=1506466602_896987d9409fb845bf9c1038a2c470b4

2、安装lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm[root@localhost software]# rpm -ivh lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm


3、利用rz命令上传文件到虚拟机




rz:从本机到虚拟机;sz从Linux虚拟机到本机

1、rpm安装(1)安装单个rpm包rpm -ivh package_name(2)安装多个rpm包rpm -ivh a.i386.rpm b.i386.rpm *.rpm(3)安装网上某个位置rpm包rpm -ivh http://website.name/path/pkgname.rpm
[root@localhost software]# rpm -ivh ftp://ftp.icm.edu.pl/vol/rzm6/linux-mandriva/devel/cooker/x86_64/media/main/release/lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm

任务:将jdk-8u111-linux-x64.rpm从本机拷贝到虚拟机中


JDK安装到哪里了?[root@localhost software]# rpm -qa | grep jdk[root@localhost software]# rpm -qi jdk1.8.0_111-1.8.0_111-fcs.x86_64


通过-qc参数,查看JDK的配置文件位置。


说明:usr目录有点类似于Windows里的Program Files目录。
没有配置环境变量,也可以发布java -version命令:


安装了JDK,应该配置环境变量文件/etc/profile添加如下内容:JAVA_HOME=/usr/java/jdk1.8.0_111CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=$PATH:$JAVA_HOME/binexport JAVA_HOME CLASSPATH PATH


进入末行模式,输入:wq,存盘退出。


让环境配置文件生效:source /etc/profile


编写、编译、执行Java程序Hello.java[root@localhost software]# vim Hello.java


编译与执行:


说明:下载的rpm文件并不一定能安装成功,因为它有可能要依赖其它的rpm软件包。
大家去访问Oracle官网,查看JDK8的最新更新次数。


2、RPM 升级与更新(1)rpm -Uvh <package_name>-Uvh后面接的软件如果没有安装过,系统会直接安装,若后面接的软件安装过但版本较旧,则更新至新版。
任务:将刚才我们安装的JDK8u111更新到JDK8u144。
首先利用wget下载JDK8u144:[root@localhost part1]# wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm?AuthParam=1506474531_b7e9c770abd1d2055ed9c4e45234d1ce


改名:


然后将JDK8u111升级到JDK8u144:




此时,JDK升级成功!!!


说明:JDK8u111升级到JDK8u144,并不是简单的替换,而是两个版本的软件都在,只是latest指向的是升级之后的版本。
(2)rpm -Fvh <pacakge_name>-Fvh如果后面接的软件并未安装到Linux系统上,则该软件不会被安装,只有已安装的软件才会被升级。
3、RPM查询(1)RPM 查询原理rpm在查询的时候,其实查询的地方是在/var/lib/rpm/ 这个目录下的数据库文件。


(2)rpm查询已安装软件的选项与参数-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[icdlR]:(query preview)查询某个RPM 文件内含有的信息。注意-qp后面接的所有参数与上面的说明一致。但用途仅在于找出某个RPM 文件内的信息,而非已安装的软件信息。
(3)实战练习参数-q:

如果查询的软件已安装,那么显示该软件的全名;如果查询的软件没安装,那么显示“package XXX is not installed”。
参数-qa:查询所有安装RPM软件的前五个:

查询某个或某些已安装的rpm软件:



参数-qi:查询已安装的jdk1.8.0_144的详情:


参数-ql:查询已安装的jdk1.8.0_144的文件列表:

文件实在太多,只抓取了最后几个文件:


参数-qc:查询已安装的jdk1.8.0_144的配置文件:


参数-qR:查询已安装的jdk1.8._144所依赖的软件:


参数-qf:查询文件/usr/java/jdk1.8.0_144/man/man1/wsgen.1属于哪一个已安装的软件:




说明:-qf参数后面接的文件名一定是安装的原始路径,如果再将它拷贝到其它位置,则无法判断该文件属于那个软件。
参数-qp[icdlR]:
首先下载zoneminder-1.30.4-4.fc27.x86_64.rpm[root@localhost software]# wget ftp://mirror.switch.ch/pool/4/mirror/rpmfusion/free/fedora/development/27/Everything/x86_64/os/Packages/z/zoneminder-1.30.4-4.fc27.x86_64.rpm



查看zoneminder-1.30.4-4.fc27.x86_64.rpm软件的信息:


查看zoneminder-1.30.4-4.fc27.x86_64.rpm软件的配置文件:


4、rpm卸载软件包(1)命令格式rmp -e <package-name> # e: eliminate(消除)(2)操作实例任务:卸载已安装的JDK8u111。


二、利用yum查看、安装、更新、删除软件1、yum客户端运行机制客户端每次使用yum调用install或者search的时候,都会去解析/etc/yum.repos.d下面所有以.repo结尾的文件,这些配置文件指定了yum服务器的地址。


在/etc/yum.repos.d目录里有四个基本的repo文件。
我们先看看第一个repo文件CentOS-Base.repo:


•[base] :代表容器的名字,中括号是必须带的,里面名字可以自定义,但不能有两个相同的名字,否则yum找不到相关的软件列表•name:软件名称-版本号•mirrorlist:镜像列表(下载软件的网址列表)•baseurl:软件的基地址(http://mirror.centos.org/centos/$releasever/os/$basearch/) $releasever:版本号(比如:6) $basearch:操作系统位数(比如:i386,x86_64)•gpgcheck:gpg验证是否开启,1是开启,0是不开启;“开启”会让yum检查每个下载的RPM的GnuPG签名。这么做是因为你需要适当的GnuPGkey注册到您的RPM数据库。可以防止被欺骗,如:非法入侵发行版网站,木马导入软件包,使不知情用户下载。•gpgkey:数字证书公钥文件所在位置








选择x86_64(64位操作系统):


重要内容:如何让yum支持hadoop分布式软件安装?
(1)查看当前系统中yum支持的所有软件包中是否存在hadoop
利用 yum search hadoop命令:

或者利用 yum list | grep hadoop


表明当前系统中yum支持的软件包中不存在hadoop。
(2)如果想要当前系统的yum支持hadoop软件包,需要在本地/etc/yum.repos.d下创建cloudera-cdh5.repo文件,保存hadoop对应的repo配置,而具体的配置信息可使用:http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo


[cloudera-cdh5]# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 6 x86_64name=Cloudera's Distribution for Hadoop, Version 5baseurl=https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5/gpgkey=https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera gpgcheck=1
进入/etc/yum.repos.d目录:[root@localhost ~]# cd /etc/yum.repos.d
发布命令vim cloudera-cdh5.repo,把上述内容粘贴进去。

存盘退出:

查看cloudera-cdh5.repo的内容:


(3)再次查看系统yum是否有支持hadoop的软件包




访问:http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5/


进入RPMS:

noarch/ # 对系统没有要求x86_64/ #64位操作系统
进入x86_64,里面有很多与Hadoop相关的软件包:


2、yum服务器端所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布。yum服务器只要提供简单的下载就可以了,ftp或者httpd的形式都可以。yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张"清单",这张"清单"就是描述每个rpm包的spec文件中信息。
3、创建本地yum源检查本机是否有web服务器,如没有则安装[root@localhost~]# rpm -qa | grep httpd创建本地web服务:yum install httpd安装yum自带工具:yum install yum-utils createrepo在/var/www/html/ 下,执行reposync -r cloudera-cdh5通过http://ip:port/项目名来访问本地yum源最后修改/etc/yum.repos.d/xxx.repo文件中的baseurl,换成本地地址
4、使用yum命令(1)安装软件:yum install XXX


(2)搜索软件:yum search XXX
(3)列出软件:yum list | grep XXX
(4)查询软件信息:yum info XXX
(5)更新软件:yum update XXX
(6)卸载软件:yum remove XXX
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: