Getent'i Snow Leopard'a nasıl kurabilirim?


9

Yardımcı programı gerektiren birkaç komut dosyası var getent. Buna ek olarak, getent kullanan birkaç kullanışlı ipucu okudum .

getentUnix, * BSD ve Linux tabanlı sistemlerde yaygın olarak bulunan bir Networking yardımcı programıdır. Bu araç, Sysadmins ve uzman kullanıcılar tarafından ağ bilgilerini (IP adresleri vb.) Aramak için yaygın olarak kullanılır. Ana bilgisayar adlarına göre, getenthem /etc/hostsDNS'yi hem de DNS'yi kullanan birkaç araçtan biridir .

As Vikipedi diyor :

getent, kullanıcının veritabanları adı verilen bir dizi önemli metin dosyasına giriş almasına yardımcı olan bir unix komutudur.

Burada önemli olan getent, unix benzeri bir sistemdeki çoğu uygulamada aynı ad hizmetlerini aynı sırada arayacak olmasıdır. Bu, sistemde veya uygulamada hata ayıklama yaparken çok değerli hale getirir. Aramak istediğiniz ad hizmetlerini açıklamanızı beklerken , araçlar yalnızca DNS'ye benzer digve nslookupyalnızca DNS'ye bakar dscl.

getentİki testcas için kullanmak istiyorum :

  1. /etc/hostsDNS'yi sorgulamadan önce ayrıştırın . Örneğin, ben eklerseniz testhost.example.orgiçin /etc/hosts, o getent hosts testhost.example.orggelen girdiyi kullanmalıdır /etc/hostsDNS sorgulamadan önce.

  2. Getent kullanarak LDAP'yi sorgula

MacPorts bir paket sağlama gibi görünmüyor getent.

Does getentSnow Leopard mevcut?


Nedir getent? Bu ne işe yarıyor? Tipik olarak hangi sistemlerde bulunur?
Cajunluke

3
getentOS X'te 1: 1 eşleme yoktur , çünkü OS X, ana makine adları gibi şeylerde çözümlemek için DirectoryService kullanır . Bazı özel getentkullanım örnekleri verebilir misiniz ? Bu, OS X'te bu bilgileri elde etmenin uygun yolunu göstermenizi sağlayacaktır.
Ian C.

@CajunLuke: getentgenellikle Unix, * BSD ve Linux benzeri sistemlerde bulunur. Sorumu güncelledim.
Stefan Lasiewski

Peki ne yapmaya çalışıyorsun getent? /etc/hostsDNS kullanmadan önce ana bilgisayar adları çözülsün mü?
Ian C.

En yaygın kullanım durumum /etc/hosts, Web sunucusu ve diğer ağ testleri için yararlı olan ana bilgisayar adlarını DNS öncesi çözümlemektir . Ancak ben (ve diğer sistem yöneticileri) LDAP sorunlarını gidermek gibi diğer şeyler için getent kullanıyorum.
Stefan Lasiewski

Yanıtlar:


9

dscacheutilmuhtemelen bunu yapmanın en iyi yoludur. Her zamanki arama işlemini taklit etmez, kullanır , bu nedenle standart bir arama ile aynı sonuçları elde edersiniz (önbellekleme, / etc / hosts, dizin hizmetlerindeki bilgisayar kayıtları, DNS, .local adları için mDNS, vb).

$ 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

GetS kaynağını OpenSolaris'ten (veya başka bir işletim sisteminden, Linux yerine BSD'lerden birini denerdim) taramak ve portlamak roket bilimi değil; Bunu esas olarak sadece macOS'un eşdeğeri olmayan şeyleri devre dışı bırakarak aldım (netmasklar ve proje - Solaris'e özgü). Ya da perl'de oldukça kolay yazabilir. Birisi uzun zaman önce sınırlı bir tane yaptı ve ben daha eksiksiz bir tane yaptım; eterleri desteklemiyor çünkü perl'den standart bir arama yok, ancak geri kalanı iyi çalışıyor gibi görünüyor.

getent.pl

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.