Linux中rpm和yum
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”
1 rpm 执行安装包
二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。
yum = Yellow dog Updater, Modified
主要功能是更方便的添加/删除/更新RPM包,能自动解决包的倚赖性问题,能便于管理大量系统的更新问题。它还有可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm包时遇到的倚赖性问题,使用方便,保持与RPM数据库的一致性这些特点。
2 RPM包管理的用途;
1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;
2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;
3、可以在查询系统中的软件包是否安装以及其版本;
4、作为开发者可以把自己的程序打包为RPM 包发布;
5、软件包签名GPG和MD5的导入、验证和签名发布
6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;
2 RPM 的使用权限;
RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;
3 rpm 的一点简单用法;
我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;有时我们在一些网站上找到file.rpm ,都要用 rpm 来安装;
4 常用命令组合
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包
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 -qa | grep httpd #[搜索指定rpm包是否安装]--all搜索*httpd*
rpm -ql httpd #[搜索rpm包]--list所有文件安装目录
rpm -qpi Linux-1.4-6.i368.rpm #[查看rpm包]--query--package--install package信息
rpm -qpf Linux-1.4-6.i368.rpm #[查看rpm包]--file
rpm -qpR file.rpm #[查看包]依赖关系
rpm -ivh file.rpm #[安装新的rpm]--install--verbose--hash
rpm -ivh
rpm -Uvh file.rpm #[升级一个rpm]--upgrade
rpm -e file.rpm #[删除一个rpm包]--erase
5 RPM源代码包装安装
.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令:
rpm --recompile vim-4.6-4.src.rpm #这个命令会把源代码解包并编译、安装它,如果用户使用命令:
rpm --rebuild vim-4.6-4.src.rpm #在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。
6 RPM的查询功能
a 命令格式
rpm {-q|--query} [select-options] [query-options]
RPM的查询功能是极为强大,是极为重要的功能之一。
例:[root@localhost beinan]# rpm -q httpd
此命令表示的是,是不是系统安装了httpd;如果已安装会有信息输出;如果没有安装,会输出httpd 没有安装的信息;
查看系统中所有已经安装的包,要加 -a 参数 ;
b 查询一个已经安装的文件属于哪个软件包;
语法 rpm -qf 文件名
注:文件名所在的绝对路径要指出
例:
[root@localhost RPMS]# rpm -qf /usr/lib/libacl.la
libacl-devel-2.2.23-8
c 查询已安装软件包都安装到何处;
语法:rpm -ql 软件名 或 rpm rpmquery -ql 软件名
例:
[root@localhost RPMS]# rpm -ql lynx
[root@localhost RPMS]# rpmquery -ql lynx
d 查询一个已安装软件包的信息
语法格式: rpm -qi 软件名
例:
[root@localhost RPMS]# rpm -qi lynx
e 查看一下已安装软件的配置文件;
语法格式 :rpm -qc 软件名
举例:
[root@localhost RPMS]# rpm -qc lynx
f 查看一个已经安装软件的文档安装位置:
语法格式: rpm -qd 软件名
例:
[root@localhost RPMS]# rpm -qd lynx
g 查看一下已安装软件所依赖的软件包及文件;
语法格式: rpm -qR 软件名
例:
[root@localhost beinan]# rpm -qR rpm-python
7 与对未安装的软件包查看
a 查看一个软件包的用途、版本等信息;
语法: rpm -qpi file.rpm
例:
[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm
b 查看一件软件包所包含的文件;
语法: rpm -qpl file.rpm
例:
[root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm
c 查看软件包的文档所在的位置;
语法: rpm -qpd file.rpm
例:
[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm
d查看一个软件包的配置文件;
语法: rpm -qpc file.rpm
例:
[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm
本文出自 “Linux” 博客,转载请与作者联系!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。