yum秘籍

最近为了项目更好的部署到RHEL/CentOS系统上去,改进或新建了一些开源软件的RPM包,比如:

  • ActiveMQ 5.10.0
  • Git 2.0.4
  • Bash git prompt
  • fcgiwrap
  • PureFTPd

并且建立了本地RPM源(上述软件包源码托管在GitHub上,链接是https://github.com/schnell18/packaging)。同时有机会进一步深入了解yum这个工具(这个工具的创始人貌似在交通意外中去世了)。一般用户了解安装软件用yum install pkg1 pkg2 ...这个命令就差不多结束了。实际上这个工具远远不止安装那么简单。深入使用的话,你会用到:

  • 卸载软件及其依赖(yum remove)
  • 安装本地的RPM包(yum localinstall)
  • 更新RPM源的信息(yum makecache)
  • 根据名称搜索RPM源的软件包(yum search)
  • 搜索提供某种特性的软件包(yum provides)
  • 只下载而不安装软件包(yumdownloader pkg1)

用yum安装或反安装软件包的最大优势在于它会自动解析依赖的软件包,这比单纯使用rpm命令安装要方便和高效得多。yumdownloader这个命令包含在yum-utils这个包中。使用它可以先下载软件包然后可以查看软件包中的内容,如文件,scriptlet等。这些可以用传统的rpm命令完成。比如RHEL 6.5的官方源中没有asciidoc这个软件,但CentOS的源中有,那么可以在CentOS上执行:

 

yumdownloader asciidoc

 获得该软件,然后查看其基本信息,内容,scriptlet:

[justin@vmcentos64 ~]$ rpm -qpi asciidoc-8.4.5-4.1.el6.noarch.rpm 
Name        : asciidoc                     Relocations: (not relocatable)
Version     : 8.4.5                             Vendor: CentOS
Release     : 4.1.el6                       Build Date: 2010年11月12日 星期五 20时02分52秒
Install Date: (not installed)               Build Host: c6b4.bsys.dev.centos.org
Group       : Applications/System           Source RPM: asciidoc-8.4.5-4.1.el6.src.rpm
Size        : 645180                           License: GPL+ and GPLv2+
Signature   : RSA/8, 2011年07月03日 星期日 11时59分57秒, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://www.methods.co.nz/asciidoc/
Summary     : Text based document generation
Description :
AsciiDoc is a text document format for writing short documents,
articles, books and UNIX man pages. AsciiDoc files can be translated
to HTML and DocBook markups using the asciidoc(1) command.
[justin@vmcentos64 ~]$ rpm -qpl asciidoc-8.4.5-4.1.el6.noarch.rpm 
/etc/asciidoc
/etc/asciidoc/asciidoc.conf
/etc/asciidoc/dblatex
/etc/asciidoc/docbook-xsl
/etc/asciidoc/docbook.conf
/etc/asciidoc/filters
/etc/asciidoc/filters/code
/etc/asciidoc/filters/code/code-filter.conf
/etc/asciidoc/filters/graphviz
/etc/asciidoc/filters/graphviz/graphviz-filter.conf
/etc/asciidoc/filters/music
/etc/asciidoc/filters/music/music-filter.conf
/etc/asciidoc/filters/source
/etc/asciidoc/filters/source/source-highlight-filter.conf
/etc/asciidoc/help.conf

 然后确定可以安装到RHEL系统上去,上传到RHEL的主机上,并运行:

sudo yum localinstall asciidoc-8.4.5-4.1.el6.noarch.rpm

 用此方法的好处是尽管从本地安装rpm,yum还是会检查依赖并安装。

 

你可能感兴趣的:(yum)