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 の man ページによると、エントリ「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>

追加するだけで、なぜ私はそれを知りたいのですか。i386このマシンで RPM をビルドすると、RPM ディレクトリの下に 2 つのディレクトリが見つかりましi686た。

生成された RPM の特定の場所へのコピーを自動化したい場合、シェル スクリプトでどのディレクトリを指定すればよいでしょうか? 私はこれを使用しuname -pていますi686が、RPMが生成されi386ました。

4

2 に答える 2

3

あなたの場合は、64 ビット プロセッサで 32 ビット オペレーティング システムを実行していることがわかります。コードは 386 と互換性があります。

彼らです:

  • マシンのハードウェア名 (ハードウェア クラスまたはハードウェア タイプと呼ばれることもあります)。
  • ハードウェア プラットフォーム名 (ハードウェア実装とも呼ばれる)

最初のものは、検出された CPU について何かを述べています。2 つ目は、una​​me プログラムがコンパイルされたターゲット アーキテクチャに関するものです。一部の CPU では、デフォルトで「不明」になります。カーネルはこの情報を提供する必要がありますが、何も利用できない場合は、デフォルトでハードコードされた文字列になります。

私の場合:

$ ウナメ -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 --hardware-platform

unknown
于 2010-04-02T12:00:31.733 に答える
0

この場合の違いは、ハードウェア プラットフォームがファミリー ハードウェアであることだと思います。i386 互換セットまたはプロセッサ。machine は特定のマシン、つまり i386 プロセッサのファミリーにある i686 を指します。

于 2010-04-02T06:31:01.093 に答える