Linux下rpm包x86、i386、i486、i586、i686和x86_64这些后缀含义
大家好,又见面了,我是你们的朋友全栈君。
iamlaosong评:虽然rpm包版本很多,不过目前的新机器都可以使用x86_64版本,而且也应该使用这个版本,除非一些特殊场合,比如为了使用一些老版程序。有些功能没有x86_64版本,那也只好用i386了。现在的发行包,一般也就提供i386和x86_64两个版本,即32位版本和64位版本,有些甚至已经不提供i386版本了。
1、i386、i586、i686与Noarch
i386—几乎所有的X86平台,不论是旧的pentum或者是新的pentum-IV与K7系统CPU,都可以正常工作,i指得是Intel兼容的CPU,至于386就是CPU的等级。 i586—就是586等级的计算机,包括pentum第一代MMX CPU,AMD的K5,K6系统CPU(socket7插脚)等CPU都是这个等级。 i686—pentum 2 以后的Intel系统CPU及K7以后等级的CPU都属于这个686等级。 Noarch—代表跟硬件体系结构无关。不管是 x86、PowerPC,Sparc 或者 Alpha 系统。
2、对后缀*.i386.rpm及*.i686.rpm的说明
现在可以直接安装的rpm软件包有这么几种(后缀):*.i386.rpm,*.i486.rpm,*.i586.rpm,*.i686.rpm,这是与CPU的指令集有关.因为intel的cpu经过这么久的发展,不断的更新,产生从8086,8088,80286,80386,80486,奔腾(586),奔腾二代(686),奔腾三代(686)…cpu的每次换代,都增加了一些新的指令集,但都向后兼容。而这些软件包为了能发挥好cpu的全部性能,就加入cpu相对应能指行的指令。因此就产生了各种不同的软件包。所以,i686的软件包能在奔腾二代以上的cpu上执行,但基本不能在此之先的cpu如486上执行。而i386的软件包既可在i386的电脑上执行,也可在后面所有的cpu上执行(如奔三,但不能发挥cpu的最佳性能。) 还有AMD的系统,现在也有一种软件包:*.athlon.rpm,这种装在AMD系统上更能发挥好AMD的cpu的性能。还有一种:*.noarch.rpm这个与包可以在各个不同的cpu上使用。 一般来讲,在我的电脑脑上从后缀*.i386.rpm一直到*.i686.rpm都可安装。(没有谁用奔腾二代以下的cpu吧?) 还有一种类型的软件包是后缀*.src.rpm 这类软件包是源程序包,不能直接安装运行的,先要通过编译。在编译时会根据cpu的类型来产生相应后缀的软件包。(不然你找台486的电脑编译程序比较一下)还有,编译内核也是如此。 据许多资料介绍,在一般情况下,同样是在i686的电脑上执行i386与i686的软件在性能上基本没有大的区别。
3、rpm的i386、i586和i686等不同版本有什么不同?
有的rpm有分i386、i586和i686等不同版本,如: abc-1.2.3-4.i386.rpm abc-1.2.3-4.i586.rpm abc-1.2.3-4.i686.rpm