您的位置:首页 > 运维架构 > Linux

Linux软件管理之RPM

2014-07-20 16:45 357 查看
首先我们来看一下一个软件的开发到正常运行的流程


由于源代码中含有很多个程序片段,每个片段可能实现的功能不尽相同,而这些片段的编译是有一定的次序要求的也就是说他们很可能相互依赖。所以这给普通用户造成一种麻烦就是:想要编译此程序就必须看懂此代码并能知道各个片段的依赖关系;也许你会说直接把这些片段直接写在一段程序中不就可以了,但是这样会给程序员开发测试造成很大的困难。所以autoconfig闪亮登场它可以生成编译环境检查及编译功能配置脚本,即为configure。而automake会解决各片段的依赖关系生成Makefile.ini 至此源代码包制作完毕。



用户在拿到源代码包后利用可执行程序configure结合Makefile.ini生成自己定制的makefile文件make命令根据此文件进行编译 最后makeinstall安装程序至此程序安装成功。
什么是RPM ??
RPM是Readhat Package Manager的缩写,后来由于此软件的管理方式成为了工业标准所以更名为 RPM is Package Manager。
rpm包的命名格式:name-version-relase.arch.rpm
RPM命令的格式及常用选项:
rpm [option] /path/to/package_file
-i: 表示安装
-v:显示详情
-h:显示安装进度
--test: 仅作测试,有真正执行安装
例子:rpm -ivh httpd-2.2.15-29.el6.centos.x86_64.rpm


如果依赖于其它包:
1、解决依赖关系
2、忽略依赖关系 能安装上,但有可能无法运行;--nodeps
重新安装:--replacepkgs

卸载程序包:-e: erase
例如:rpm -evh httpd



升级程序包:

-U:表示升级若此包没有安装则安装
-F:表示只升级已有的包
--force: 强制升级

查询操作:
-q 查询某包是否安装

-qa 查询所有已经安装的包



-qi 查询包的描述信息


-ql 查询某包安装生成了哪些文件

-qc 查询某包安装生成了哪些配置文件



-qd 查询某包安装生成了哪些帮助文件



-q --scripts 查询程序包的相关脚本



-qf /path/to/some_file 查询某文件是由哪个包安装生成的


--import /path/to/key_file 在当前系统上导入包的制作者的公钥
数据库重建:
数据库目录:/var/lib/rpm
rpm --initdb:初始化如果事先没有库,会新建一个;如果有,则不新建;
rpm --rebuilddb: 直接重建,覆盖原有的数据库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux RPM 软件管理