rpm,全称RPM Package Manager,是RedHat发布的,针对特定硬件,已经编译好的软件包。安装之后就可以使用,不需要自行编译,以及之前对软件和硬件的检测,目录的配置等动作。

yum,全称Yellowdog Updater Modified,是RedHat推出的解决安装、卸载和依赖关系的命令仓库。通过数据库管理所有rpm安装包。

这里,我们只是详细的介绍这两个命令,以及其参数。

yum -y install 包名(支持*) :自动选择y,全自动
yum install 包名(支持*) :手动选择y or n
yum remove 包名(不支持*)
rpm -ivh 包名(支持*):安装rpm包
rpm -e 包名(不支持*):卸载rpm包

rpm:

1, 初始化rpm数据库。

1
2
rpm --initdb
rpm --rebuilddb #需要花比较长的时间。

2, 安装、升级和移出软件包:

-i/--install 安装,常和-vh一起使用。-U/--upgrade, -e/--erase。 例如:

1
2
rpm -ivh man-1.6f-32.el6.x86_64.rpm
rpm -Uvh man-1.6f-32.el6.x86_64.rpm

-

3, rpm软件包管理的查询和验证功能:

-q/--query 查询某个软件包是否安装了。如果要使用正则表达式,可以使用

1
rpm -qa | grep -E '(man|xml)'

察看某个文件属于哪个软件包:

1
2
[root@localhost~]# rpm -qf /usr/lib/sendmail.postfix
postfix-2.6.6-2.2.el6_1.x86_64

察看已安装软件包都安装到何处去了(这里rpm -q 找不到的,rpm -ql也找不到,相反则可以):

1
rpm -ql man

查询一个已安装软件包的信息,-i相当于info:

1
rpm -qi man #结果和yum info man差不多。

查询一下已安装软件包的配置文件:

1
rpm -qc man

察看一个已经安装软件包的文档安装位置:

1
rpm -qd man

查看一下已安装软件包所依赖的软件包及文件:

1
rpm -qR iptables

注:我们也可以把它们组合起来使用。

4, 对未安装的软件包的查看。

1
<span></span>rpm -qpi ElectricFence-2.2.2-28.el6.x86_64.rpm<span></span>

这个命令是获取rpm软件包的信息,所得结果和yum info的结果是一样的。

1
rpm -qpl ElectricFence-2.2.2-28.el6.x86_64.rpm

获取rpm包包含的文件。

1
rpm -qpd ElectricFence-2.2.2-28.el6.x86_64.rpm

获取rpm包文档所在的位置。相当于-l的子集。

1
rpm -qpc ElectricFence-2.2.2-28.el6.x86_64.rpm

获取rpm包配置文件的位置。相当于-l的子集。

1
rpm -qpR ElectricFence-2.2.2-28.el6.x86_64.rpm

获取rpm包的依赖关系。

5, 从rpm包中抽取文件。命令格式:

1
rpm2cpio file.rpm |cpio -div

例如:

1
rpm2cpio ElectricFence-2.2.2-28.el6.x86_64.rpm | cpio -div

这个方法不如使用--relocate=./方便,同样可以起到抽取文件的作用。

----------------------------------------------------------------------------------------------

yum命令:

List of Commands:
check          Check for problems in the rpmdb
check-update   Check for available package updates
clean          Remove cached data
deplist        List a package's dependencies
distribution-synchronization Synchronize installed packages to the latest available versions
downgrade      downgrade a package
erase          Remove a package or packages from your system
groupinfo      Display details about a package group
groupinstall   Install the packages in a group on your system
grouplist      List available package groups
groupremove    Remove the packages in a group from your system
help           Display a helpful usage message
history        Display, or use, the transaction history
info           Display details about a package or group of packages
install        Install a package or packages on your system
list           List a package or groups of packages
load-transaction load a saved transaction from filename
makecache      Generate the metadata cache
provides       Find what package provides the given value
reinstall      reinstall a package
repolist       Display the configured software repositories
resolvedep     Determine which package provides the given dependency
search         Search package details for the given string
shell          Run an interactive yum shell
update         Update a package or packages on your system
upgrade        Update packages taking obsoletes into account
version        Display a version for the machine and/or available repos.
------------------------------------------------------------------------------------------

1, install/groupinstall reinstall 安装特定软件,或者特定组。

1
2
3
yum install tigervnc-server
 
yum groupinstall X11

如果某个软件已经安装了,再执行yum install 则会提示软件已经安装了。如果我们需要重新安装,不需要用remove卸载,然后安装,而是用reinstall命令重新安装即可。

2, localinstall 安装本地的rpm软件。这和rpm -ivh功能上是一样的。

3, reomve/erase groupremove删除特定软件,或者特定组。

1
2
3
4
yum remove tigervnc-server
yum erase tigervnc-server
 
yum groupremove 'Desktop'

在生产环境中,最好不要使用remove命令。因为根据依赖关系会误删除其他程序依赖的包。使用rpm -e来删除不需要的包。

4, info 察看特定软件的信息,或者特定组的信息。

1
2
yum info man
yum groupinfo 'Desktop'

5, list命令。

1
2
3
yum list #列出所有可以安装的软件不包括组名,例如Desktop
 
yum list updates #列出所有可以升级的软件。

yum list updates和yum check-update 输出的结果是一样的。

6, search命令。利用关键字搜索相关的软件,注意:这个命令不区分大小写。而且,并不支持正则表达式和通配符,只支持字符串。

我们可以运用 yum list | grep -iE <REGEX> 来运用正则表达式搜索。

