rpm使用方法(转)

Linux EL 6上安装Oracle 10G所需要的rpm包集合 gnome-icon-theme-2.28.0-2.el6.noarch.rpm sgml-common-0.6.3-32.el6.noarch.rpm dmz-cursor-themes-0.4-4.el6.noarch.rpm libstdc++-devel-4.4.4-13.el6.x86_64.rpm kernel-headers-2.6.32-71.el6.x86_64.rpm elfutils-libelf-devel-0.148-1.el6.x86_64.rpm libgcc-4.4.4-13.el6.i686.rpm nss-softokn-freebl-3.12.7-1.1.el6.i686.rpm glibc-2.12-1.7.el6.i686.rpm mpfr-2.4.1-6.el6.x86_64.rpm libXt-1.0.7-1.el6.x86_64.rpm libXmu-1.0.5-1.el6.x86_64.rpm libXxf86misc-1.0.2-1.el6.x86_64.rpm libXxf86vm-1.1.0-1.el6.x86_64.rpm libaio-0.3.107-10.el6.i686.rpm libstdc++-4.4.4-13.el6.i686.rpm ncurses-libs-5.7-3.20090208.el6.i686.rpm readline-6.0-3.el6.i686.rpm libICE-1.0.6-1.el6.i686.rpm xorg-x11-xauth-1.0.2-7.1.el6.x86_64.rpm cpp-4.4.4-13.el6.x86_64.rpm libtool-ltdl-2.2.6-15.5.el6.x86_64.rpm unixODBC-2.2.14-11.el6.x86_64.rpm ppl-0.10.2-11.el6.x86_64.rpm cloog-ppl-0.15.7-1.2.el6.x86_64.rpm libmcpp-2.7.2-4.1.el6.x86_64.rpm mcpp-2.7.2-4.1.el6.x86_64.rpm xorg-x11-server-utils-7.4-15.el6.x86_64.rpm compat-db42-4.2.52-15.el6.x86_64.rpm compat-db43-4.3.29-15.el6.x86_64.rpm libdmx-1.1.0-1.el6.x86_64.rpm libXxf86dga-1.1.1-1.el6.x86_64.rpm libXv-1.0.5-1.el6.x86_64.rpm libIDL-0.8.13-2.1.el6.x86_64.rpm ORBit2-2.14.17-3.1.el6.x86_64.rpm GConf2-2.28.0-6.el6.x86_64.rpm libbonobo-2.24.2-4.el6.x86_64.rpm gtk2-engines-2.18.4-5.el6.x86_64.rpm shared-mime-info-0.70-4.el6.x86_64.rpm libdaemon-0.14-1.el6.x86_64.rpm avahi-0.6.25-8.el6.x86_64.rpm avahi-glib-0.6.25-8.el6.x86_64.rpm gnome-vfs2-2.24.2-6.el6.x86_64.rpm libtool-ltdl-2.2.6-15.5.el6.i686.rpm unixODBC-2.2.14-11.el6.i686.rpm libuuid-2.17.2-6.el6.i686.rpm libSM-1.1.0-7.1.el6.i686.rpm libXau-1.0.5-1.el6.i686.rpm xorg-x11-utils-7.4-8.el6.x86_64.rpm compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm celt051-0.5.1.3-0.el6.x86_64.rpm libXp-1.0.0-15.1.el6.x86_64.rpm libxcb-1.5-1.el6.i686.rpm libX11-1.3-2.el6.i686.rpm libXext-1.1-3.el6.i686.rpm ConsoleKit-x11-0.4.1-3.el6.x86_64.rpm libXi-1.3-3.el6.i686.rpm xorg-x11-xinit-1.0.9-13.el6.x86_64.rpm libXtst-1.0.99.2-3.el6.i686.rpm libXt-1 立即下载
rpm使用方法(转)
2008年07月11日 星期五 13:41

RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;

RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件;

一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的, Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows原理是差不多的;

软件安装流程图:


本文使用范围:

1、本文是对RPM管理的软件的说明,对通过file.tar.gz 或file.tar.bz2源码包用 make ;make install 安装的软件无效;
2、安装软件时,最好用各自发行版所提供的系统软件包管理工具,对于Fedora/Redhat 您可以参考如下文章;

1)Fedora 系统管理软件包工具 system-config-packages,方便的添加和移除系统安装盘提供的软件包,详情请看 《Fedora 软件包管理器system-config-packages》

