软件包管理工具的使用及yum源仓库的配置

   2016-11-07 0
核心提示:我们知道CentOS,本质上是RedHat的社区版,其无论是功能还是软件配置上都与RedHat保持一致,因此CentOs系列的软件包管理主要的也是rpm和yum工具。RPM包管理rpm包管理工具可以说是历史悠久、名声斐然了。rpm起初是RedHat公司研发的软件包管理工具,即RedHat Pa

我们知道CentOS,本质上是RedHat的社区版,其无论是功能还是软件配置上都与RedHat保持一致,因此CentOs系列的软件包管理主要的也是rpm和yum工具。

RPM包管理

rpm包管理工具可以说是历史悠久、名声斐然了。rpm起初是RedHat公司研发的软件包管理工具,即RedHat Package Managemer。但由于其性能突出,在开源界得到了各大Linux发行厂商的认同,被推崇为公认的行业标准,因此rpm也改为递归称呼RPM Package Manager。

虽然现在的标准CentOS系统都有yum可以使用,rpm工具似乎已经无用武之地,但作为yum利器的基础软件,在某些情况下还是很需要掌握的。尤其是当我们安装一个单独的外来rpm软件包的时候,直接使用rpm进行安装明显要好很多。

安装

rpm {-i|–install} [install-options] PACKAGE_FILE…

#尤其需要注意的是这里使用的是rpm包文件的全名

-v:  显示安装过程信息

-h:  以# 显示程序包管理执行进度

–test:  测试安装,但不真正执行安装;dry run 模式

–nodeps :忽略依赖关系

–replacepkgs | replacefiles :替换原来的安装包或文件

–nosignature:  不检查来源合法性

–nodigest :不检查包完整性

–noscripts :不执行程序包脚本

升级/更新

rpm {-U|–upgrade} [install-options]  PACKAGE_FILE …

rpm {-F|–freshen} [install-options]   PACKAGE_FILE …

upgrade :安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”

freshen :安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作

–oldpackage :降级

–force : 强制安装

注意:在Linux下同一软件的不同版本可以共存,这在某些情况下是非常方便的,尤其是当需要在某个软件的两个版本之间进行频繁切换的时候。另外!!!生产环境中,针对系统内核一定要谨慎升级,可以重新安装,让两个版本的内核并存,避免新内核不稳定造成严重影响。

查询

rpm {-q|–query} [select-options] [query-options] [select-options]

-a:  所有已经安装的软件包

-f:  查看系统上指定的文件由哪个程序包安装生成

-p:对尚未安装的程序包文件进行查询,需要加上-p选项

–whatprovides CAPABILITY :查询指定的CAPABILITY由哪个包所提供

–whatrequires CAPABILITY :查询指定的 CAPABILITY 被哪个包所依赖

–changelog :查询rpm 包的changelog

-c:  查询程序的配置文件

-d:  查询程序的文档

-i: information

-l:  查看指定的程序包安装后生成的 所有文件

scripts :程序包自带 的脚本

-R|–requires:  查询指定的程序包所依赖的 CAPABILITY

–provides:  列出指定程序包所提供的 CAPABILITY

卸载

rpm {-e|–erase}[–allmatches][–nodeps][–noscripts][–notriggers][–test] PACKAGE_NAME…

校验

rpm {-V|–verify} [select-options] [verify-options]  对安装后的软件进行校验

校验结果各字符的含义:

S  文件大小发生改变

M  Mode 改变(包括权限和文件类型)

5  MD5校验发生改变

D  设备号不匹配

L  readLink(2) 路径不匹配

U  User 信息发生改变

G  Group 信息发生改变

T  mTime 改变

P  capabilities 发生改变

rpm -K|checksig rpmfile 软件包文件的校验,需要提前导入密钥文件

rpm –import / etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

YUM管理工具

