web-dev-qa-db-ja.com

(ホスト名ではなく)コンピュータ名を取得する方法は?

検索結果はすべてhostnameまたはuname -nと関係があります。私は両方のマニュアルを調べ、卑劣なオプションを探しましたが、うまくいきませんでした。

LinuxシステムでOSXのscutil --get ComputerNameに相当するものを見つけようとしています。 Mac OS Xでは、コンピュータ名は人間が読み取れるコンピュータの識別子として使用されます。さまざまな管理画面に表示され(e.g。在庫管理、Bonjourベースのリモートアクセスなど)、デフォルトのホスト名として機能します(スペースなどを処理するためのフィルタリング後)。

21
Jonathan H

Linuxを実行しているコンピューターの人間が読み取れる(そして人間が選択した)名前に最も近いものは、/etc/hostnameに格納されているデフォルトのホスト名です。一部の(すべてではない)Linuxディストリビューションでは、この名前はインストール時にコンピューターの名前として入力されます(ただし、Mac OS Xのコンピューター名とは異なり、ネットワークホスト名の制約があります)。

32
Stephen Kitt

Sudo dmidecode | grep -A3 '^System Information'コマンド。このコマンドは、BIOSおよびハードウェアから情報を読み取ります。私のマシンからの例:

System Information
    Manufacturer: LENOVO
    Product Name: 20BHA06YGB
    Version: ThinkPad W540

出典: [1]

17
jschlichtholz

厳密に言えば、Linuxにはネットワークに関係のない「コンピュータ名」などはありません。実際には、ネットワーク上にないコンピュータに名前を付ける目的がわかりません。

コンピューターの/etc/hostname/etc/hostsuname -nの文字列が異なるのは、DHCPプロトコルに、ホスト名とIPアドレスを新しいホストに提供する機能があるためです。 「machine42.work.localnetwork」は、DHCPサーバーが選択する名前とまったく同じように見えます。この文字列は保存され、 gethostname 呼び出しによって返されます。

以下も参照してください。

コンピュータ名を変更するにはどうすればよいですか? (tl; dr echo computername > /etc/hostname)-インストール中に名前を選択すると、このようになります。

再起動せずにホスト名を変更するにはどうすればよいですか? (tl; dr hostname computername)-これは、ホスト名でDHCPリースを取得するとどうなるかです。

17