rpm包管理与yum简要用法

linux程序包管理

程序包:源代码 –> 目标二进制格式(二进制程序、库文件、配置文件、帮助文件)–> 组织成一个或有限的几个包文件

程序包管理器:

       debian –> dpkg   以“.deb”结尾

       redhat –> rpm            以“.rpm”结尾

                     rpmredhat package mamager –> rpm is package manager

rpm包命名格式:

name-VERSION-realease.arch.rpm

VERSIONmajor,minor,release

releaserpm包的发行号

archarchetecturei386x86_64…

拆包:

主包:name-VERSION-realease.arch.rpm

支包:name-function-VERSION-realease.arch.rpm

rpm包的依赖关系:

       有时安装某应用程序需要依赖于其他应用程序

前端工具:

       自动解决安装程序包的依赖关系

       例如:yum


                                           yum

程序包管理前端工具:

       yumrhel系列系统上rpm包管理器的前端工具

       apt-getapt-cache):debian系统上deb包的前端管理工具

获取程序包途径:

1、系统发行版光盘或官方文件服务器(或镜像站点)

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com

2、项目官方站点

3、第三方组织

1)EPEL

2)搜索引擎,pkgs.org | rpmfind.net | rpm.pbone.net

 

CentOS系统上rpm包的管理命令:

       安装、升级、卸载、查询、校验和数据库维护

 

rpm [OPTION] [INSTALL_OPTION] PACKAGE_FILE

OPTION

       安装:-I | –install,与-v-h联用。后跟文件名 à rpm –ivh PACKAGE_FILE

                            -v:显示详细信息

                            -vv:显示更详细信息(少用)

                            -h:显示进度条

       升级:-U,升级或安装

                 -F,升级

 

                            –oldpackage,降级

                            –force,强制升级

卸载:-e,后跟包名

       查询:-q

              rpm –qa:查询所有安装包,常与grep联用

              rpm –qf:后跟文件,查询该文件由哪个安装包生成

              rpm –ql:后跟安装包,查询该安装包安装时生成那些文件

              rpm –qi:后跟安装包,查询该安装包的详细信息

              rpm –qc:后跟安装包,查询该安装包的详细信息

              rpm –qd:后跟安装包,查询该安装包生成的文档

              rpm –q –provides:后跟安装包,列出程序包提供的CAPABILITY

              rpm –q –whatprovides:后跟安装包,查询指定CAPABILITY由哪个程序包提供

              rpm –q –whatrequires:后跟安装包,查询指定CAPABILITY被哪个程序包依赖

              rpm –qp:查看未安装的程序包信息,与ilc等选项联用

                            rpm –qpi:查询该安装包的详细信息

rpm –qpl:查询该安装包安装时生成那些文件

rpm –qpc:查询该安装包的详细信息

校验:-V

数据库维护:–builddb           –initdb

INSTALL_OPTION

       -v:显示详细信息

       -h:显示进度条

       –test:测试安装,用来检测程序包的依赖与冲突关系

       –nodeps:忽略依赖关系安装

       –replacepkgs:重新安装(不能还原修改的配置文件,如需还原,需将配置文件删除先)

       –nosignature:不检查包签名与合法性

       –nodigest:不检查包完整性信息

       –noscripts:不允许脚本

 

rpm包来源的合法性与完整性验证:

       导入密钥:rpm –import RPM-GPG-KEY

       手动验证:rpm –k PACKAGE_FILE

 

数据库重建:

       rpm管理器数据库路径:

              /var/lib/rpm

       查询操作是基于此数据库进行的

       命令:

              rpm –initdb:无数据时新建,有数据则不执行操作

              rpm –rebuilddb:重新构建,重置数据库

              rpm [–initdb|–rebuilddb] –dbpath=/PATH/TO/ 指定新建数据库路径

 

程序包管理前端工具–YUM

       yumyellowdog update modifier

       yum工具为CS架构

yum仓库(yum repository):yum repo

       存储了众多rpm包,以及包的相关元数据文件

       (放置于特定目录下:ropodata所在路径)

文件服务器:

       ftp://

       http://

       file:///

 

