man uname
-m, --machine print the machine hardware name
-i, --hardware-platform print the hardware platform or "unknown"
ここでハードウェアプラットフォームとはどういう意味ですか? 「マシンハードウェア名」とどう違いますか? SEで関連する質問を見つけましたが、受け入れられる答えに矛盾があるようです。この用語の正確な情報はどこにありますか?
ベストアンサー1
POSIXuname
定義されていますが、出力-m
はから返されるシステム名です-i
。-m
uname(2)
システムコール、machine
エントリー中utsname
構造。可能な値は実装によって異なります。 Linuxシステムでは、カーネルアーキテクチャ(x86_64
、i686
...)、プロセスの性質に応じて修正可能。
使用されるさまざまなコンピュータ名については、以下を確認してください。config.guess
:各値セットの最初の要素はシステム名で、、、、、macppc
...がalpha
表示されます。Alpha
21064
グヌcoreutils
'uname
-i
ハードウェアプラットフォーム名を解決できる場合は、それを出力するように定義されます。これが何を意味するのかを理解するには、以下を見てください。ソースコード。システムがuname
サポートの上に構築されている場合sysinfo(SI_PLATFORM, ...)
(autoconf
マクロPOSIXと主張しているが確認できない)そこに返されたハードウェアプラットフォームを使用します。たとえば、これはSunOSとSolarisでは機能しますが、Linuxでは機能しません。sysinfo
使用できない場合はsys/sysctl.h
含めて確認し、両方が定義されてHW_MODEL
いる場合はHW_MACHINE_ARCH
指定されたモデルが使用されます。sysctl()
これは一部のBSDタイプのプラットフォームで機能します。
要約すると、両方の値は実装に依存するため、実際の意味を与えることは困難です。