【Linux】11 RPM & YUM 管理工具 介绍
rpm包的管理
介绍:
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。
它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似
windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。
rpm包的简单查询指令:
查询已安装的rpm列表
rpm –qa|grep xx
rpm包名基本格式:
命令:
查询所安装的所有rpm软件包
rpm -qa rpm -qa | more rpm -qa | grep X [rpm -qa | grep firefox ]
查询软件包中的文件
rpm -ql 软件包名
查询软件包是否安装
rpm -q 软件包名
查询软件包信息
rpm -qi 软件包名
查询文件所属的软件包
rpm -qf 文件全路径名
卸载:
rpm -e RPM包的名称
安装:
rpm -ivh RPM包全路径名称
选项:
i=install 安装 v=verbose 提示 h=hash 进度条
什么是YUM?
Yum 是一个Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,
并且一次安装所有依赖的软件包。
基本指令:
查询yum服务器是否有需要安装的软件
yum list|grep xx软件列表
安装指定的yum包
yum install xxx 下载安装
RPM 命令参数使用详解
rpm 执行安装包
二进制包(Binary)以及源代码包(Source)两种。
二进制包可以直接安装在计算机中,而源代码包将会由 RPM自动编译、安装。
源代码包经常以src.rpm作为后缀名。
常用命令组合:
-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 #[查看包]依赖关系 rpm2cpio file.rpm |cpio -div #[抽出文件] rpm -ivh file.rpm #[安装新的rpm]--install--verbose--hash rpm -ivh [url]http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm[/url] rpm -Uvh file.rpm #[升级一个rpm]--upgrade rpm -e file.rpm #[删除一个rpm包]--erase
常用参数:
Install/Upgrade/Erase options: -i, --install install package(s) -v, --verbose provide more detailed output -h, --hash print hash marks as package installs (good with -v) -e, --erase erase (uninstall) package -U, --upgrade=<packagefile>+ upgrade package(s) --replacepkge 无论软件包是否已被安装,都强行安装软件包 --test 安装测试,并不实际安装 --nodeps 忽略软件包的依赖关系强行安装 --force 忽略软件包及文件的冲突 Query options (with -q or --query): -a, --all query/verify all packages -p, --package query/verify a package file -l, --list list files in package -d, --docfiles list all documentation files -f, --file query/verify package(s) owning file
RPM源代码包装安装
.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,
用户要安装这类RPM软件包,必须使用命令:
rpm --recompile vim-4.6-4.src.rpm #这个命令会把源代码解包并编译、安装它,如果用户使用命令: rpm --rebuild vim-4.6-4.src.rpm #在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm 的RPM软件包。 [root@localhost src]# rpm -ivh awstats-6.8-1.noarch.rpm error: Failed dependencies: perl(LWP::UserAgent) is needed by awstats-6.8-1.noarch [root@localhost src]#
使用rpm 属性相依套件的档案
[root@localhost src]# rpm -qpR awstats-6.8-1.noarch.rpm /bin/sh /usr/bin/perl config(awstats) = 6.8-1 perl >= 0:5.005 perl(LWP::UserAgent) perl(POSIX) perl(Socket) perl(Time::Local) perl(strict) perl(vars) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
另外:# rpm -ivh --aid samba*.rpm (一定要安装rpmdb后才可以用这种方式安装排除依赖关系)