LINUX : 红帽软件包管理器,YUM仓库
2016-11-21 11:31
239 查看
红帽软件包管理器(RPM)
为了解决管理员在校验、安装、卸载、查询、升级等管理软件操作时难度大且繁琐的问题。RPM原称为“Redhat Package Manager”,因其卓越的优势很快被公众认可,目前使用范围也已不局限在红帽系统中了,由于其性能突出,在开源界得到了各大Linux发行厂商的认同,被推崇为公认的行业标准RPM会建立统一的数据库文件,详细的记录软件信息并能够自动分析依赖关系,颇有一些“软件控制面板”的感觉。常用操作
安装软件:rpm -ivh filename.rpm升级软件:rpm -Uvh filename.rpm
卸载软件:rpm -e –nodeps filename.rpm
查询软件的信息:rpm -qa | grep filename
rpm -qa | grep java //查询java 相关包的信息
rpm -e --nodeps javapackages-tools-3.4.1-5.el7.noarch //直接卸载
[b]安装:[/b]
rpm {-i|–install} [install-options] PACKAGE_FILE…
-v: 显示安装过程信息
-h: 以# 显示程序包管理执行进度
rpm -ivh file-package //安装包
[b]升级/更新:[/b]
rpm {-U|–upgrade} [install-options] PACKAGE_FILE …
rpm {-F|–freshen} [install-options] PACKAGE_FILE …
upgrade :安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”
rpm -U PACKAGE_FILE //
freshen :安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作
rpm -F PACKAGE_FILE //
[b]查询:[/b]
rpm {-q|–query} [select-options] [query-options] [select-options]
-a: 所有已经安装的软件包
-p:对尚未安装的程序包文件进行查询,需要加上-p选项
rpm -qa | grep java //查询安装了java 相关名称的包
更细节的使用可以用 man rpm 来进行查询。
RPM 能帮助我们查询软件间的依赖关系,但大多数的问题还得我们自己解决。
yum软件仓库
Yum仓库则是为进一步简化RPM管理软件难度而设计的,Yum能够根据用户的要求分析出所需软件包及其相关依赖关系,自动从服务器下载软件包并安装到系统,用来替代RPM 非常好用。类似于 java 中的MAVEN仓库。[b]安装:[/b]
yum install package1 [package2] […] 注意:这里用的是软件包名,不是软件包的文件名
yum reinstall package1 [package2] […] 重新安装
–nogpgcheck :禁止进行gpg check 校验(设置gpgcheck=1 在这是yes会让yum检查每个下载的RPM的GnuPG签名。这么做是因为你需要适当的GnuPG key注册到RPM数据库。可以防止被欺骗,如:非法入侵发行版网站,木马导入软件包,使不知情用户下载)
-y: 自动回答为“yes”
-q :静默模式
–noplugins :禁用所有插件
example: yum install httpd -y
[b]升级/降级/卸载 程序包:[/b]
yum update [package1] [package2] […] 升级/更新
yum downgrade package1 [package2] […] 降级
yum remove | erase package1 [package2] […] 卸载
[b]检查可用升级:[/b]
yum check-update
[b]搜索:[/b]
yum search string1 [string2] […] 以指定的关键字搜索程序包名及summary 信息
[b]显示仓库列表:[/b]
yum repolist [all|enabled|disabled]
[b]显示程序包:[/b]
yum list
yum list [all | glob_exp1] [glob_exp2] […]
yum list {available|installed|updates} [glob_exp1][…]
[b]清理本地缓存:[/b]
yum clean [ packages | metadata | expire-cache |rpmdb | plugins | all ]
[b]构建缓存:[/b]
yum makecache
YUM仓库配置:
yum仓库主要分为两部分,一部分是rpm软件包,一部分是yum配置文件repodata。可以将两者放在一个目录,当然为了便于管理,我们还是建议两者分开。
第一步,创建目录结构。那么首先我们创建一个yum仓库的目录centos,如果你同时为多个版本(如centos6和7)提供yum源,那么可以在centos目录下分别创建目录(目录6和7),然后分别创建yum仓库;如果只是为单一版本提供yum源,可以直接在centos目录创建yum仓库,我们这里以centos7为例。进入到要创建yum仓库的目录,创建一个软件包的存放目录Packages(名称可以自己定义)。
第二步,获取rpm软件包。rpm软件包,可以从光盘、官方网站、第三方获取,或自己制作rpm软件包,把我们获取到的rpm软件包移到Packages目录下。
第三步,创建配置文件。当以上步骤准备就绪以后,我们就可以使用createrepo命令来创建yum仓库的配置文件repodata了。命令格式如下:
createrepo [/PATH/TO/REPODATA] [/PATH/TO/RPM_PACKAGES/]
createrepo centos/7 centos/7/Packages
在redhat上创建yum仓库时也类似,例如新加一个光盘中的YUM库:
1. 将光盘上的内容挂载在 任意目录下,例如 /media/cdrom
2. 然后 在*.repo 文件中指定本地YUM库的路径为 file:///media/cdrom,再配置上其他参数
至此,我们的yum仓库服务端已经配置好了,当然,如果你想通过网络为更多的人提供yum源服务,那就需要配置ftp或http web服务了,只需要将我们配置好的yum仓库放置在我们提供服务的相应目录里即可。
YUM客户端的配置
yum客户端的配置文件在/etc/yum.repos.d/目录中,有的系统会提供官方的yum源,有的系统则没有,需要自己设置。
例如配置一个redhat的本地源:
[rhel7] #这个是yum仓库的ID,名称可以自己定义,但在系统中需要是唯一的,不能重复 name=rhel7 #这个是yum仓库的描述信息,可以没有 baseurl=file:///media/cdrom #这个是yum源repodata父目录的位置,有本地file://或网络ftp://或http://三种形式 enabled=1 #这个说明对于安装的软件是否要进行校验,1为校验,0为不校验 gpgcheck=0 #该项指明该仓库是否可用,1为可用,0为不可用
当配置好本地客户端以后,使用yum clean all命令清理一下yum缓存,这样我们就可以使用yum仓库了。
参考文章
http://www.178linux.com/57835
相关文章推荐
- linux 搭建yum仓库
- Linux怎么进行Yum软件仓库配置
- Linux 制作ftp远程yum仓库
- linux下yum常用方法及本地yum仓库的搭建
- Linux程序包管理之yum仓库、源码编译安装
- createrepo createrepo是linux下的创建仓库的软件包。create是创建的意思,repo是repository的缩写,是仓库的意思。 yum(Yellowdog Updater,
- linux通过挂载系统光盘搭建本地yum仓库的方法
- 实验 配置linux的IP 子网掩码 网关和创建YUM仓库
- Linux-测试环境构建本地YUM全类型仓库(Base,Extras,epel)
- linux软件包管理——YUM仓库配置与使用
- linux建立yum仓库
- linux之yum--yum的总览,安装,使用以及yum仓库repo的配置
- linux 搭建yum仓库
- linux系统管理之ip配置、yum本地仓库搭建、密码破解
- 【转】linux之自建yum仓库
- Linux配置yum仓库,部署FTP
- Linux中yum手动安装、手动建立仓库文件夹关联实现关联包自动安装、yum相关命令使用
- linux杂谈(九):yum仓库
- Linux系统搭建yum仓库
- linux通过挂载系统光盘搭建本地yum仓库的方法