使用过yum的人,信息都不想再继续用rpm来进行软件的安装,最主要的原因就是yum很好的解决了软件安装过程中的包依赖关系,让软件的安装不再那么“痛苦”,尤其是当我们在安装过程中被各种依赖搞得焦头烂额却仍然无法搞定的时候,一条yum命令却可以轻松解决。这么神奇的工具是如何实现的呢?

YUM: Yellowdog Update Modifier,是Yellowdog公司开发出来的rpm前端程序,能够很好的解决软件包安装过程中的相互依赖关系。Yum是构建在rpm基础之上的,所以没有rpm,yum也是无法使用的。要想更好的使用yum,需要进行提前配置的(系统默认已经进行配置,我们也可以根据自己需要进行修改),yum的配置主要分为客户端和服务端(在后面部分会讲解相关配置)。

安装程序包:

yum install package1 [package2] […]  注意:这里用的是软件包名,不是软件包的文件名

yum reinstall package1 [package2] […]  重新安装

–nogpgcheck :禁止进行gpg check

-y:  自动回答为“yes”

-q :静默模式

–noplugins :禁用所有插件

升级程序包:

yum update [package1] [package2] […]

yum downgrade package1 [package2] […]   降级

检查可用升级:

yum check-update

卸载程序包:

yum remove | erase package1 [package2] […]

安装及升级本地程序包:

yum localinstall rpmfile1 [rpmfile2] […]   ( 用install 替代)

yum localupdate rpmfile1 [rpmfile2] […]  ( 用update 替代)

包组管理的相关命令:

yum groupinstall group1 [group2] […]

yum groupupdate group1 [group2] […]

yum grouplist [hidden] [groupwildcard] […]

yum groupremove group1 [group2] […]

yum groupinfo group1 […]

查看程序包information: :

yum info […]  查看指定的特性(可以是某文件)由哪个程序包所提供:

yum provides | whatprovides feature1 [feature2][…]

搜索:

yum search string1 [string2] […] 以指定的关键字搜索程序包名及summary 信息

查看指定包所依赖的capabilities: :

yum deplist package1 [package2] […]

查看yum 事务历史:

yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

yum history

yum history info 6

yum history undo 6

显示仓库列表:

yum repolist [all|enabled|disabled]

显示程序包:

yum list

yum list [all | glob_exp1] [glob_exp2] […]

yum list {available|installed|updates} [glob_exp1][…]

清理本地缓存:

yum clean [ packages | metadata | expire-cache |rpmdb | plugins | all ]

构建缓存:

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

至此,我们的yum仓库服务端已经配置好了,最终的目录结构如下图。是不是感觉很简单呢?当然,如果你想通过网络为更多的人提供yum源服务,那就需要配置ftp或http web服务了,只需要将我们配置好的yum仓库放置在我们提供服务的相应目录里即可。

软件包管理工具的使用及yum源仓库的配置

YUM客户端的配置

yum客户端的配置文件在/etc/yum.repos.d/目录中,默认系统已经提供了大部分的官方网络yum源配置,当然大家也可以使用我们自己配置的yum源。这里需要我们创建一个以.repo结尾的配置文件,并编辑文件的内容,格式如下:

[CentOS7]

name=CentOS7 base repo

baseurl=file:///misc/cd/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS7

enabled=1

[CentOS7]  这个是yum仓库的ID,名称可以自己定义,但在系统中需要是唯一的,不能重复

name=  这个是yum仓库的描述信息,可以没有

baseurl=  这个是yum源repodata父目录的位置,有本地file://或网络ftp://或http://三种形式

gpgcheck=  这个说明对于安装的软件是否要进行校验,1为校验,0为不校验

gpgkey=  指定gpgcheck校验码的位置;如果gpgcheck为1,则该项必须填写,并且正确

enabled=  该项指明该仓库是否可用,1为可用,0为不可用

该例中,我们的yum仓库位于本机/misc/cd目录下,该目录下有rpm软件包目录Packages和配置文件目录repodata两个子目录,因此使用baseurl=file:///misc/cd指明路径。

