rpm软件包管理
指尖二进制 • 1 年前 • 732 次点击 • LINUX
RPM概述:RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、SUSE以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
[root@localhost ~]# ls /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
/mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
zsh | -5. | 0. | 2- | 28. | el7. | x86_64.rpm |
---|---|---|---|---|---|---|
软件名 | 主版本号 | 次版本号 | 修订 | elease(第几次发布版本) | 操作系统版本 | 软件包是64位包 |
修订指是的第几次修改bug。发布指的是:第几次发布。 发布时,可能只是对软件安装的默认参数做了修改,而没有其它改动。
安装rpm软件
RPM工具使用分为安装、查询、验证、更新、删除等操作
-i | 是install的意思,安装软件包 |
---|---|
-v | 显示附加信息,提供更多详细信息 |
-V | 校验,对已经安装的软件进行校验 |
-h | --hash 安装时输出####标记 |
rpm在安装和更新升级时,使用包的全名
rpm对已经安装过的软件包进行操作时,比如查找已经安装的某个包,卸载包等 ,使用包名。
它默认是去目录/var/lib/rpm下面进行搜索。当一个 rpm 包安装到系统上之后,安装信息通常会保存在本地的 /var/lib/rpm/目录下。
从本地下载安装
[root@localhost ~]# rpm -ivh /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
[root@localhost ~]# cat /etc/shells |grep zsh
/bin/zsh
网上下载直接安装centos epel扩展源
[root@localhost ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安装centos epel扩展yum源。 注:epel源是对centos7系统中自带的base源的扩展。base源可以理解位光盘的镜像
rpm查询功能
-a | 查询所有已安装的软件包 |
---|---|
-f | 系统文件名(查询系统文件所属哪个软件包),反向查询 |
-i | 显示已经安装的rpm软件包信息,后面直接跟包名 |
-l | 查询软件包中文件安装的位置 |
-p | 查询未安装软件包的相关信息,后面要跟软件的命名 |
-R | 查询软件包的依赖性 |
查询指定的包是否安装
[root@localhost ~]# rpm -q zsh
查询所有已安装包中带vim关键字的包
[root@localhost ~]# rpm -qa|grep vim
查看find命令的路径
[root@localhost ~]# which zsh
/usr/bin/zsh
[root@localhost ~]# rpm -qf /usr/bin/zsh
zsh-5.0.2-28.el7.x86_64
查询已经安装的rpm包的详细信息或作用
[root@localhost ~]# rpm -qi lrzsz
针对没有安装的RPM包,要加参数:-p
[root@localhost ~]# rpm -qpi /mnt/Packages/php-mysql-5.4.16-42.el7.x86_64.rpm
查看rpm安装后,将生成哪些文件
[root@localhost ~]# rpm -qpl /mnt/Packages/zip-3.0-11.el7.x86_64.rpm
rpm包卸载和升级
[root@localhost ~]# rpm -qa zsh
zsh-5.0.2-28.el7.x86_64
[root@localhost ~]# rpm -e zsh
[root@localhost ~]# rpm -qa zsh
参数:--nodeps 忽略依赖,建议在卸载时不要用rpm去卸载有依赖关系的包,应该用yum
[root@localhost ~]# rpm -e --nodeps lrzsz
因为升级时会有一些依赖包要解决。 所以一般我们使用yum update来升级。
[root@localhost ~]# rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
YUM的使用
yum(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记
YUM:解决依赖关系问题,自动下载软件包,它是基于C/S架构
C=client S=ftp\http\file
[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Media.repo
[centos7] #yum源名称,在本服务器上唯一的,用来区分不同的yum源
name=CentOS7 #对yum源描述信息
baseurl=file:///mnt #yum源的路径,提供方式包括FTP(ftp://...)、HTTP(http://...)、本地(file:///...光盘挂载目录所在的位置)
enabled=1 #为1,表示启用yum源;0为禁用
gpgcheck=0 #为1,使用公钥检验rpm包的正确性;0为不校验
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #指定进行rpm校验的公钥文件地址
网络yum源
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
get 下载文件 ,-O 将wget下载的文件,保存到指定的位置,保存时可以重新起一个名字,或者直接写一个要保存的路径,这样还用原来的文件名。
yum常用操作:
[root@localhost ~]# yum install -y httpd #安装软件包, -y 直接安装
[root@localhost ~]# yum -y update #升级软件包,改变软件设置和系统设置,系统版本内核都升级
[root@localhost ~]# yum -y upgrade #升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变
[root@localhost ~]# yum -y update #不加任何包,表示整个系统进行升级
[root@localhost ~]# yum info httpd #查询rpm包作用
[root@localhost ~]# yum provides /usr/bin/find #查看命令是哪个软件包安装的
[root@localhost ~]# yum -y remove 包名 #卸载包
[root@localhost ~]# yum search keyword #按关键字搜索软件包
yum安装开发工具软件包组
[root@localhost ~]# yum grouplist #查看有哪些软件包组
显示中文,如果想变成英文,则执行以一下命令
[root@localhost ~]# echo $LANG
zh_CN.UTF-8
[root@localhost ~]# LANG=en_US.UTF-8
[root@localhost ~]# yum grouplist
测试:
卸载开发工具软件组中的gcc包
[root@localhost ~]# yum remove gcc -y
安装开发工具软件包组,安装这组软件包时,把gcc再安装上了
[root@localhost ~]# yum groupinstall 'Development Tools' -y