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: 直接重建,覆盖原有的数据库
由于源代码中含有很多个程序片段,每个片段可能实现的功能不尽相同,而这些片段的编译是有一定的次序要求的也就是说他们很可能相互依赖。所以这给普通用户造成一种麻烦就是:想要编译此程序就必须看懂此代码并能知道各个片段的依赖关系;也许你会说直接把这些片段直接写在一段程序中不就可以了,但是这样会给程序员开发测试造成很大的困难。所以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学习入门20——RPM软件包管理(linuxcast.net)(rpm 安装,验证等)
- 「学习笔记——Linux」Linux软件管理(RPM,Dpkg,APT)
- linux软件包的安装之----rpm软件包管理工具
- Linux-软件包管理-rpm命令管理-查询
- 7、 Linux的RPM软件包管理:RPM包的介绍、RPM安装、卸载等操作
- Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理
- Linux基础RPM软件包管理
- Linux系列-RPM软件包管理、YUM包管理
- Linux软件管理之RPM
- Linux之RPM 软件包管理
- Linux基本配置和管理 5 ---- RPM软件包管理
- Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理
- Linux软件程序包管理之RPM
- Linux软件包管理之RPM
- linux(centos为例) 软件包管理,rpm包的制作
- RPM软件包管理(linux)
- [Linux 软件包管理] rpm 建包原理
- linux软件包管理之rpm 、yum基本使用
- linux软件包管理(dpkg、rpm)与软件源的由来(apt、yum、Yast)
- 【Linux 入门笔记】RPM软件包管理