软件包的安装和卸载时很平常的事,但在Linux上面却不简单。。Linux的其中一个哲学就是一个程序只做一件事,并且做好。组合小程序来完成复杂的任务,这样做有很多好处,但是各个小程序之间往往会存在着复杂的依赖关系。源码安装的软件更贴近本机的系统运行环境,但也更复杂。这时就有了包管理器,其中一个包管理器就是redhat系的rpm(redhat package manager).

  rpm是以一种数据库记录的方式来将将所需要的套件安装在Linux主机的一套管理程序。也就是说Linux系统中存在一个关于rpm的数据库,它记录了安装的包与包之间的依赖相关性。rpm包是预先在Linux主机上编译好并打包的文件,安装起来非常快捷。下面就介绍rpm常用的命令

  1.安装一个rpm包

      rpm -ivh package_file

      -i:安装

      -v:可视化

      -h:显示安装进度

    另外的常用的附带参数为:

      --force 强制安装,即使覆盖其他包的文件也要安装

      --nodeps:当要安装的rpm包依赖其他包的时候,即使其他包没有安装,也要安装这个包

  2.升级一个rpm包

    rpm -Uvh filename

      -U:即升级的意思

  3.卸载一个rpm包

    rpm -e filename  filename通过rpm查询功能查询到的,卸载时的filename和安装时的是有区别的。

  4.查询一个包是否安装

    rpm -q rpm包名(这里的包名是不带有平台信息以及后缀名的)

      eg:rpm -q alacarte-0.10.0-1.fc6(如果加了平台信息及后缀名alacarte-0.10.0-1.fc6.noarch.rpm反而不能查出来)

    查询当前系统上所安装的所有rpm包   

      rpm -qa

  5.得到一个rpm包的相关信息

    rpm -qi 包名(同样不需要加平台信息和后缀名) 

  6.列出一个rpm包安装的文件

    rpm -ql 包名

  7.列出某一个文件属于哪个rpm包

    rpm -qf 文件的绝对路径

    文件的绝对路径如何查找:which vim

    rpm -qf `which vim`

  yum工具比rpm工具更好用,当然前提是你使用的linux系统支持yum.yum最大的优势是可以去互联网下载所需要的rpm包,然后自动安装,在这个工程中如果要安装的rpm包有依赖关系,yum会能帮你解决掉这些依赖关系依次安装所有的rpm包。下面笔者介绍常用的yum命令。

    1.列出所有可用的rpm包

      yum list

      

     安装信息如果安装了就显示installed,未安装则显示base或者extras,如果是该rpm包已经安装但需要升级则显示updates.

    2.搜索一个rpm包

      有两种搜索方法:

      1)yum search [相关关键词]

        eg:yum serch vim

      2)使用grep过滤  

        yum list|grep vim

    3.安装一个rpm包“yum install [-y][rpm包名]”

      如果不加-y选项,则会以用户交互方式安装,首先列出需要安装的rpm包信息,然后会问用户是否需要安装,输入y安装,输入n不安装。直接加上-y选项,就省略掉了问用户是否安装的那一步。

    4.卸载一个rpm包“yum remove [-y][rpm包名]”

      -y选项和安装时时一样的作用

    5.升级一个rpm包“yum update [-y][rpm包]”

软件包管理之rpm与yum的更多相关文章

  1. Linux: 软件包管理之rpm与yum [转]

    软件包的安装和卸载时很平常的事,但在Linux上面却不简单..Linux的其中一个哲学就是一个程序只做一件事,并且做好.组合小程序来完成复杂的任务,这样做有很多好处,但是各个小程序之间往往会存在着复杂 ...

  2. 软件包管理(rpm、yum、dpkg)

    一. 大多数Linux应用软件包的命名也有一定的规律,它遵循:名称-版本-修正版-类型,通常Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz.以源码 ...

  3. Linux不同发型版本(Debian REHL)与软件包管理器(RPM dpkg)的概念

    Linux的发行版本可以大体分为两类: Linux发行版 = Linux内核(类Unix内核) + Linux软件管理(package manager) 一类是商业公司维护的发行版本,以著名的Red ...

  4. CentOS的软件包的管理之rpm和yum

    在linux上,一个软件包通常由二进制程序,库文件,配置文件和帮助文件组成. 其中: 二进制程序一般都放在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin和/u ...

  5. 软件包管理(rpm&yum)

    一.rpm包管理器 rpm是一个功能强大的包管理工具,可用于构建,安装,查询,验证,更新和卸载软件包. 用法: rpm [OPTION...] 配置文件: /var/lib/rpm/ 已安装rpm包的 ...

  6. 软件包管理:RPM包管理-yum在线管理

    CentOS 是免费的的 RedHat需要付费 1.IP地址配置 setup  #使用setup工具 (这种方式配置的永久有效 同时还可以配置掩码 网关等) 直接输入setup就会弹出(注意的是该命令 ...

  7. Linux基础3(用户/组管理,rpm,yum,源码安装软件)

    用户管理 与用户相关的配置文件 /etc/passwd /etc/shadow /etc/skel /etc/defalut/useradd /etc/login.defs useradd userm ...

  8. 软件包管理 之 RPM 基础 《RPM 的介绍和应用》

    RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:在Fedora .Redhat.Mandriva. ...

  9. Linux系列教程(十一)——Linux软件包管理之RPM命令

    前面我们介绍了Linux系统的常用命令介绍和文本编辑器vim命令的介绍.那么从这篇博客开始,我们会正式的讲解Linux的系统管理,首先要讲的是Linux的软件包管理. 1.Linux软件包分类 一.源 ...

随机推荐

  1. tkinter窗口居中方法

    tkinter窗口居中 from tkinter import * class MyFrm(Frame): def __init__(self, master): self.root=master s ...

  2. java 8 日期函数

    1.Timestamp(long)转成日期 Timestamp timestamp = new Timestamp(System.currentTimeMillis());     LocalDate ...

  3. VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法

    以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了. 当VC6的工程转到VC2010或更高版本时编译出现如下错误: c:\program files\microsoft ...

  4. linux安装rabbitmq3.6.5

    一.准备依赖包 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ k ...

  5. jieba分词/jieba-analysis(java版)

    简介 支持分词模式Search模式,用于对用户查询词分词Index模式,用于对索引文档分词特性支持多种分词模式全角统一转成半角用户词典功能conf 目录有整理的搜狗细胞词库因为性能原因,最新的快照版本 ...

  6. centos7-内核版本降级

    1. 查看内核版本参考命令: [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [roo ...

  7. “AS3.0高级动画编程”学习:第四章 寻路(AStar/A星/A*)算法 (下)

    在前一部分的最后,我们给出了一个寻路的示例,在大多数情况下,运行还算良好,但是有一个小问题,如下图: 很明显,障碍物已经把路堵死了,但是小球仍然穿过对角线跑了出来! 问题在哪里:我们先回顾一下ASta ...

  8. Cobbler安装CentOS7系统时报错 curl:(7)Failed connect to 10.0.0.201:80;Connection refused

    问题原因: 其他涉及到http服务的端口全部都改成了81端口.只有 /etc/cobbler/settings 这里没有改. [root@mage-monitor- ~/]#grep -E " ...

  9. shell命令,从字符串中提取数字

    echo "2014年7月21日" | tr -cd "[0-9]" 这样就可以提取出2014721

  10. MYSQL 时间类型

    常见四种:DATE, TIME, DATETIME, TIMESTAMP DATE: 只表示年月日,YYYY-MM-DD TIME: 只表示时分秒,HH-mm-SS DATETIME: DATE和TI ...