rpm 是(RPM软件包管理器)的缩写
rpm 执行安装包的二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。
.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,命令:
rpm --recompile 文件名.src.rpm 这是编译安装
rpm --rebuild 文件名.src.rpm 这是把二进制覆盖原来的rpm
<1>初始化rpm数据库
用rpm 有关命令查询一个rpm 包有没有安装了,还是要通过rpm 数据库来完成的;
初始化rpm 数据库:
rpm --initdb
rpm --rebuilddb
<2> 用途 :
可以在查询系统中的软件包;
安装、删除、升级和管理软件
知道软件包的文件及归属;
作为开发者可以把自己的程序打包为RPM 包发布;
依赖性的检查,查看是否与系统不兼容;
查询:
1)查询系统已安装的软件: rpm -q 软件名
2 ) 查询一个已经安装的文件属于哪个软件包: rpm -qf 文件名
3)查询一个已安装软件包的信息 rpm -qi 软件名
4)查看一下已安装软件的配置文件 rpm -qc 软件名
5)查看一下已安装软件所依赖的软件包及文件 rpm -qR 软件名
6)查看一个未安装的软件包的用途、版本 rpm -qpi 文件.rpm
7) 查看一件软件包所包含的文件 rpm -qpl 文件.rpm
8)
查看一个软件包的依赖关系 rpm -qpR 文件.rpm
安装和升级:
安装 rpm -vih file.rpm 升级 rpm -Uvh 文件.rpm
加 -relocate 目录 在文件.rpm前面指定安装目录 ;
删除:
rpm -e
如果有依赖关系,--nodeps 忽略依赖的检查来删除。
从rpm软件包拿文件:
rpm2cpio 文件名.rpm | cpio -div
以下是我抄的用法,因为记不住:
rpm -q samba
//
查询程序是否安装
rpm -ivh /media/cdrom/RedHat/RPMS/samba- 3.0. 10- 1.4E.i386.rpm //按路径安装
rpm -ivh --relocate /=/opt/gaim gaim- 1.3. 0- 1.fc4.i386.rpm // 指定安装目录
rpm -ivh --test gaim- 1.3. 0- 1.fc4.i386.rpm //检查依赖关系而并不安装
rpm -Uvh --oldpackage gaim- 1.3. 0- 1.fc4.i386.rpm //降低版本
rpm -qpi Linux- 1.4- 6.i368.rpm --query--package--install package
rpm -qpf Linux- 1.4- 6.i368.rpm --query --package --file package
rpm -qpR file.rpm //依赖关系
rpm2cpio file.rpm |cpio -div // 抽出来文件
rpm -ivh file.rpm //安装包
rpm -Uvh file.rpm //升级包
rpm -e file.rpm //删除包
rpm -ivh /media/cdrom/RedHat/RPMS/samba- 3.0. 10- 1.4E.i386.rpm //按路径安装
rpm -ivh --relocate /=/opt/gaim gaim- 1.3. 0- 1.fc4.i386.rpm // 指定安装目录
rpm -ivh --test gaim- 1.3. 0- 1.fc4.i386.rpm //检查依赖关系而并不安装
rpm -Uvh --oldpackage gaim- 1.3. 0- 1.fc4.i386.rpm //降低版本
rpm -qpi Linux- 1.4- 6.i368.rpm --query--package--install package
rpm -qpf Linux- 1.4- 6.i368.rpm --query --package --file package
rpm -qpR file.rpm //依赖关系
rpm2cpio file.rpm |cpio -div // 抽出来文件
rpm -ivh file.rpm //安装包
rpm -Uvh file.rpm //升级包
rpm -e file.rpm //删除包
-i, --install
-v, --verbose // 输出更详细
-h, --hash //print hash marks as package installs (good with -v)//这个不知道。。。没查清楚
-e, --erase
-U, --upgrade=<packagefile>+ //升级
--replacepkge //无论软件包是否已被安装,都强行安装软件包
--test //安装测试,并不实际安装
--nodeps //忽略软件包的依赖关系强行安装
--force //忽略软件包及文件的冲突
Query options (with -q or --query):
-a, --all //所有包
-p, --package //包
-l, --list //1包中所有文件
-d, --docfiles //所有文件
-f, --file //查询包拥有的文件
-v, --verbose // 输出更详细
-h, --hash //print hash marks as package installs (good with -v)//这个不知道。。。没查清楚
-e, --erase
-U, --upgrade=<packagefile>+ //升级
--replacepkge //无论软件包是否已被安装,都强行安装软件包
--test //安装测试,并不实际安装
--nodeps //忽略软件包的依赖关系强行安装
--force //忽略软件包及文件的冲突
Query options (with -q or --query):
-a, --all //所有包
-p, --package //包
-l, --list //1包中所有文件
-d, --docfiles //所有文件
-f, --file //查询包拥有的文件