Saya memiliki beberapa skrip yang memerlukan utilitas getent
. Selain itu, saya telah membaca beberapa tips praktis yang menggunakan getent .
getent
adalah utilitas Networking yang banyak tersedia di sistem berbasis Unix, * BSD dan Linux. Alat ini biasanya digunakan oleh Sysadmin dan pengguna listrik untuk mencari informasi jaringan (alamat IP, dll). Sejauh nama host pergi, getent
adalah salah satu dari sedikit alat yang menggunakan keduanya /etc/hosts
dan DNS.
Seperti yang dikatakan Wikipedia :
getent adalah perintah unix yang membantu pengguna mendapatkan entri dalam sejumlah file teks penting yang disebut basis data.
Yang penting di sini adalah bahwa getent
akan mencari layanan nama yang sama dalam urutan yang sama seperti kebanyakan aplikasi pada sistem mirip-unix. Ini membuatnya sangat berharga ketika men-debug sistem atau masalah aplikasi. Alat menyukai dig
dan nslookup
secara khusus hanya melihat DNS, sementara dscl
mengharapkan Anda untuk mengeja layanan nama yang ingin Anda cari.
Saya ingin menggunakan getent
untuk dua testcases:
Parsing
/etc/hosts
sebelum menanyakan DNS . Sebagai contoh, jika saya menambahkantesthost.example.org
untuk/etc/hosts
, makagetent hosts testhost.example.org
harus menggunakan entri dari/etc/hosts
sebelum query DNS.
MacPorts tampaknya tidak menyediakan paket getent
.
Apakah getent
ada di Snow Leopard?
sumber
getent
? Apa fungsinya? Pada sistem apa biasanya tersedia?getent
di OS X karena OS X menggunakan DirectoryService untuk melakukan resolusi pada hal-hal seperti nama host. Bisakah Anda memberikan beberapagetent
contoh penggunaan khusus ? Itu akan membuat Anda menunjukkan cara yang sesuai untuk mendapatkan informasi pada OS X lebih mudah.getent
biasanya tersedia di sistem Unix, * BSD dan Linux. Saya memperbarui pertanyaan saya.getent
? Atasi nama host dari/etc/hosts
sebelum menggunakan DNS?/etc/hosts
sebelum DNS, yang berguna untuk server Web dan tes jaringan lainnya. Tapi saya (dan sysadmin lainnya) menggunakan getent untuk hal-hal lain juga, seperti troubleshooting LDAP.Jawaban:
dscacheutil
mungkin cara terbaik untuk melakukan ini. Itu tidak meniru proses pencarian biasa, itu menggunakannya , sehingga Anda benar-benar akan mendapatkan hasil yang sama dengan pencarian standar (termasuk caching, / etc / hosts, catatan komputer dalam layanan direktori, DNS, mDNS untuk nama lokal., dll).sumber
Lihat Bagaimana mengemulasi getent Unix dengan dscl MacOSX . Karena Anda memiliki skrip yang memanfaatkan
getent
, Anda mungkin ingin mengejar skrip sebagai pembungkus di dscl.sumber
Bukan ilmu roket untuk mengemis sumber getent dari OpenSolaris (atau OS lain, saya akan mencoba salah satu BSD daripada Linux) dan port; Saya mendapatkan itu untuk bekerja terutama dengan hanya menonaktifkan hal-hal yang macOS tidak memiliki padanan untuk (netmasks dan proyek - Solaris khusus). Atau seseorang dapat menulisnya dalam perl dengan cukup mudah. Seseorang pernah melakukan yang terbatas sejak lama, dan saya melakukan yang lebih lengkap; itu tidak mendukung eter karena tidak ada pencarian standar untuk itu dari perl, tetapi sisanya tampaknya berfungsi dengan baik.
getent.pl
sumber