2)Redhat 系统管理软件包工具,新一点的系统应该是 redhat-config-packages ,用法和 《Fedora 软件包管理器system-config-packages》 一样;

3)apt + synaptic 软件包在线安装、移除、升级工具; 用法:《用apt+synaptic 在线安装或升级Fedora core 4.0 软件包》
4)yum 软件包在线安装、升级、移除工具;用法:《Fedora/Redhat 在线安装更新软件包,yum 篇》

5)所有的yum和apt 教程 《apt and yum》

目前 apt和yum 已经极为成熟了,建议我们安装软件时,采用 apt或者yum ;如果安装系统盘提供的软件包,可以用 system-config-packages 或redhat-config-packages ;


一、RPM包管理的用途;

1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;
2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;
3、可以在查询系统中的软件包是否安装以及其版本;
4、作为开发者可以把自己的程序打包为RPM 包发布;
5、软件包签名GPG和MD5的导入、验证和签名发布
6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;


二、RPM 的使用权限;

RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;


三、rpm 的一点简单用法;

我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;有时我们在一些网站上找到file.rpm ,都要用 rpm 来安装;

一)初始化rpm 数据库;

通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库;

[root@localhost beinan]# rpm --initdb
[root@localhost beinan]# rpm --rebuilddb 注:这个要花好长时间;

注:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题;

二)RPM软件包管理的查询功能:

命令格式

rpm {-q|--query} [select-options] [query-options]

RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,更为详细的具体的,请参考#man rpm

1、对系统中已安装软件的查询;

1)查询系统已安装的软件;

语法:rpm -q 软件名

举例:

[root@localhost beinan]# rpm -q gaim
gaim-1.3.0-1.fc4

-q就是 --query ,中文意思是“问”,此命令表示的是,是不是系统安装了gaim ;如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息;

查看系统中所有已经安装的包,要加 -a 参数 ;

[root@localhost RPMS]# rpm -qa

如果分页查看,再加一个管道 |和more命令;
[root@localhost RPMS]# rpm -qa |more

在所有已经安装的软件包中查找某个软件,比如说 gaim ;可以用 grep 抽取出来;

[root@localhost RPMS]# rpm -qa |grep gaim

上面这条的功能和 rpm -q gaim 输出的结果是一样的;

2)查询一个已经安装的文件属于哪个软件包;

语法 rpm -qf 文件名

注:文件名所在的绝对路径要指出

举例:

[root@localhost RPMS]# rpm -qf /usr/lib/libacl.la
libacl-devel-2.2.23-8

3)查询已安装软件包都安装到何处;

语法:rpm -ql 软件名 或 rpm rpmquery -ql 软件名

举例:

[root@localhost RPMS]# rpm -ql lynx
[root@localhost RPMS]# rpmquery -ql lynx

4)查询一个已安装软件包的信息

语法格式: rpm -qi 软件名

举例:

[root@localhost RPMS]# rpm -qi lynx

5)查看一下已安装软件的配置文件;

语法格式:rpm -qc 软件名

举例:

[root@localhost RPMS]# rpm -qc lynx

6)查看一个已经安装软件的文档安装位置:

语法格式: rpm -qd 软件名

举例:

[root@localhost RPMS]# rpm -qd lynx

7)查看一下已安装软件所依赖的软件包及文件;

语法格式: rpm -qR 软件名

举例:

[root@localhost beinan]# rpm -qR rpm-python

查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil ;比如:

[root@localhost RPMS]# rpm -qil lynx


2、对于未安装的软件包的查看:

查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看等;

1)查看一个软件包的用途、版本等信息;

语法: rpm -qpi file.rpm

举例:

[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm

2)查看一件软件包所包含的文件;

语法: rpm -qpl file.rpm

举例:

[root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm

3)查看软件包的文档所在的位置;

语法: rpm -qpd file.rpm

举例:

[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm

5)查看一个软件包的配置文件;

语法: rpm -qpc file.rpm

举例:

[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm

4)查看一个软件包的依赖关系

语法: rpm -qpR file.rpm

举例:

[root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm
/bin/bash
/usr/bin/python
config(yumex) = 0.42-3.0.fc4
pygtk2
pygtk2-libglade
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
usermode
yum >= 2.3.2


三)软件包的安装、升级、删除等;


1、安装和升级一个rpm 包;

