`
xuelianbobo
  • 浏览: 171768 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

linux亦步亦趋(25)RPM软件包管理

阅读更多

任何操作系统都属于系统软件,我们使用这个操作系统的时候肯定需要运行在该系统上的应用软件,比如我们使用win7系统我们不可能只开机,不干别的啊,比如我们要使用word,excel,qq等,这些软件。linux操作系统也是一样的,我们需要安装各种各样的然间来满足我们的服务器需求。因此我们需要进行软件包的管理。

也就是对软件的查看,升级,卸载,安装等操作。目前linux操作系统中常用的安装工具是RPM和YUM两个工具。我们将依次来认识这两个东东。

初识RPM

rpm最早是用redhat公司开发的一个二进制的软件管理格式,后来被各个linux版本所使用,现在几乎是所有linux操作系统的标配,系统安装的时候就进行了安装(大多数的redhat系列的,其他的就不知道鸟。。。)。

我们看看man rpm这个命令的结果先:

    rpm - RPM Package Manager

结果很扫兴吧,该命令里面有个名词就是rpm,该名词也就是上面说的是一种安装文件的组织格式。

从rpm命令的解释来看,rpm这个命令是来管理rpm这种格式的安装包和程序的。在学习rpm命令前我们先学习一下rpm这种格式的文件的特点:

在研究rpm包的特点前我们应该有这么个文件才行啊,因此我们想到了安装光盘。下面是我们将安装光盘挂到虚拟机上的过程。

安装光盘挂载到虚拟机系统

  • 虚拟机-右键选择设置-光盘设置-连接到-指定iso文件-确定。整个过程如图:

  • 上述步骤完成后我们还需将光盘mount到一个目录,这个我们在后面还会介绍到,命令是:mount /dev/cdrom   /加载的目录

这样我们就能在加载的目录里面访问光盘了,整个步骤如下:

  • [root@localhost mnt]# mount /dev/cdrom /mnt/cdrom
    mount: 找不到介质  ##这是因为我们的光盘没有加载成功,也就是虚拟机的设置没有成功。加载后再执行mount命令就好了。
    [root@localhost mnt]# 
    [root@localhost mnt]# mount /dev/cdrom /mnt/cdrom
    mount: block device /dev/cdrom is write-protected, mounting read-only
    [root@localhost mnt]# 

查看安装盘里的rpm包

安装光盘加载好了以后我们就可以查看一下里面的rpm包了,会多的惊人的。

  • 进入到我们的挂在目录也就是/mnt/cdrom里面。整个过程如下:
  • [root@localhost CentOS]# pwd
    /mnt/cdrom/CentOS  ##进入这个目录 该目录下是系统安装的rpm包的存放目录,
    [root@localhost CentOS]# 
    [root@localhost CentOS]# ls -l | grep ".rpm$" |wc -l
    2599  ##经过统计可以发现.rpm的文件个数多大2599个啊,惊讶不!!
    [root@localhost CentOS]# 
  • 我们已经看到了大量的rpm包,我们随便找两个文件就会发现大多数的文件的特点,比如:
-rw-r--r-- 1 root root 234772 2010-04-27 sudo-1.7.2p1-5.el5.i386.rpm
[root@localhost CentOS]# ls -l tar-1.15.1-30.el5.i386.rpm 
-rw-r--r-- 1 root root 765338 2010-04-27 tar-1.15.1-30.el5.i386.rpm
[root@localhost CentOS]# 
都有 红  蓝 绿 橙 几个部分组成,
  •  rpm包的名字解释,
  • 红色是软件名称,这个很重要我们要经常使用,比如tar,
  • 蓝色是版本号的名字,
  • 绿色是发行号,一个版本多次发行。
  • 橙色是平台的名字 i386指的32位的intel架构主机,常见的还有i686 、x86_64、noarch(指通用与硬件架构无关)、
  • rpm结尾就不解释啦。

使用rpm卸载程序

使用rpm -e  软件名称 卸载软件。如下: 注意sudo是软件名。常用的选项有 --nodeps  忽略依赖性进行强制卸载。格式如:rpm -e --nodeps 软件名

[root@localhost CentOS]# rpm -e sudo
[root@localhost CentOS]# 
##上面就是卸载成功啦。
[root@localhost CentOS]# rpm -e --nodeps sudo
[root@localhost CentOS]# 

使用rpm安装程序

常用命令格式:rpm -ivh 软件包名,i表示安装即install、v表示显示详细信息即view、h表示hash即井号,表示进度条。举例如下:,

  • 常用选项也有--nodeps 这个选项最好不要用,因为经常会导致软件不能使用。
  • --excludedocs  不安装帮助文档
  • --prefix PATH 指定安装目录,大多数没用,因为rpm包不支持自定义安装路径。
  • --test  只测试,比如环境,依赖性等,并不实际安装。经常使用。
  • --repackage 覆盖安装  常用于不卸载的情况下重新安装。
  • --replacefiles 覆盖文件 常用语文件冲突。
  • --nodeps  忽略依赖关系。大多数我们会遇到依赖问题,但是又不能想当然的使用该选项,因此依赖问题是很头疼的rpm问题。
[root@localhost CentOS]# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm 
warning: sudo-1.7.2p1-5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing...                ########################################### [100%]
   1:sudo                   ########################################### [100%]
[root@localhost CentOS]# 

使用rpm进行软件升级:

命令格式: rpm -Uvh 软件包名

例子如下:

[root@localhost CentOS]# rpm -Uvh sudo-1.7.2p1-5.el5.i386.rpm 
warning: sudo-1.7.2p1-5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing...                ########################################### [100%]
        package sudo-1.7.2p1-5.el5.i386 is already installed
[root@localhost CentOS]#

 

 

使用rpm查询软件是否安装

常用命令格式:

     rpm -q 软件名  将返回是否安装及安装的包的全称;

     rpm -qa | grep 关键字;这个命令是列出全部然后过滤。

[root@localhost CentOS]# rpm -q sudo
sudo-1.7.2p1-5.el5
[root@localhost CentOS]# rpm -q tar
tar-1.15.1-30.el5
[root@localhost CentOS]# 
[root@localhost CentOS]# rpm -q hah
package hah is not installed
[root@localhost CentOS]# 
[root@localhost CentOS]# rpm -qa | grep zip
bzip2-1.0.3-4.el5_2
gzip-1.3.5-11.el5.centos.1
zip-2.31-2.el5
bzip2-libs-1.0.3-4.el5_2
unzip-5.52-3.el5
You have new mail in /var/spool/mail/root
[root@localhost CentOS]# 

 

 

 

  • 大小: 42.9 KB
0
0
分享到:
评论

相关推荐

    亦步亦趋的代码移植——从Linux到Windows的代码移植.pdf

    亦步亦趋的代码移植——从Linux到Windows的代码移植.pdf

    亦步亦趋也是个问题.doc

    亦步亦趋也是个问题.doc

    主板芯片组与CPU的亦步亦趋.pdf

    主板芯片组与CPU的亦步亦趋.pdf

    精品开拓市场 创新驱动 探讨中国烟草行业的数字化转型之路(PDF报告).rar

    在面对全球经济的快速变化和数字化浪潮的冲击下,中国烟草行业亦步亦趋地探索着自身的数字化转型之路。这份名为【精品】开拓市场 创新驱动 探讨中国烟草行业的数字化转型之路(PDF报告).rar的报告,便是一份深入...

    j2ee订票系统

    明确要实现何种功能,清楚设计的方法有哪几种,是否满足用户要求等多个方面进行预设计,其次对于自己是否已经掌握某方面技术要有一个全面的认识,不懂的就需要进一步学习,做得到亦步亦趋,最后,在对产品有一个全新...

    23种GoF设计模式Java版.pdf

    如果技术人员有发展的轨迹,那么他要么“看透工具的本质,把关注点转移到‘团队’的圈子里去”,要么“顺着代码铺就的道路,亦步亦趋地成为良匠大师”。仅以技术方向而言,你大概可以做到架构师、总架构师甚至首席...

    主流敏捷开发方法:Scrum基础知识解释

    人们在自己的工作中和处理问题时,应该像一个成熟的成年人一样,因此它并不涉及具体的软件开发技术和人员沟通、期望管理、问题冲突等管理技能,这些都需要其他相关理论和技能来补充。来自英式橄榄球运动,本质含义...

    大道至简——软件工程思想方法学

    在缺乏独立思维、对国外工程理论亦步亦趋的国内工程界、开发业界,该书无疑是一份激荡新思的佳作。 本书是第一本讨论软件工程思想本源的书籍,也是第一本从工程实践出发溯源而论的佳作。也是老师经常推荐的一本好书...

    Access入门教程

    简单的Access入门教程,适合零基础人员学习,浅显易懂,亦步亦趋,不错的教程

    C语言调用mysql快速教程(精华篇).doc

    最快速的c语言调用mysql的教程,亦步亦趋,可以在最短时间链接mysql与c语言的关系,其中内容包括怎么样用c语言插入,更新,删除mysql的数据表,并且在范例中有select出mysql的数据并且打印显示出来!!非常简明易懂...

    复变函数札记

    复数理论从跟着实数亦步亦趋,到达独立自主这一步,其间最关键有三点:Euler公式、Cauchy-Riemann条件和幂函数的闭路积分。《复变函数札记》着重讨论解析函数、复积分和复级数。由此引出它们的应用:留数定理、保角...

    液晶面板行业战略转型

    2011 年8 月31 日,索尼、东芝和日立三家公司宣布...本面板企业此次整合对于一直尾随在外资其后,亦步亦趋的中国面板商而言,无疑带来很 大冲击。要提高在面板市场的实力,大陆面板企业应通过战略联盟,确保技术能力

    geekwalk:用Java写个简易版Nginx

    这是一个我用业余时间,慢慢打磨的项目,几乎所有的编程工作都会以B站 / 的形式共享出来,所以你会看到一个程序员亦步亦趋编写代码的全过程,故而命名为Geekwalk 反向代理服务器,在实际项目中主要扮演网关——...

    关于编码常见的20个陷阱 你中枪了没?

     不管你现在的编程技能有多么的高超,曾经你也是个亦步亦趋,不断的学习的初学者。在编程这条曲折的道路上,我想你肯定犯过一些低级的错误、遇见过一些普通的编码陷阱。本文作者跨越多个语言,为大家总结了20条...

Global site tag (gtag.js) - Google Analytics