7, clean        * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

我们在/etc/yum.repo.d/下设置yum源之后,会执行两个命令,

1
2
yum clean all
yum makecache

8, deplist 列出软件的依赖关系。会有库文件名和提供这个库德软件名称。例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@nanhuang ~]# yum deplist tigervnc-server
Loaded plugins: fastestmirror, product-id, subscription-manager
Updating certificate-based repositories.
Loading mirror speeds from cached hostfile
Finding dependencies:
package: tigervnc-server.x86_64 1.0.90-0.17.20110314svn4359.el6
  dependency: libc.so.6(GLIBC_2.3.4)(64bit)
   provider: glibc.x86_64 2.12-1.80.el6
   provider: glibc.x86_64 2.12-1.80.el6_3.5
   provider: glibc.x86_64 2.12-1.80.el6_3.6
   provider: glibc.x86_64 2.12-1.80.el6_3.3
   provider: glibc.x86_64 2.12-1.80.el6_3.4
   provider: glibc.x86_64 2.12-1.80.el6_3.7
......

这里,tigervnc-server需要libc.so.6库文件,提供这个文件的是如上表的软件和不同的版本。

9, repolist,这个命令有三个参数,all | enabled | disabled。我们看到,这些命令和/etc/yum.respo.d/下的配置文件有很大的关系。如果以repo结尾的文件里,enabled参数设置为1,表示enabled,repolist会显示, all则显示为enabled;为0,则repolist不会显示,除非使用disabled/all

1
yum repolist all

*.repo文件另一个非常重要的参数是gpgcheck=1/0。是否对gpg做检测。我们也可以通过rpm察看导入的key文件,

1
rpm -qa gpg-pubkey*

key放置的位置为/etc/pki/rpm-gpg/

有时候,需要我们导入key文件,

1
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-beta

yum参数:

1, -y/--assumeyes 不需要安装确定。

2, -q/--quiet 静输出模式。不会显示任何输出结果,和-y一起用最好。

3, -v/--verbose debug模式。

4, -d/--debuglevel=[number] 设置debug层次,1-10。

yum和rpm命令详解的更多相关文章

  1. CentOS下rpm命令详解

    CentOS下rpm命令详解 rpm,Redhat Package Manager,即为红帽公司为RHEL开发的专用包管理器,后来更改为RPM Package Manager,类似于GNU项目,使用递 ...

  2. rpm命令详解

    http://www.rpm.org/max-rpm/s1-rpm-install-additional-options.html#S2-RPM-INSTALL-REPLACEFILES-OPTION ...

  3. rpm 命令详解

    参考:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html rpm是由红帽公司开发的软件包管理方式,使用r ...

  4. Linux rpm命令详解

    rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM ...

  5. RPM命令详解(安装、升级、卸载)

    rpm 常用命令1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.卸载一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --no ...

  6. Linux功能-RPM命令详解

    一.概述 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”,用RPM包方式来发布软件变得越来越流行,主要的原因是这种软件发布 ...

  7. Linux下的JDK安装rpm命令详解

    1. 安装程序 #rpm -ivh jdk-7u79-linux-x64.rpm 出现安装协议等,按接受即可. 2.设置环境变量. #vi /etc/profile JAVA_HOME=/usr/ja ...

  8. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  9. linux yum命令详解-转

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

随机推荐

  1. [转]ASP.NET MVC Select List Example

    本文转自:http://www.aspnetmvcninja.com/views/asp-net-mvc-select-list-example Select lists are a great wa ...

  2. C#导入导出Excel表的数据

    一:C#导入导出EXCEL文件的类 代码如下: 首先将Microsoft Excel 14.0 Object Library 引用导入 using System; using System.Data; ...

  3. 关于sharepoint 2010无法显示用户中文名的解决方法和详细剖析

    相信这个问题许多做sharepoint的朋友都曾经遇到过,就是本来很正常的中文用户名莫名其妙的变成了“域名\账号”,我本人也遇到过好多次,每次都是百度谷歌一下草草解决问题,始终也没真正去弄明白是怎么回 ...

  4. 20160531-20160607springmvc入门

    springmvc的基础知识 什么是springmvc? springmvc框架原理(掌握) 前端控制器.处理器映射器.处理器适配器.视图解析器 springmvc入门程序 目的:对前端控制器.处理器 ...

  5. Android——按钮的事件监听

    关于Button按钮的四种事件监听方法总结 首先我们在activity_main.xml里面先定义一个Button空间 <RelativeLayout xmlns:android="h ...

  6. Android之Http网络编程(二)

    上一篇文章简单的介绍了Android中http的两种通信方式,并且分别用获取百度网页做了实例.但是在实际应用中,更多的是客户端通过请求的参数来实现在服务端的具体操作,并最终返回数据给客户端.因为我们不 ...

  7. Microsoft SQL Server 获得本地帮助方法

    微软的自带的帮助文档不管是对于开发人员还是DBA都是相当的重要.一般在有网络的状况下可以直接访问 http://msdn.microsoft.com/query/dev10.query?appId=D ...

  8. VS2013 右键监视,未能计算表达式的值

    工具>选项>调试>常规:将红框中的勾上,重新运行就可以了. https://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio- ...

  9. JSP编程中常用的JavaScript技术(转载)

    1.<tronMouseOver=this.style.backgroundColor=’#FFFFFF’ onMouseOut=this.style.backgroundColor=”> ...

  10. NOIP200905

    暴力,简单,,, 题目好长,差点没读完 试题描述 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军用密码的编码规则:1)S国军方内 ...