1.RPM包的管理

RPM软件包的一个例子:

sudo-1.7.2p1-5.el5.i386.rpm

这个rpm包名包括软件名sudo,版本号1.7.2p1,发行号5.el5,和硬件平台i386

(1)安装

挂载光盘:

mkdir  /mnt/cdrom

mount  /dev/cdrom  /mnt/cdrom

# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm

-ivh是可选的,一般来说i是必选的,v表示显示安装信息,h表示用#表示安装进度

在CentOs光盘中,包含了所有核心rpm的二进制包,可以使用 ls | grep sudo命令来查找sudo安装包

几个相关的命令:

rpm -q sudo          查询sudo工具是否已经安装
rpm -qa | grep sudo  查询与sudo相关的所有软件包

其它安装选项:

--excludedocs       不安装软件包中的文档文件

--prefix PATH         将软件包安转到有PATH指定的路径下

--test     只对安装进行测试,并不实际安装

rpm -ivh --excludedocs sudo       这里的--excludedocs有两个--

对于 --prefix PATH没有多少意义,因为大多数rpm安装包不允许指定安装路径

A.覆盖安装

当使用rpm -ivh安装软件提示如下信息时:

package sudo-1.7.2p1-5.el5.i386 is already installed

如果想覆盖安装该软件包,可以在命令行中使用 --replacekgs 选项

B.文件冲突

如果要安装的软件包有一个文件已经在安装其他软件包时安装,会出现以下错误信息:

#rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm

conflicts with file from bark-3.2-11

sudo-1.7.2p1-5.el5.i386.rpm cannot be installed

如果想要RPM忽略该错误信息,可以使用 --replacefiles 命令行选项

C.未解决依赖关系

RPM软件包可能依赖于其它软件包,在安装了特定软件包之后才能安装该软件包。

#rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm

failed dependencies:

sudo is needed by bark-3.2-11

你必须安装完所依赖的软件包,才能解决这个问题,强制安装可以使用 --nodeps 选项

(2)卸载

# rpm -e sudo

注:a.如果其它软件包有依赖关系,卸载时会产生提示信息,可使用-nodeps强行卸载

b.rpm -e sudo    这里写的是软件名sudo,而不是软件包名称

(3)升级

#rpm -Uvh sudo-1.7.2p1-5.el5.i386.rpm

注:U是大写的

下面给出几个RPM包管理的常用命令:

命令 功能
rpm -qf 查询文件隶属的软件包
rpm -qi、rpm -qip 查询软件包信息
rpm -ql、rpm -qlp 查询软件包安装文件
rpm -qd 查询软件包帮助文档
rpm -qc 查询软件包配置文件

a. rpm -qi是查看已经安装的软件的信息,而-qip是查询没有安装的软件包的信息;

b. rpm -qi 软件名      rpm -qip 软件包名

c. rpm -ql sudo       查看一个软件在系统安装了哪些文件

d. rpm -qlp 包名      查看一个将要安装的软件需要在哪些目录安装文件

e. rpm -qa | grep vim    查询已安装的软件包

2.YUM包管理

使用yum的好处在于,它不仅能自动解决软件包之间的依赖关系,还能很方便的进行软件升级。

下面是常见的yum管理命令:

命令 功能
yum install 安装
yum check-update 检测升级
yum update 升级
yum list 软件包查询
yum info 软件包信息
yum remove 卸载
yum -help、man yum 帮助

Linux学习笔记——软件包管理的更多相关文章

  1. linux 学习笔记 软件包管理

    >查询文件所属软件包 #rpm -qf /usr/share/pixmaps/xplns.png 查询某个文件所属软件包 >查询软件包所包含文件列表 #rpm -ql xplus-3.3. ...

  2. linux 学习6 软件包管理 资料链接

    软件包管理 这一章看得比较随意 先大概记点东西. RPM安装很繁琐,因为依赖性,手动安装太麻烦. ______我觉得直接yum在线安装就好了,很直接方便. 但是要特别注意的地方 在用yum升级或者卸载 ...

  3. linux学习笔记-软件包的相关知识

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.软件包种类 1.源码包 源码包即提供源代码的发行包 2.二进制包 二进制包即提供二进制文件的发行包 安装方法查找二进制包官网 ...

  4. Linux学习笔记---用户管理---帐号管理

    root管理 (1)新增用户:useradd -u 指定UID -g 指定GID -G 作为组员添加到某个组 -M 不创建主用户目录 -m 创建主用户目录 -c 用户信息说明列 -d 指定某个目录为主 ...

  5. Linux学习笔记---用户管理---组group

    组管理: (1)/etc/group 格式: 组名:密码:GID:组员

  6. [转帖]Linux学习笔记之rpm包管理功能全解

    Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...

  7. Linux学习笔记(五) 账号管理

    1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...

  8. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  9. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

随机推荐

  1. ExtJS4中initComponent和constructor的区别

    Ext的define方法参数类型define( String className, Object data, Function createdFn ) 创建自定义类时,先构造(constructor) ...

  2. 《JavaScript设计模式与开发实践》-面向对象的JavaScript

    设计模式 面向对象 动态类型语言 编程语言按照数据类型大体分为:静态类型语言和动态类型语言. 静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量类型要到程序运行时,待变量被赋予某个值之后,才 ...

  3. sort()排序

    var ary = [8,9,10,3], compare = function(a,b){ return b.age-a.age; }, g = [ { name:"jim", ...

  4. Spring MVC使用commons fileupload实现文件上传功能

    通过Maven建立Spring MVC项目,引入了Spring相关jar依赖. 1.为了使用commons fileupload组件,需要在pom.xml中添加依赖: <properties&g ...

  5. Linux配置系统

    配置架构: 三元素: 配置文件, 环境变量, 命令行选项 三级别: 系统级,用户级,程序级 应用: 调用时可能发生变化的配置信息,使用命令行选项:改动很少但确实应该由各个用户自己控制的配置信息,使用用 ...

  6. java 对象 类 知识点 概览

    第30集 面向对象,核心是对象,以对象来思考

  7. 详解浏览器缓存机制与Apache设置缓存

    一.详解浏览器缓存机制 对于,如何说明缓存机制,在网络上找到了两张图,个人认为思路是比较清晰的.总结时,上图. 这里需要注意的有两点: 1.Last-Modified.Etag是响应头里的数据 2.I ...

  8. .NET事件的指导原则

    C#允许编写所需的各种类型的事件.但是,为了与.NET Framwork的组件相兼容,开发人员必须遵循微软为此建立的一系列指导原则.这些指导原则的核心是,事件处理程序必须拥有两个参数.第一个参数是一个 ...

  9. Universal Asynchronous Receiver/Transmitter

    USART簡介與特性 NRZ標準資料格式(Mark/Space) 半雙工/全雙工 Synchronous 同步傳輸 CLOCK SKEW Asynchronous 非同步傳輸 半/全雙工.同步/非同步 ...

  10. Django中的Model继承

    Django 中的 model 继承和 Python 中的类继承非常相似,只不过你要选择具体的实现方式:让父 model 拥有独立的数据库:还是让父 model 只包含基本的公共信息,而这些信息只能由 ...