📄 rpm 的介绍和应用 fedora 中文用户.htm
字号:
<P></P>
<P>上面这条的功能和 rpm -q gaim 输出的结果是一样的;</P>
<P>2)查询一个已经安装的文件属于哪个软件包;</P>
<P>
<DIV class=codeblock><CODE>语法 rpm -qf 文件名</CODE></DIV><BR>注:文件名所在的绝对路径要指出
<P></P>
<P>举例:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qf
/usr/lib/libacl.la<BR>libacl-devel-2.2.23-8</CODE></DIV>
<P></P>
<P>3)查询已安装软件包都安装到何处;</P>
<P>
<DIV class=codeblock><CODE>语法:rpm -ql 软件名 或 rpm rpmquery -ql
软件名</CODE></DIV>
<P></P>
<P>举例:</P>
<P>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -ql
lynx<BR>[root@localhost RPMS]# rpmquery -ql lynx</CODE></DIV>
<P></P>
<P>4)查询一个已安装软件包的信息 </P>
<P>
<DIV class=codeblock><CODE>语法格式: rpm -qi 软件名</CODE></DIV>
<P></P>
<P>举例:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qi
lynx</CODE></DIV>
<P></P>
<P>5)查看一下已安装软件的配置文件;</P>
<P>
<DIV class=codeblock><CODE>语法格式:rpm -qc 软件名</CODE></DIV>
<P></P>
<P>举例:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qc
lynx</CODE></DIV>
<P></P>
<P>6)查看一个已经安装软件的文档安装位置:</P>
<P>
<DIV class=codeblock><CODE>语法格式: rpm -qd 软件名</CODE></DIV>
<P></P>
<P>举例:</P>
<P>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qd
lynx</CODE></DIV>
<P></P>
<P>7)查看一下已安装软件所依赖的软件包及文件;</P>
<P>
<DIV class=codeblock><CODE>语法格式: rpm -qR 软件名</CODE></DIV>
<P></P>
<P>举例:<BR>
<DIV class=codeblock><CODE>[root@localhost beinan]# rpm -qR
rpm-python</CODE></DIV>
<P></P>
<P>查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil ;比如:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qil
lynx</CODE></DIV>
<P></P>
<P><FONT color=blue><BR>2、对于未安装的软件包的查看:<BR></FONT><BR>查看的前提是您有一个.rpm
的文件,也就是说对既有软件file.rpm的查看等;</P>
<P>1)查看一个软件包的用途、版本等信息;</P>
<P>
<DIV class=codeblock><CODE>语法: rpm -qpi file.rpm</CODE></DIV>
<P></P>
<P>举例:</P>
<P>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qpi
lynx-2.8.5-23.i386.rpm</CODE></DIV>
<P></P>
<P>2)查看一件软件包所包含的文件;</P>
<P>
<DIV class=codeblock><CODE>语法: rpm -qpl file.rpm</CODE></DIV>
<P></P>
<P>举例:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qpl
lynx-2.8.5-23.i386.rpm</CODE></DIV>
<P></P>
<P>3)查看软件包的文档所在的位置;</P>
<P>
<DIV class=codeblock><CODE>语法: rpm -qpd file.rpm</CODE></DIV>
<P></P>
<P>举例:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qpd
lynx-2.8.5-23.i386.rpm</CODE></DIV>
<P></P>
<P>5)查看一个软件包的配置文件;</P>
<P>
<DIV class=codeblock><CODE>语法: rpm -qpc file.rpm</CODE></DIV>
<P></P>
<P>举例:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qpc
lynx-2.8.5-23.i386.rpm</CODE></DIV>
<P></P>
<P>4)查看一个软件包的依赖关系</P>
<P>
<DIV class=codeblock><CODE>语法: rpm -qpR file.rpm</CODE></DIV>
<P></P>
<P>举例:<BR>
<DIV class=codeblock><CODE>[root@localhost archives]# rpm -qpR
yumex_0.42-3.0.fc4_noarch.rpm<BR>/bin/bash<BR>/usr/bin/python<BR>config(yumex)
= 0.42-3.0.fc4<BR>pygtk2<BR>pygtk2-libglade<BR>rpmlib(CompressedFileNames)
<= 3.0.4-1<BR>rpmlib(PayloadFilesHavePrefix) <=
4.0-1<BR>usermode<BR>yum >= 2.3.2</CODE></DIV>
<P></P>
<P><B><BR>三)软件包的安装、升级、删除等;<BR></B></P>
<P><FONT color=blue><BR>1、安装和升级一个rpm 包;<BR></FONT></P>
<P>
<DIV class=codeblock><CODE>[root@localhost beinan]#rpm -vih file.rpm
注:这个是用来安装一个新的rpm 包;<BR>[root@localhost beinan]#rpm -Uvh file.rpm
注:这是用来升级一个rpm 包;</CODE></DIV>
<P></P>
<P>如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装;</P>
<P>语法结构:</P>
<P>
<DIV class=codeblock><CODE>[root@localhost beinan]# rpm -ivh file.rpm
--nodeps --force<BR>[root@localhost beinan]# rpm -Uvh file.rpm --nodeps
--force</CODE></DIV>
<P></P>
<P>更多的参数,请查看 man rpm </P>
<P>举例应用:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -ivh
lynx-2.8.5-23.i386.rpm<BR>Preparing...
###########################################
[100%]<BR> 1:lynx
########################################### [100%]<BR>[root@localhost
RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpm<BR>Preparing...
###########################################
[100%]<BR> 1:lynx
########################################### [100%]</CODE></DIV>
<P></P>
<P>注: --replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要;</P>
<P>测试安装参数 --test ,用来检查依赖关系;并不是真正的安装;</P>
<P>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -ivh --test
gaim-1.3.0-1.fc4.i386.rpm<BR>Preparing...
########################################### [100%]</CODE></DIV>
<P></P>
<P>由新版本降级为旧版本,要加 --oldpackage 参数;</P>
<P>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -qa
gaim<BR>gaim-1.5.0-1.fc4<BR>[root@localhost RPMS]# rpm -Uvh --oldpackage
gaim-1.3.0-1.fc4.i386.rpm<BR>Preparing...
###########################################
[100%]<BR> 1:gaim
########################################### [100%]<BR>[root@localhost
RPMS]# rpm -qa gaim<BR>gaim-1.3.0-1.fc4</CODE></DIV>
<P></P>
<P>为软件包指定安装目录:要加 -relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在
/opt/gaim 目录中; </P>
<P>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -ivh --relocate
/=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm<BR>Preparing...
###########################################
[100%]<BR> 1:gaim
########################################### [100%]<BR>[root@localhost
RPMS]# ls /opt/<BR>gaim</CODE></DIV>
<P></P>
<P>为软件包指定安装目录:要加 -relocate 参数;下面的举例是把lynx-2.8.5-23.i386.rpm 指定安装在
/opt/lynx 目录中; </P>
<P></CODE><BR>[root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx
--badreloc lynx-2.8.5-23.i386.rpm<BR>Preparing...
########################################### [100%]<BR>1:lynx
########################################### [100%]<BR></CODE></P>
<P>我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用
ln -s ;</P>
<P>
<DIV class=codeblock><CODE>[root@localhost RPMS]#
/opt/lynx/usr/bin/lynx<BR>Configuration file /etc/lynx.cfg is not
available.<BR>[root@localhost RPMS]# ln -s /opt/lynx/etc/lynx.cfg
/etc/lynx.cfg<BR>[root@localhost RPMS]# /opt/lynx/usr/bin/lynx
www.linuxsir.org</CODE></DIV>
<P></P>
<P><FONT color=blue><BR>2、删除一个rpm 包;<BR></FONT></P>
<P>首先您要学会查询rpm 包 ;请看前面的说明;</P>
<P>[root@localhost beinan]#rpm -e 软件包名 </P>
<P>举例:我想移除lynx 包,完整的操作应该是:<BR>
<DIV class=codeblock><CODE>[root@localhost RPMS]# rpm -e lynx</CODE></DIV>
<P></P>
<P>如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。但尽可能不要这么做,最好用软件包管理器
systerm-config-packages 来删除或者添加软件;</P>
<P>
<DIV class=codeblock><CODE>[root@localhost beinan]# rpm -e lynx
--nodeps</CODE></DIV>
<P></P>
<P><B><BR>四、导入签名:<BR></B><BR>[root@localhost RPMS]# rpm --import 签名文件 </P>
<P>举例:</P>
<P>
<DIV class=codeblock><CODE>[root@localhost fc40]# rpm --import
RPM-GPG-KEY<BR>[root@localhost fc40]# rpm --import
RPM-GPG-KEY-fedora</CODE></DIV>
<P></P>
<P>关于RPM的签名功能,详情请参见 man
rpm<BR><B><BR>五、RPM管理包管理器支持网络安装和查询;<BR></B><BR>比如我们想通过 Fedora Core 4.0
的一个镜像查询、安装软件包;</P>
<P>地址:<BR>http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/</P>
<P>举例:</P>
<P>命令格式:</P>
<P>
<DIV class=codeblock><CODE>rpm 参数 rpm包文件的http或者ftp的地址</CODE></DIV>
<P></P>
<P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -