大数据笔记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
一、利用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
相关文章推荐
- 运维笔记10 (Linux软件的安装与管理(rpm,yum))
- 运维笔记10 (Linux软件的安装与管理(rpm,yum))
- Linux学习笔记-----RPM包管理----yum在线管理之使用setup配置IP
- 软件管理——rpm、yum分别对Linux系统的软件信息查看、安装和管理等操作
- 软件包管理:rpm和yum
- Linux的软件安装管理 deb rpm yum atp-get
- Linux软件包管理{rpm|yum|源码包}2015082901
- rpm软件包管理,YUM以及源码编译安装
- 软件包管理 rpm yum apt-get dpkg
- Linux软件包管理(YUM、RPM、源代码包、脚本安装)
- 三维软件开发笔记---项目数据管理升级+坐标轴简单标注
- Ubuntu 操作系统学习笔记之软件包管理-RPM
- 软件包管理RPM及YUM
- Linux: 软件包管理之rpm与yum [转]
- 软件包管理之rpm与yum
- linux笔记05(软件包管理和文件的压缩与解压)
- Linux学习笔记12-RPM软件管理
- chapter23:软件安装RPM,SRPM与YUM之(4)-管理的选择,是RPM还是Tarball
- Linux软件管理-RPM和YUM作用与关系
- apt rpm dpkg yum等软件包管理工具