[root@localhost beinan]#rpm -vih file.rpm 注:这个是用来安装一个新的rpm 包;
[root@localhost beinan]#rpm -Uvh file.rpm 注:这是用来升级一个rpm 包;

如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装;

语法结构:

[root@localhost beinan]# rpm -ivh file.rpm --nodeps --force
[root@localhost beinan]# rpm -Uvh file.rpm --nodeps --force

更多的参数,请查看 man rpm

举例应用:

[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
    1:lynx ########################################### [100%]
[root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
    1:lynx ########################################### [100%]

注: --replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要;

测试安装参数 --test ,用来检查依赖关系;并不是真正的安装;

[root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]

由新版本降级为旧版本,要加 --oldpackage 参数;

[root@localhost RPMS]# rpm -qa gaim
gaim-1.5.0-1.fc4
[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
    1:gaim ########################################### [100%]
[root@localhost RPMS]# rpm -qa gaim
gaim-1.3.0-1.fc4

为软件包指定安装目录:要加 -relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在 /opt/gaim 目录中;

[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
    1:gaim ########################################### [100%]
[root@localhost RPMS]# ls /opt/
gaim

为软件包指定安装目录:要加 -relocate 参数;下面的举例是把lynx-2.8.5-23.i386.rpm 指定安装在 /opt/lynx 目录中;


[root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
1:lynx ########################################### [100%]

我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用 ln -s ;

[root@localhost RPMS]# /opt/lynx/usr/bin/lynx
Configuration file /etc/lynx.cfg is not available.
[root@localhost RPMS]# ln -s /opt/lynx/etc/lynx.cfg /etc/lynx.cfg
[root@localhost RPMS]# /opt/lynx/usr/bin/lynx www.linuxsir.org


2、删除一个rpm 包;

首先您要学会查询rpm 包 ;请看前面的说明;

[root@localhost beinan]#rpm -e 软件包名

举例:我想移除lynx 包,完整的操作应该是:

[root@localhost RPMS]# rpm -e lynx

如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。但尽可能不要这么做,最好用软件包管理器 systerm-config-packages 来删除或者添加软件;

[root@localhost beinan]# rpm -e lynx --nodeps


四、导入签名:

[root@localhost RPMS]# rpm --import 签名文件

举例:

[root@localhost fc40]# rpm --import RPM-GPG-KEY
[root@localhost fc40]# rpm --import RPM-GPG-KEY-fedora

关于RPM的签名功能,详情请参见 man rpm

五、RPM管理包管理器支持网络安装和查询;

比如我们想通过 Fedora Core 4.0 的一个镜像查询、安装软件包;

地址:
http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/

举例:

命令格式:

rpm 参数 rpm包文件的http或者ftp的地址
# rpm -qpi http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm
# rpm -ivh http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm

举一反三吧;


六、对已安装软件包查询的一点补充;

[root@localhost RPMS]# updatedb
[root@localhost RPMS]# locate 软件名或文件名

通过updatedb,我们可以用 locate 来查询一些软件安装到哪里了;系统初次安装时要执行updatedb ,每隔一段时间也要执行一次;以保持已安装软件库最新;updatedb 是slocate软件包所有;如果您没有这个命令,就得安装slocate ;

举例:

[root@localhost RPMS]# locate gaim


七、从rpm软件包抽取文件;

命令格式: rpm2cpio file.rpm |cpio -div

举例:
[root@localhost RPMS]# rpm2cpio gaim-1.3.0-1.fc4.i386.rpm |cpio -div

抽取出来的文件就在当用操作目录中的 usr 和etc中;

其实这样抽到文件不如指定安装目录来安装软件来的方便;也一样可以抽出文件;

为软件包指定安装目录:要加 -relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在 /opt/gaim 目录中;

[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
    1:gaim ########################################### [100%]
[root@localhost RPMS]# ls /opt/
gaim

这样也能一目了然;gaim的所有文件都是安装在 /opt/gaim 中,我们只是把gaim 目录备份一下,然后卸掉gaim;这样其实也算提取文件的一点用法;


八、RPM的配置文件;

RPM包管理,的配置文件是 rpmrc ,我们可以在自己的系统中找到;比如Fedora Core 4.0中的rpmrc 文件位于;

[root@localhost RPMS]# locate rpmrc
/usr/lib/rpm/rpmrc
/usr/lib/rpm/redhat/rpmrc

我们可以通过 rpm --showrc 查看;具体的还得我们自己来学习。

常见问题

1.如何安装rpm软件包
     rmp软件包的安装可以使用程序rpm来完成。执行下面的命令
rpm -i your-package.rpm
     其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。
     安装过程中可能出现下面的警告或者提示:
... conflict with ...   可能是要安装的包里有一些文件可能会覆盖现有的文件,缺省时这样的情况下是无法正确安装的可以用rpm --force -i 强制安装即可
... is needed by ...
... is not installed ... 此包需要的一些软件你没有安装可以用 rpm --nodeps -i 来忽略此信息
     也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能

2.如何安装.src.rpm软件包
     有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。这类软件包有两种安装方法,
方法一:
1.执行rpm -i your-package.src.rpm
2.     cd /usr/src/redhat/SPECS
3.     rpmbuild -bp your-package.specs          一个和你的软件包同名的specs文件
4.     cd /usr/src/redhat/BUILD/your-package/    一个和你的软件包同名的目录
5.     ./configure   这一步和编译普通的源码软件一样,可以加上参数
6.     make
7.     make install

方法二:
1.执行rpm -i you-package.src.rpm
2.     cd /usr/src/redhat/SPECS
前两步和方法一相同
3.     rpmbuild -bb your-package.specs          一个和你的软件包同名的specs文件这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)
在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
执行rpm -i new-package.rpm即可安装完成。

3.如何卸载rpm软件包
     使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm
比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:
         rpm -e proftpd-1.2.8-1
         rpm -e proftpd-1.2.8
         rpm -e proftpd-
         rpm -e proftpd
     不可以是下列格式:
         rpm -e proftpd-1.2.8-1.i386.rpm
         rpm -e proftpd-1.2.8-1.i386
         rpm -e proftpd-1.2
         rpm -e proftpd-1
     有时会出现一些错误或者警告:
... is needed by ... 这说明这个软件被其他软件需要,不能随便卸载可以用rpm -e --nodeps强制卸载

        
4.如何不安装但是获取rpm包中的文件
     使用工具rpm2cpio和cpio
rpm2cpio xxx.rpm | cpio -vi
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio xxx.rpm | cpio --extract --make-directories
参数i和extract相同,表示提取文件。v表示指示执行进程
d和make-directory相同,表示根据包中文件原来的路径建立目录
m表示保持文件的更新时间。

5.如何查看与rpm包相关的文件和其他信息
下面所有的例子都假设使用软件包mysql-3.23.54a-11
1.我的系统中安装了那些rpm软件包
         rpm -qa          讲列出所有安装过的包
   如果要查找所有安装过的包含某个字符串sql的软件包
         rpm -qa |grep sql

2.如何获得某个软件包的文件全名
         rpm -q mysql     可以获得系统中安装的mysql软件包全名,从中可以获得
    当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-11

3.一个rpm包中的文件安装到那里去了?
          rpm -ql 包名
    注意这里的是不包括.rpm后缀的软件包的名称
    也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。
    如果只是想知道可执行程序放到那里去了,也可以用which,比如
         which mysql

4.一个rpm包中包含那些文件
     一个没有安装过的软件包,使用rpm -qlp ****.rpm
     一个已经安装过的软件包,还可以使用rpm -ql ****.rpm

5.如何获取关于一个软件包的版本,用途等相关信息?
     一个没有安装过的软件包,使用rpm -qip ****.rpm
     一个已经安装过的软件包,还可以使用rpm -qi ****.rpm


6.某个程序是哪个软件包安装的,或者哪个软件包包含这个程序
           rpm -qf   `which 程序名`    返回软件包的全名
           rpm -qif `which 程序名`    返回软件包的有关信息
           rpm -qlf `which 程序名`    返回软件包的文件列表
    注意,这里不是引号,而是`,就是键盘左上角的那个键。
    也可以使用rpm -qilf,同时输出软件包信息和文件列表


7.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件
     注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以
用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。
     首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:
         # whereis ftptop
         ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz
         # rpm -qf /usr/bin/ftptop
         proftpd-1.2.8-1
         # rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt
         proftpd-1.2.8-1
                
总结:
     获得软件包相关的信息用rpm -q,q表示查询query,后面可以跟其他选项,比如
i   表示info,获得软件包的信息;
l   表示list,获得文件列表;
a   表示all,在所有包中执行查询;
f   表示file,根据文件进行相关的查询;
p   表示package,根据软件包进行查询
     需要的查询条件可以使用grep产生,或者从"` `"中的命令行产生

6.关于rpm软件包的一些相关知识
1.什么是rpm
    rpm 即RedHat Package Management,是RedHat的发明之一

2.为什么需要rpm
    在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的
程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,
配置,卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个
较好的办法来管理成千上百的软件。这就是RPM管理系统。在系统中安装了rpm管理系统
以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载

3.是不是所有的linux都使用rpm
     任何系统都需要包管理系统,因此很多linux都使用rpm系统。但rpm系统是为RH专门
但是TL,Mandrake等系统也都使用rpm。由于rpm的源程序可以在别的系统上进行编译,
所以有可能在别的系统上也使用rpm
     除了rpm,其他一些系统也有自己的软件包管理程序,例如debian的deb包,
slakware也都有自己的包管理系统

4.rpm包的文件名为什么那么长
     rpm包的文件名中包含了这个软件包的版本信息,操作系统信息,硬件要求等等。
比如mypackage-1.1-2TL.i386.rpm,其中mypackage是在系统中登记的软件包的名字
1.1是软件的版本号,2是发行号,TL表示用于TL操作系统,还可能是RH等。i386表示
用于intel x86平台,还可能是sparc等。

5.软件包文件名中的i386,i686是什么意思
     rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构
的信息。
     i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32)
     i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32)
     noarch指这个软件包于硬件架构无关,可以通用。
     i686软件包的程序通常针对CPU进行了优化,所以,向后兼容比较用以,i386的包在
x86机器上都可以用。向前一般不兼容。不过现在的计算机,奔腾pro以下的CPU已经很少
用,通常配置的机器都可以使用i686软件包


6.不同操作系统发行的rpm包可否混用?
     对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。
     对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同系统下安装。

7.使用rpm时遇到的一些特殊问题
Q   我用rpm -e **.rpm无法删除rpm包
A   包名不要包括rpm,
    rpm -e 包名,可以包含版本号等信息,但是不可以有后缀.rpm

Q   在MS的系统下有没有读RPM文件的工具?
A   wincmd with rpm plugins.....

Q   是否可以通过ftp安装安装升级rpm包?
A   可以。rpm -ivh    ftp://xxxxxxxx/PATH2SomeRPM


Q   rpm安装时已有的包版本过高怎么办?
A   有时由于安装的软件包太老,而系统中相关的软件包版本比较新,所以可能需要安装的包依赖的一些文件会找不到。

这时有两种解决办法,第一是在系统文件中找到和需要的文件功能相同或相似的文件,做一个符号链接到需要的目录下。第二是下载安装新版本的软件包。

5G NR协议栈及功能1 - 总体架构与物理层   备注:本文所有图片均来自3GPP标准,包括3GPP TS 38.300 V15.0.0 (2017-12)和3GPP TS 38.202 V15.0.0 (2017-12)等。本文主要介绍截止目前(2018年1月25日),3GPP 5G NR相关的协议内容,后期可能会有更新。   本系列共分为两部分:   1. 5G NR协议栈及功能1 - 总体架构与物理层 http://blog... 阅读详情

相关推荐

Keysight ADS新手必看:3分钟搞定TDR模拟的保姆级教程(附差分信号设置技巧)

本文为Keysight ADS新手提供TDR模拟的保姆级教程,详细介绍了从基础环境准备到差分信号设置的全流程。通过内置模板调用、待测器件连接和仿真结果解读,帮助用户快速掌握TDR模拟技术,特别包含差分信号配置技巧,提升信号完整性分析效率。

weixin_30872157的博客 196

步进电机控制,RPM与PPS单位关系分析

一、速度控制 步进电机的运转速度与输入的脉冲速度成等比例关系。脉冲速度快,电机转速就快;脉冲速度慢,电机转速就慢。 电机的转速(RPM)与脉冲速度(PPS,又称Hz)之间的关系如下: 转速(RPM)=脉冲速度(PPS或Hz)*60➗(步进电机分割数/圈) 说明: 1.RPM为一般电机的速度单位,即rev/min,为每分钟电机所转的圈数;PPS为步进、伺服电机的速度单位,即pulse per second,为每秒所送出的脉冲数。 2.由于RPM与PPS的单位不同,所以转换的过程...

SabreWulf 3万+

ThinkPad T14 Gen 2与T14P系列对比

表格您的需求推荐机型日常办公、出差、文档处理、视频会议✅(够用、轻便、便宜)视频剪辑、3D建模、编程编译、AI训练、高色准设计✅(性能强、屏幕好、扩展佳)想要未来 5 年不换机✅T14p预算低于 5000 元✅T14 Gen 2(或考虑 T14 Gen 3/4)T14p 2025 款 ≠ 小改款,而是架构级升级它从“高性能笔记本”进化为“AI 移动工作站”,核心差异在于NPU + Ultra 平台 + 全面屏显 + 超长续航。如果您从事AI 开发、视频创作、工程仿真、多任务编程。

tecoes的博客 2739

Linux(centos)中rpm命令的运用

rpm是由red had 公司开发的程序包管理器,可以用来安装、卸载、升级和管理软件,其功能强大,又有相对来说很好的易用性,所以已经成为liunx系统中运用最为广泛的软件包管理器。 其主要用法如下: rpm {-i|--install} [install-options] PACKAGE_FILE1... -h: hash,以#来表示安...

weixin_33674976的博客 166

上海市大数据中心笔试模拟试卷

为帮助考生熟悉上海市大数据中心笔试的题型、考点及答题逻辑,以下整理了一份的模拟试卷,涵盖大数据专业知识、行政职业能力测试(行测)、公共基础知识(含上海本地政策)三大核心模块,并附详细答案解析。

一叶之秋的博客 1815

RHEL 8 与 RHEL 7 与 RHEL 6 的比较,RHEL 8强到离谱!

Red Hat Enterprise Linux(RHEL)是企业级 Linux 发行版中最受欢迎的操作系统之一。RHEL 为服务器和企业环境提供了高性能、稳定性和安全性,适用于各种数据中心和云计算平台。自 RHEL 6 以来,Red Hat 对其操作系统进行了多次重大更新,RHEL 7 和 RHEL 8 带来了许多新的特性、工具和架构变化。

网络技术联盟站 708

linux 记录包工具,Linux实用工具-rpm软件包构建(2)

一、软件包制作1,描述文件制作rpm软件包的关键,就是编写用于生成软件包的spec文件(描述文件)。该文件描述了制作软件包时候所需的信息。下面介绍制作rpm包所需的spec文件的相关内容。首先,要在制做rpm包之前,建立好一些必要的目录结构,例如BUILD,SOURCES,等,然后rpm的相关工具会将这些目录的父目录以%{_topdir}表示,这个%{_topdir}默认值为系统中的某个目录,例如...

weixin_39746869的博客 537

数控系统(CNC)系列:Fanuc 31i-B_(5).基本操作与编程

Fanuc 31i-B 系统使用 G 代码和 M 代码进行编程。G 代码主要用于控制机床的运动,M 代码用于控制辅助功能,如冷却液开关、主轴启动等。G 代码:用于指定机床的运动方式。例如,G00 用于快速定位,G01 用于直线插补,G02 用于顺时针圆弧插补,G03 用于逆时针圆弧插补。M 代码:用于控制机床的辅助功能。例如,M03 用于启动主轴顺时针旋转,M05 用于停止主轴,M08 用于开启冷却液,M09 用于关闭冷却液。

2401_87715305的博客 1766

Linux进阶篇:RPM软件包的管理工具&命令详细讲解

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

qq_39241682的博客 1940

华为OD机试 - 不含101的数(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。小明在学习二进制时,发现了一类不含101的数,也就是:现在给定一个正整数区间,请问这个区间内包含了多少个不含101的数?输入的唯一一行包含两个正整数。输出的唯一一行包含一个整数,表示在区间内一共有几个不含101的数。8 1668 → “1000”

学Java,找哪吒 1250

YOLOv10精度上不去?QAT量化感知训练全流程,INT8推理mAP只掉0.8%

普通PTQ量化虽简单,但无法应对YOLOv10的小目标特征和激活分布波动,导致精度暴跌。QAT通过“模拟量化误差+联合优化权重与量化参数”,让INT8模型精度接近FP16,同时速度提升1.8倍,完美适配实时检测场景(如安防监控、自动驾驶)。该流程已在工业级项目中验证,针对YOLOv10的优化策略(敏感层保护、小目标加权、分阶段训练)可直接迁移至其他YOLO系列(v8/v9),量化后精度损失均可控制在1%以内。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 916

Linux系统中rpm命令用法详解

Linux系统中rpm命令用法详解

IT之一小佬的博客 1万+

【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)

通过上述可视化分析,我们可以清晰地看到中国历年GDP的变化趋势和产业构成。玫瑰图展示了2024年的产业构成,地图和柱状图展示了GDP的时空分布,双轴折线图和雷达图则分别展示了GDP总量与人均GDP的变化以及各行业的GDP贡献。希望这篇文章能帮助您更好地理解和分析中国历年GDP数据。如果您有任何问题或建议,欢迎在评论区留言!🎉。

qq_38614074的博客 1472

Linux(centos)下安装卸载命令rpm,make install使用方法【转】

A:RPM包, 这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装。 ==如何卸载: 1、打开一个SHELL终端 2、因为LINUX下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称。 查找RPM包软件:rpm -qa ×××* 注意:×××指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号“*”,即星号,如你想查找机子里安装的R

蝈蝈俊.net 2619

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Linux中的file.src.rpm 使用方法的简单介绍(转)

Linux中的file.src.rpm 使用方法的简单介绍(转)[@more@]提要:初学Linux的弟兄可能会看到file.src.rpm 格式的软件包,但不知道如何使用;现简单介绍一下,太详细的我也不太知道;我毕竟不是计算机...

cudao7505664的专栏 361

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Ubuntu中安装RPM包

Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。 sudo apt-get install alien #alien默认没有安装,所以首先要安装它,如果找不到这个包,请检查你的/etc/apt/sources.list ,并添加 deb http://ubuntu.cn99.com/ubuntu/ feisty main restricted

shannonlee的专栏 802

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ubuntu安装deb,rpm安装包方法

Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。 sudo apt-get install alien #alien默认没有安装,所以首先要安装它 sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.deb sudo dpkg -i xxxx.deb #安装   注意,用ali

Android++;ubuntu++;linux++……++ 888

解决rpm安装nmap依赖报错问题,推荐第三种方法

方式1: Ubuntu 是 Debian 类型的 linux。使用 apt-get install nmap 可以直接安装 nmap。LaMont Jones 维护了Nmap 的 deb 安装包。稳定的版本在 http://packages.debian.org/stable/nmap, 开发的版本(不稳定的版本)在 http://packages.debian.org/unstable/nmap...

兜率宫 2417

deb和rpm 程序的格式互转

<br />1.从下列地址下载包alien_8.81.tar.gz<br />http://packages.debian.org/unstable/source/alien<br /> 2.解压:<br /> tar -zxvf alien_8.81.tar.gz<br /> 3.进入解压后的目录<br /> cd alien<br /> 4.将deb包转化为rpm包(比如有包skype-debian_2.0.0.63-1_i386.deb)<br /> ./alien.pl -r ../sk

dunshaokun的专栏 542

Linux中使用rpm命令安装rpm包

安装软件包命令,参数指明了( v 展示正在安装的文件信息 1 #rpm -i example.rpm 安装 example.rpm 包; 2 #rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息; 3 #rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度 rpm -...

下一站浮华的博客 6万+

linux如何运行rpm,LINUX下RPM的使用方法

RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执...

weixin_39917718的博客 7223

rpm-使用方法

RPM指令 rpm -ivh package.rpm 安装一个rpm包 rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 rpm -U package.rpm 更新一个rpm包但不改变其配置文件 rpm -F package.rpm 更新一个确定已经安装的rpm包 rpm -e package_name.rpm 删除一个rpm包 rpm -qa 显示系统中所有已经安装的rpm包 rpm -qa | grep httpd 显示所有名称中包含 “httpd” 字样

qq_47148037的博客 3468

rpm使用方法

rpm使用方法 本文使用范围: 1、本文是对RPM管理的软件的说明,对通过file.tar.gz 或file.tar.bz2源码包用 make ;make install 安装的软件无效; 2、安装软件时,最好用各自发行版所提供的系统软件包管理工具,对于Fedora/Redhat 您可以参考如下文章; 1)Fedora 系统管理软件包工具 system-

~~Jeremy 1086
上一篇: doxygen+VIM文档实用指南for C/C-liked Programmers
下一篇: 圆明园
AD_LI
博客等级 码龄19年 18粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值