yum客户端:

       配置文件

              主配置文件:/etc/yum.conf,为所有仓库提供公共配置

              仓库配置文件:/etc/yum.repos.d/*.conf,为仓库指向提供配置信息

       配置文件定义(文本文件)

              [repository ID]

              name=

              baseurl=URL://(可指向多处)路径为repodata所在路径

              enabled={0|1}(默认为1

              gpgcheck={0|1}

              gpgkey=URL(指向密钥的路径)

 

获取当前yum源并显示信息:

yum repolist [all|enanle|disable]

                     all:显示全部

                     enable:显示可用

                     disable:显示不可用

 

显示程序包:

       yum list [all|available|installed|updates]   (支持glob通配符)

                     all:所有安装包

                     available:可用安装包

                     installed:已安装程序包

                     updates:可升级程序包

 

安装程序包:

       yum install PACKAGE 安装程序包

       yum reinstall PACKAGE     重新安装程序包

 

       yum命令行选项:

              –nogpgcheck:不进行gpg校验

              -y:自动回答“yes

              -q:静默模式

 

升级程序包:

       yum update PACKAGE

 

卸载程序包:

       yum remove PACKAGE      (会卸载程序包相关的依赖程序包)

 

查看程序包信息:

       yum info PACKAGE

 

清理本地缓存

       yum clean

 

如何用光盘当做本地yum仓库:

1)挂载光盘至某目录

# mount –r –t

2)创建配置文件

[CentOS 7]

name=

baseurl=

gpgcheck=

enabled=

 

如何创建yum仓库:

1)createrepo <directory> directoryrpm包所在目录)

2)定义配置文件

 

yumrepo配置文件中可以的变量:

       $releasever:当前OS发行版的主版本号

       $arch:平台

       $basearch:基础平台

              http://mirrors.magedu.com/centos/$release/$basrarch/OS

原创文章,作者:Mr.Lee,如若转载,请注明出处:http://www.178linux.com/38795

(0)
Mr.LeeMr.Lee
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp /etc/skel /home/tuser1 [root@localhost ~]# chmod -R&nb…

    Linux干货 2017-01-18
  • 初探VIM_第六周练习(02)

    引言—什么是Vim? 接触Linux这么久,想必对于一切皆文件的哲学思想已经不陌生了。因此,学习并掌握用一款Linux文本编辑器,对于玩转LInux来说,是很有必要的。 vi编辑器是Unix系统最初的编辑器,它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。 在GNU项目将vi编辑器移植到开源世界时,…

    Linux干货 2016-12-18
  • 如何使用正则表达式

    正则表达式(Regular Expression)就是使用简单的字符按照预先设定的规则来完成复杂的功能,说白了,正则表达式是一种字符串的匹配方式,就是用预先设定好的规则来描述我们想要表达的内容,它是由普通字符以及元字符组成的字符串,其中元字符不表示本身的意义,而是用于表达控制或通配等功能。 为什么要用这个东西那,我想,每一个学习计算机的人都应该明白,计算机就…

    Linux干货 2015-10-27
  • Yacc 与 Lex 快速入门(词法分析和语法分析)

    Lex 代表 Lexical Analyzar。Yacc 代表 Yet Another Compiler Compiler。 让我们从 Lex 开始吧。 Lex Lex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。 这些词汇模式(或者常规表达式)在一种特殊的句子结构中定义,这个我们一会儿就要讨论。 一种匹配的常规表达式可能会包含相关的动作…

    Linux干货 2015-06-08
  • wordpress和discuz的负载均衡(lvs-nat)

    实验目的:利用lvs-nat模型实现wordpress和discuz的负载均衡 实验要求:客户端访问wordpress或Discuz服务时,无论被调度至哪台RS上,其会话和访问的页面都应保持一致; 实验环境:一台server用作VS(需要两块网卡,eth1连接内部网络,eth0连接外部网络),两台server用作RS,一台server用于部署mysql、NF…

    2017-05-13
  • N22-妙手-第五周博客作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost grub]# grep "^[[:space:]]\+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,…

    Linux干货 2016-09-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 13:25

    软件包管理器是我们必须掌握的基本技能,需要多加练习,熟练掌握。