# dmidecode --string system-uuid
私は私の環境の各ホストからUUIDを取得するために上記のコードを使用しています。私が理解したように、UUIDは、同じハードウェア構成を使用する同じホスト上の異なるLinuxディストリビューション間で変更しないでください。しかし、他のLinuxディストリビューションでいくつかのテストを実行した後、同じコマンドを使用して別のuuidを見つけました。
dmidecode
以前のバージョンでは、異なるUUID結果が得られたようです。
たとえば、dmidecode 2.9
SLES11.2の結果はstring A
、dmidecode 2.12
Debian 8の結果はですstring B
。
自分のコンピュータにどのLinuxディストリビューションを配布しても同じUUIDを取得するにはどうすればよいですか?
追加情報:
dmidecode
ネットワークアダプタや他のハードウェアの設定を変更してもUUIDが変わらないことがわかったので、UUIDの代わりにMACアドレスを使用したいと思います。
私にとって必要なのは、マイナーなハードウェア変更と、さまざまなオペレーティングシステムでそれを識別するために、自分のコンピュータに固有の識別子を持つことができることです。dmidecode
UUIDを生成してファイルに書き込んで使用する代わりに、何らかの方法でfalseにすることはできませんを使用したいと思います。
私はVMwareとレプリケーションシステムの多くを使用しているので、レプリケーションでコピーされないことが必要です。
答え1
それはswです。欲しいとか望んでいなくても変わります:)
私はデータベースインデックスを取得するためにこれに依存しません(そしてほとんどすべてのソフトウェアまたはハードウェアベースの情報の自動検出)。ハードウェアとソフトウェアの両方を変更する必要があり、情報が変更されたら再起動する必要があります。もっと悪いかもしれません。重複したデータが得られると、データベースに問題が発生する可能性があります。
一意性を確保するために、インデックスに資産管理ツールを使用し、自動検出された情報(MAC、HDD、RAM、CPU、uuidなど)をインデックスにマッピングしますが、個別の/独立した値に、単一の値に分解せずに。これにより、単一値/多値クエリ(ほとんどの場合)を使用してシステムをターゲットにし、必要に応じてインデックス/資産管理システムに置き換えることができます。また、ハードウェア/ソフトウェアのアップグレード/スワップを処理し、1つ以上の情報値(更新されたuuidなど)を追加/変更/削除することもできます。
答え2
私は使用しますhostname
:
i = gethostname(tmp,2047);
if (i) /* found host name */
strcpy(wrk,tmp);
大きく変わらないといいと思います:-)。