linux - "machine hardware"和 "hardware platform"之间的区别

标签 linux hardware cpu-architecture

我的 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>

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

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

最佳答案

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

它们是:

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

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

以我为例:

$ uname -a

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

$ uname --机器

x86_64

$ uname --硬件平台

unknown

关于linux - "machine hardware"和 "hardware platform"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2565282/

相关文章:

c# - 如何使用 C# 打开单个 Arduino 端口?

c++ - 用于读取 DVD FS(数据光盘)的 lib

performance - 32 位 SPARC V8 应用程序可以在 64 位 SPARC V9 上运行吗?

hardware - 字节如何映射到小端系统上的 AXI4 总线

linux - 中断 ID 到名称映射

regex - SH CLI sed 从列表中删除除路径之外的所有字符

linux - VMWare Server 2.0.0 和 vista 64 位 DNS 无法解析

cpu-architecture - DMA 如何/如何处理多个并发传输?

cpu-word - 计算机中字的大小是什么意思?

linux - 如何将 SQLite3 数据库更改刷新到磁盘?