软件包的安装和卸载时很平常的事,但在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包]”

Linux: 软件包管理之rpm与yum [转]的更多相关文章

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

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

  2. Linux软件包管理之RPM命令

    目录 1.Linux软件包分类 一.源码包 二.二进制包 2.rpm 包命名规则 3.rpm包安装 4.rpm包升级 5.rpm包卸载 6.查询rpm包是否安装 7.查询软件包的详细信息 8.查询软件 ...

  3. 软件包管理之rpm与yum

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

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

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

  5. Linux系列教程(十三)——Linux软件包管理之源码包、脚本安装包

    上篇博客我们讲解了网络yum源和光盘yum源的搭建步骤,然后详细介绍了相关的yum命令,yum 最重要是解决了软件包依赖性问题.在安装软件时,我们使用yum命令将会简单方便很多.我们知道yum命令只能 ...

  6. Linux软件包管理之源码包、脚本安装包

    目录 1.源码包和RPM包的区别 RPM包和源码包默认安装位置: 由于安装位置不同带来的影响 2.源码包安装 ①.安装准备 ②.安装注意事项 ③.安装源码包 3.源码包卸载 4.脚本安装包 5.总结 ...

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

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

  8. Linux软件包管理

    Linux软件包管理 Linux软件包管理主要有2类:是二进制包管理.源码包管理 二进制包管理 主要有RPM和YUM两种 RPM包管理 安装 --ivh:-v ,-vv,-vvv显示的安装信息依次详细 ...

  9. Linux 软件包管理

    简介: linux中软件包的管理随着linux版本的不同而不同,一般RPM和DPKG是最常见的两类软件包管理工具.分别应用基于rpm软件包的linux发行版本和基于deb软件包的linux发行版本. ...

随机推荐

  1. jquery调用javascript方法

    本来想找个“优雅”一点的方法,类似C#在调用C++方法时候的Invoke之类的.没找到,后来想想,其实也没必要,直接写就好了,算最优雅了吧.只是少了VS的Intelligence,有点不习惯罢了. 事 ...

  2. Flask入门第一天

    一.flask介绍 flask诞生于2010年,是Armin ronacher用python语言基于Werkzeug工具箱编写的轻量级web开发框架.flask本身相当于一个内核,其他所有的功能都需要 ...

  3. OOP面向对象

    一:什么是面向过程 我们是怎么思考和解决上面的问题呢? 答案是:我们自己的思维一直按照步骤来处理这个问题,这是我们的常规思维,这就是所谓的面向过程POP编程   二:面向过程POP为什么转换为OOP ...

  4. 【转载】Sqlserver阻止保存要求重新创建表的更改

    在Sqlserver创建完表table后,后续维护过程中有时候需要往表格中新增字段,在表设计窗体中新增字段后保存,有时候会直接抛出错误信息,提示“不允许保存更改,您所做的更改要求删除并重新创建以下表” ...

  5. 自建Socket转发,使用远程桌面(mstsc)连接家中电脑

    网络结构图如下: 开题先放图,一切全靠编哈哈. 进入正题! 如图所示,我们需要一个公网服务器,利用公网服务器将内网的数据进行转发,从而实现两个内网服务器的通讯.没错,这不是p2p,原本想做成p2p,因 ...

  6. 用Vue.js搭建一个小说阅读网站

    目录 1.简介 2.如何使用vue.js 3.部署api服务器 4.vue.js路由配置 5.实现页面加载数据 6.测试vue项目 7.在正式环境部署 8.Vue前端代码下载 1.简介 这是一个使用v ...

  7. 行为型---命令模式(Command Pattern)

    命令模式的定义 命令模式属于对象的行为型模式.命令模式是把一个操作或者行为抽象为一个对象中,通过对命令的抽象化来使得发出命令的责任和执行命令的责任分隔开.命令模式的实现可以提供命令的撤销和恢复功能. ...

  8. Element-UI 日期范围 date-picke

    实际项目应用案例: <el-form-item label="开始日期:" prop="StartDate"> <el-date-picker ...

  9. C++中的queue类、QT中的QQueue类

    C++中的queue 实现一种先进先出的数据结构,是一个模板类 头文件 #include<queue> 用法(以int型为例): queue<int> Q; //定义一个int ...

  10. SpringBoot简介

    Spring Boot,简单讲就是牺牲项目的自由度来减少配置的复杂度(“契约式编程”思想,SpringBoot自动配置方案的指导思想).约定一套规则,把这些框架都自动配置集成好,从而达到“开箱即用”. ...