一、rpm管理

1,rpm包命名规则

         Linux之rpm管理及yum详解_rpm

2,rpm包查找地址:

    http://mirrors.souhu.com

     http://rpm.pboe.net

     http://rpmfind.net  等等

3,rpm包安装,我们就以安装which包为例:

        Linux之rpm管理及yum详解_Linux_02

     很简单,随便找个包操作一下更加深印象哦

         Linux之rpm管理及yum详解_rpm_03

    当然这个命令在安装系统的时候就已经安装完毕了,所以这里显示已安装

    安装命令还有很多选项,比如-v,-vv来查看详细信息,-h来显示安装进度,我们不做详

    解,具体请参照man手册

4,那么如何查看我已经安装了什么包呢,

    我们使用rpm -qa即可查看当前已安装的所有包,如果想查看某个包是否安装,那么

    Linux之rpm管理及yum详解_Linux_04

    可以配合grep命令单独查询。

5,卸载,

    rpm –e package_name ,来卸载已安装的包,由于包与包之间有很复杂的依赖关系,我

    我们卸载的时候可以参照下文的yum命令。

6,rpm数据库,

    目录是在/var/lib/rpm

    rpm --initdb 新建数据库

    rpm –rebuilddb 重建数据库

二、yum命令详解

yum对于rpm的优势在于,yum可以自动解析包的依赖关系并且自动检索安装依赖包

1,查看yum信息,

    yum list [all | installed | available | updates] 查看相关程序包

    yum repolist 显示所有可用仓库(后面会解释仓库)

    yum info package_name,查看已安装包的详细信息

    Linux之rpm管理及yum详解_Linux_05

    Linux之rpm管理及yum详解_rpm_06

2,使用yum来安装包

    yum install package_name。。。还可以使用-y选项,自动回答yes,免交互

    yum reinstall package_name。。。。重新安装

3,yum软件包升级

    yum check-update 检查有哪些包可升级

    yum update package_name。。。升级到最新版本,

    yum update-to package_name version 升级到制定版本,随便找个包试一下

    Linux之rpm管理及yum详解_rpm_07

4,***已安装包,同时会卸载掉依赖于此包的其它包

    yum remove package_name 。。。这样就不会苦恼于rpm依赖关系混乱的情况了。

三、yum仓库的创建,

    因为我觉得创建仓库比较复杂,所以单独拿出来说明一下

1,yum仓库的配置文件,及文件配置

    /etc/yum.repos.d/CentOS-Base.repo

    我们可以在repos.d这个目录下创建一个.repo的文件,用来编辑新的yum仓库

    [base] 仓库的名称

    name= \\仓库信息描述,随便写一下,如base-/mnt/cdrom/-author等,随便写

    enabled=  \\这个等于号后面跟0或者1,0表示不启用仓库,1表示启用

    baseurl=  \\后面跟着的是yum仓库的文件路径,yum命令从这个路径去检索包

    gpgcheck=  \\用0和1表示是否启用gpg检查,监测包是否被修改过,来源是否可靠

    gpgkey=  \\如果启用gpg检查,需要在这里指定密钥的路径

2,挂载及文件拷贝

    首先我们需要找到一个rpm包的文件,比如iso镜像的Packages文件里面

    如果用虚拟机,可以将该文件挂载并且拷贝到系统里随便哪个文件里面

    Linux之rpm管理及yum详解_rpm_08

    在虚拟机的右下角有个光盘模样的图标,点设置之后会出现下面的对话框

    Linux之rpm管理及yum详解_包_09

    选择使用ISO映像文件后,并且制定ISO包的位置,再回答图1,点光盘,选连接

    这时候通常连接到/dev/cdrom中,我们需要挂载之后才能看到文件,

    Linux之rpm管理及yum详解_包_10

    

    我们所需要的包都在Packages里面了,但是为了知道库依赖关系需要把cdrom目录都拷贝出来,

    使用 cp –r /mnt/cdrom/ /Target/directory,

3,yum仓库配置

    Linux之rpm管理及yum详解_rpm_11

    首先创建个仓库配置文件,并且编辑

    Linux之rpm管理及yum详解_yum_12

    在CentOS6.x中不需要createrepo来创建,编辑完保存我们就可以yum repolist来查看了

     

    当然现在还不可以直接使用,我们还需要把默认仓库的属性修改一下,

    否则找包的时候不会检索我们的仓库

    具体路径是在/etc/yum.repo.d/CentOS_Base.repo

    Linux之rpm管理及yum详解_rpm_13 

    

    Linux之rpm管理及yum详解_Linux_14

    保存退出后先执行yum clean all 命令

    如果没有意外,现在就可以使用我们自建的yum仓库了