Snow Leopardにgetentをインストールするにはどうすればよいですか?


9

ユーティリティを必要とするスクリプトがいくつかありますgetent。さらに、getentを使用するいくつかの便利なヒント読みました。

getentUnix、* BSD、およびLinuxベースのシステムで広く利用できるネットワークユーティリティです。このツールは、ネットワーク情報(IPアドレスなど)を検索するために、システム管理者とパワーユーザーによって一般的に使用されます。ホスト名に関する限り、はとDNSのgetent両方を使用する数少ないツールの1つです/etc/hosts

ウィキペディアは言います

getentは、データベースと呼ばれるいくつかの重要なテキストファイルのエントリを取得するのに役立つUNIXコマンドです。

ここで重要なことはgetent、UNIXライクなシステム上のほとんどのアプリケーションと同じ順序で同じネームサービスを検索することです。これにより、システムやアプリケーションのトラブルをデバッグする際に非常に役立ちます。ツールはDNSに似てdigおり、nslookup具体的にはDNSのみを参照しますが、dscl検索するネームサービスを詳しく説明する必要があります。

getent2つのテストケースに使用したいと思います。

  1. /etc/hostsDNSを照会する前に解析します。たとえば、に追加testhost.example.orgした場合/etc/hosts、DNSをクエリgetent hosts testhost.example.orgする/etc/hosts前にからのエントリを使用する必要があります。

  2. getentを使用してLDAPをクエリする

MacPortsはを提供するパッケージを提供していないようですgetent

getentSnow Leopardの上に存在しますか?


なにgetent?それは何をするためのものか?通常どのシステムで利用できますか?
Cajunluke 2012年

3
getentOS XではDirectoryServiceを使用してホスト名などの解決を行うため、OS Xでは1:1マッピングはありません。具体的なgetent使用例を教えてください。これにより、OS Xでその情報を取得するための対応する方法が簡単に表示されます。
イアンC.

@CajunLuke:getent通常、Unix、* BSD、およびLinuxのようなシステムで使用できます。質問を更新しました。
Stefan Lasiewski、2012年

それで、あなたは何をしようとしているのgetentですか?/etc/hostsDNSを使用する前にホスト名を解決しますか?
イアンC.

私の最も一般的な使用例は、/etc/hostsDNSの前のホスト名を解決することです。これは、Webサーバーやその他のネットワークテストに役立ちます。しかし、私(および他のシステム管理者)は、LDAPのトラブルシューティングなどの他の目的にもgetentを使用しています。
Stefan Lasiewski、2012年

回答:


9

dscacheutilこれはおそらく最良の方法です。これは通常の検索プロセスをエミュレートせず、それを使用するため、実際には標準のルックアップと同じ結果が得られます(キャッシュ、/ etc / hosts、ディレクトリサービスのコンピューターレコード、DNS、.local名のmDNS、等)。

$ dscacheutil -q host -a name www.apple.com
name: e3191.c.akamaiedge.net
alias: www.apple.com www.isg-apple.com.akadns.net www.apple.com.edgekey.net 
ip_address: 69.192.45.15

$ dscacheutil -q host -a name gordons-mbp.local
name: gordons-mbp.local
ipv6_address: fe80:5::e6ce:8fff:fe50:136

name: gordons-mbp.local
ip_address: 192.168.10.249

$ dscacheutil -q host -a ip_address 127.0.0.1
name: localhost
alias: 1.0.0.127.in-addr.arpa 
ip_address: 127.0.0.1

$ dscacheutil -q user -a name gordon
name: gordon
password: ********
uid: 501
gid: 20
dir: /Users/gordon
shell: /bin/bash
gecos: Gordon Davisson


2

OpenSolaris(または他のいくつかのOS、LinuxではなくBSDの1つを試してみます)から取得したソースを探して移植することは、ロケット科学ではありません。私は主に、macOSには同等のものがないもの(ネットマスクとプロジェクト-Solaris固有)を無効にするだけで機能します。または、かなり簡単にperlで記述できます。だれかがずっと前に限定的なことをしました、そして私はより完全なものをしました。perlからの標準的なルックアップがないため、ethersはサポートされていませんが、残りは問題なく動作するようです。

getent.pl

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.