2

我的 Linux 机器报告“uname -a”输出如下:

[root@tom i386]# uname -a
Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386 GNU/Linux
[root@tom i386]#

根据 uname 的手册页,条目“i686 i686 i386”表示:

  • 机器硬件名称 (i686)
  • 处理器类型 (i686)
  • 硬件平台 (i386)

附加信息:

[root@tom i386]# cat /proc/cpuinfo

<snip>
vendor_id    : GenuineIntel
CPU family   : 6
model        : 15
model name   : Intel(R) Xeon(R) CPU            5148  @ 2.33 GHz
stepping     : 6
CPU MHz      : 2328.038
cache size   : 4096 KB
</snip>

只是补充一下,为什么我有兴趣知道它。当我在这台机器上构建 RPM 时,我发现 RPM 目录下有两个目录,i386i686.

因此,如果我想自动将生成的 RPM 复制到某个位置,我应该在 shell 脚本中指定哪个目录?我正在使用uname -pwhich give i686but RPM generated i386

4

2 回答 2

3

在您的情况下,它告诉您的是,您在 64 位处理器上运行 32 位操作系统。代码与 386 兼容。

他们是:

  • 机器硬件名称(有时称为硬件类或硬件类型)。
  • 硬件平台名称(有时称为硬件实现)

第一个说明了检测到的 CPU。第二个是关于 uname 程序编译成的目标体系结构。在某些 CPU 上,它们默认为“未知”。内核应该提供此信息,但如果没有可用的信息,则默认为硬编码字符串。

就我而言:

$ unname -a

Linux godiva 2.6.30-amd64 #1 SMP Tue Oct 27 09:12:19 UTC 2009 x86_64 GNU/Linux

$ unname --machine

x86_64

$ uname --硬件平台

unknown
于 2010-04-02T12:00:31.733 回答
0

在这种情况下,我认为区别在于硬件平台是家庭硬件,即。i386 兼容集或处理器。而 machine 是指您的特定机器,即 i686,它在 i386 处理器的家族中。

于 2010-04-02T06:31:01.093 回答