当配置好本地客户端以后,使用yum clean all命令清理一下yum缓存,这样我们就可以愉快的使用yum了。

 
标签: Yum
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • fedora安装软件时的一点问题:There are unfini
      问题:在安装‘添加/删除软件’那个管理项目里的软件包时,出现了如下情况 “初始化失败初始化软件包后端失败。此类现象可能在同时使用其他软件包工具时发生。更多详情 There are unfinished transactions remaining. Please run yum-complete-transactio
    02-10
  • Centos7安装yum命令 centos8如何安装yum
    步骤如下http://mirrors.163.com/centos/7/os/x86_64/Packages/到上面这个网站去下载如下RPM包(为版本号,根据最新的自己替换即可)python-iniparse-.noarch.rpmyum-metadata-parser-.x86_64.rpmyum-.centos.noarch.rpmyum-plugin-fastestmirror-*.noarch.rp
    02-10
  • 【只需3步】源码手动安装Apache以及配置(亲测可行)
    


            
 
       redhat6/centos6 解决方法 :yum安装包即可:yum install
    【只需3步】源码手动安装Apache以及配置(亲测
    作者小波/QQ463431476欢迎转载!redhat6采用centos yum源。第一步下载apache依赖的软件包并安装安装 apr下载地址:http://apr.apache.org/download.cgi 解压包:tar -jxvf apr-1.5.0.tar.bz2 注意:这里的包的格式是tar.bz2格式,如果是.tar格式的用 tar -zx
    02-10
  • 服务器 CentOS上yum安装Nginx服务
     一、更改yum源为网易的源加快速度vi /etc/yum.repos.d/CentOS-Base.repo更改内容如下# CentOS-Base.repo # # This file uses a new mirrorlist system developed by Lance Davis for CentOS. # The mirror system uses the connecting IP address of the cl
    02-10
  • Nginx安装(yum源) linux源码安装nginx
    CentOS7$ vi /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1CentOS6$ vi /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/6/$ba
    02-10
  • linux下安装nginx(yum源安装) Linux安装yum源
    linux下安装nginx(yum源安装) Linux安装yum源
    cd /etc/yum.repos.dmkdir repo_bakmv *.repo repo_bak/下载阿里云repo文件wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo清空yum
    02-10
  • yum和apt-get的区别
    





		Debian 配置apt-get源
    yum和apt-get的区别 Debian 配置ap
     服务端配置1、安装apt-mirrorapt-get install apt-mirror 2、修改apt-mirror配置文件vim /etc/apt/mirror.list 参考以下配置文件:清空原有的配置文件,直接使用以下配置文件即可############# config ################### 以下注释的内容都是默认配置,
    02-10
  • Fedora再次安装手记--很爽的YUM工具
    Fedora再次安装手记--很爽的YUM工具
    好久不装Linux了,结果是连显卡驱动都不会装了,编译多次,不成功,于是只好想现成的了。     好久不装Linux了,结果是连显卡驱动都不会装了,编译多次,不成功,于是只好想现成的了。rpm -Uvh http://rpm.livna.org/livna-release-6.rpmrpm --import htt
    02-10
  • 【Linux】YUM Repositories for CentOS, RHEL &
    这里是官方wiki:https://wiki.centos.org/AdditionalResources/Repositories一、简介YUM(Yellowdog Updater Modified)是一种开源的,广泛使用的基于命令行和图形的包管理工具,适用于基于RPM(RedHat Package Manager)的Linux系统,包括但不限于Red Hat E
    02-10
  • fedora14的yum源总结
    网易镜像: http://mirrors.sohu.com/搜狐镜像: http://mirrors.sohu.com/东北大学:http://mirror.neu.edu.cn/中科大:http://mirrors.ustc.edu.cn/上海交通大学:http://ftp.sjtu.edu.cn/天津大学:http://mirror.tju.edu.cn/兰州大学:http://mirror.lzu.edu.cn/
    02-10
点击排行