总结rpm和yum实现程序包的管理功能

一、rpm实现程序包的管理功能

安装:

命令格式:rpm {-i|--install} [install-options] PACKAGE_FILE ...

选项:

-i:

-v:显示详细过程,-vv, -vvv

-h:

每个rpm包都提供一个或多个capabilities

--nodeps:忽略依赖关系安装

--replacepkgs:重装程序包

例子:

  1. 创建个挂载目录,/media/cdrom,挂载成功

  2. 查看可安装的程序包,首先我们要进入到挂载目录,/media/cdrom,查看其目录下有个包目录Packages:

  3. 安装zsh-43.11-4.el6.centos.x86_64.rpm

  4. 卸载安装包

           卸载:

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

卸载我们常用的就只是-e,所以后面跟的其他选项一般不会太用到。

查询:

             rpm   {-q|--query}   [select-options]-挑选选项 [query-options]-查询选项

        常用选项:

            -qa 查询所有安装

            -qf 查询此处指定文件由哪个程序包安装生成。查询为目录:/etc/fstab

             -qc 查询指定程序包安装生成的配置文件。

             -qd 查询指定的程序包安装生成的帮助文档。

             -qi 查询指定的程序包的相关信息。

              -ql 查询程序包安装生成的所有文件列表。

               -qR 查询程序包依赖于哪些提供的程序包

              -q --scripts 查询程序包相关脚本:

               preinstall:安装前脚本

               postinstall:安装后脚本

               preuninstall:卸载前脚本

               postunistall:卸载后脚本

              -p:查询针对的是未安装的程序包文件,通常跟-q一起使用;

        例子:使用-pqc查询安装包生成的配置文件

校验:

rpm  {-V|--verify}  [select-options]   [verify-  options]

                   S file Size differs

                   M Mode differs (includes permissions and file type)

                   5 digest (formerly MD5 sum) differs

                  D Device major/minor number mismatch

                  L readLink(2) path mismatch

                  U User ownership differs

                  G Group ownership differs

                  T mTime differs

                  P caPabilities differ

包校验:

              来源合法性验证:非对称加密

              包完整性验证:单向加密

             导入秘钥的命令:rpm --import 秘钥路径

             校验:rpm -K 指明安装包

秘钥位置:/etc/pki/rpm-gpgs

示例:

二、rpm实现程序包的管理功能

yum:rpm包前端管理工具;自动解决程序包的依赖关系;

yum依赖yum仓库:yum repositories

 文件服务器:

  ftp://hostname/path/to/repo  \\hostname为ftp主机名

   http://hostname/path/to/repo

   file:///path/to/repo


yum程序的配置文件:

 /etc/yum.conf  定义全局配置:对所有仓库都适用的配置

 /etc/yum.repos.d/*.rpo  一个文件通常用于一个或一组功能相近或相关的仓库

  定义一个仓库指向:

   [REPO_ID]

   name=

   baseurl=可以有多个路径,但是内容必须一样,建议不指向多个。

   mirrorlist=SCHEME://HOSTNAME/PATH/TO/MIRROR_LIST_FILE

   enabled={1|0} 1启用  0禁用  默认启用

   gpgcheck={1|0} 1检验  0不检验

   gpgkey=指明使用哪个秘钥来检验

   cost=指明yum仓库的开销


   定义仓库指向时可用的变量:

        $releasever:引用当前系统的主版本号

        $basearch:当前系统的基本架构

           i386,i486,i586,i686:i386,X86_64

示例:http://mirrors.163.org/Centos/$releasever/os/$basearch    \\$releasever指Centos系统版本, $basearch指系统的架构,如32位或者64位;

 yum命令的使用:

 yum [options] [command] [package ...]

   安装:yum install

   卸载:yum remove

   查询:yum info

             search  KEYWORD 

list all|installed|availiable

              probides  /PATH

    升级:yum update checkupdate  查询可升级

    重新安装:reinstall

    降级:downgrade

    清理缓存:clean

    生成缓存:makecache

    包组:grouplist 列出所有包组

          groupinfo ""

          groupinstall "GRP_NAME"安装组文件

          groupremove "GRP_NAME"卸载组文件

    仓库:repolist all|enabled|disabled 列出仓库

示例:

1.使用yum进行安装和卸载程序包

wKioL1X4LheAZMwjAAEPbCQXX5k809.jpg

2.使用yum查询安装包信息

wKioL1X4LleSHJnzAAEcLL099Ec940.jpg

3.使用yum查看包组

wKiom1X4LC_zSeR4AACoUy7l4aI196.jpg


4.使用yum查看enabled仓库

wKioL1X4Lm_T1sf1AACqMpcj3tk549.jpg