rpm包管理详解(1)
来源:互联网 发布:做淘宝客服需要交钱吗 编辑:程序博客网 时间:2024/06/05 05:25
转自: http://blog.csdn.net/dingyuanpu/article/details/5572300
在Linux世界里流行两种包管理方式,分别是redhat系的rpm和debian系的deb。其中rpm的使用更为广泛,我打算接下来分多章详细介绍一下rpm的包管理机制。
包管理是操作系统用来维护各组件版本的一种方式,对于软件发行者来说,将自己的程序制作成标准的rpm格式也会使得程序的安装、升级和卸载变得非常容易。因此linux下几乎所有流行的程序都有rpm格式的包,有些是发行者自己打包,也有些第三方提供rpm包,例如redhat发行版里的rpm都是redhat自己打包,他们定期打patch,升级并且维护包之间的依赖关系,他们制作的rpm包是最可以信任的。除此之外,http://dag.wieers.com/rpm/这个网站也提供很多较新的rpm包,在redhat官方找不到的包很多在这里都可以找到。
在网上搜索rpm包最常用的方式是通过rpmfind.net进行搜索,它会提供各个发行版下的各个版本的包下载。注意一定要找到正确的发行版下对应的包,由于依赖底层库和库版本的不同,不同版本的发行版的包最好不要混装。
今天先介绍rpm的安装,基本的安装命令如下
rpm -ivh xxxxxxx.rpm
i代表安装,e代表卸载,v代表显示安装过程,h代表显示#号样式的进度
下面看一个简单的例子
[leconte@localhost soft]$ sudo rpm -ivh enca-1.9-4.el5.rf.i386.rpmwarning: enca-1.9-4.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6Preparing... ########################################### [100%] 1:enca ########################################### [100%]
rpm包这样就装上了,但是很多时候没有这么顺利,由于rpm包之间可能存在依赖关系,在依赖关系无法满足的情况下默认是没法继续安装的;再比如某个包已经安装过,如果想再装一次,也是无法继续的。这种情况下可以通过一些参数来强制执行,但是强制执行的后果可能是装的程序无法正常使用,因为它依赖的包你系统并没有提供。
安装时常用的参数如下:
--test 测试安装,并不真实安装而仅仅是测试能否安装。
--nodeps 忽略依赖关系强行安装
--force 强制替换现有版本
--noscripts 仅安装文件不执行附加脚本
下面演示一个强行安装的例子
[leconte@localhost soft]$ sudo rpm -ivh awstats-6.9-1.noarch.rpmerror: Failed dependencies: perl(LWP::UserAgent) is needed by awstats-6.9-1.noarch[leconte@localhost soft]$ sudo rpm -ivh awstats-6.9-1.noarch.rpm --nodepsPreparing... ########################################### [100%] 1:awstats ########################################### [100%]
awstats依赖的PERL模块LWP::UserAgent并没有装,因此默认是无法安装的,但是通过nodeps可以强制安装,而LWP::UserAgent可以通过cpan去后续安装。也就是说,如果你明白你在做什么,那么强制安装并不可怕。
需要注意的是,rpm包的安装和卸载都需要在系统的rpm数据库里保存信息,因此需要root权限。
- rpm包管理详解(1)
- rpm包管理详解(1)
- rpm包管理详解
- rpm包管理详解
- rpm 包 管理 详解
- RPM包管理详解
- rpm包管理详解(2)
- rpm包管理详解(3)
- rpm包管理详解(4)
- rpm包管理详解(2)
- rpm包管理详解(3)
- rpm包管理详解(4)
- 使用RPM管理包
- linux rpm包管理
- RPM包管理
- RPM包管理简介
- rpm包的管理
- RPM包管理
- 一周乱弹(1,spring 获取 servletContext 方式 2,Calendar常用操作及与date,string的转换)
- JavaScript--2048游戏(一)
- 2014第五届蓝桥杯国赛决赛c/c++本科B组试题总结及解题答案
- In Danger(二分+打表+找规律(约瑟夫环))
- 441. Arranging Coins
- rpm包管理详解(1)
- 三角网格(Triangle Mesh)
- Faster R-CNN 的Caffe实现
- BZOJ2797: [Poi2012]Squarks
- 软件开发需求分析规范
- spring的jsr 303小例子
- 输出菱形
- Intervals 【区间差分约束】基础
- hdu1317—XYZZY(floyed+Bellman-Ford)