почему возврат команды хоста никакая запись SRV?

GCC хранит то, что он генерирует везде, где Вы (или в этом случае, Make-файл) говорите его (с -o выходная опция). Это не делает кэширования результата компиляции отдельно.

То, что делает неравнодушным, перекомпилировало возможный, сам Make-файл. Это - ряд целей (исполняемый файл, объектные файлы, возможно другие вещи) с тем, что они зависят от и правила генерировать цель от этих зависимостей.

make взгляды на все, что должно быть создано путем оценки цепочек зависимости и восстановления всей цели, которые или еще не существуют или имеют зависимости, которые более свежи, чем цель.

Например, скажем, у Вас есть этот простой Make-файл:

foo.o: foo.c foo.h
    gcc -o foo.o -c foo.c

foo: foo.o
    gcc -o foo foo.o

Если Вы вызываете make foo, это посмотрит на Make-файл, видеть это foo зависит от foo.o. Таким образом, это ищет foo.o, и видит, что это зависит от обоих foo.c и foo.h. Если foo.o является более старым затем или этих двух файлов, или если foo.o не существует, это выполняет строку компиляции gcc -o foo.o -c foo.c, который генерирует foo.o.

Если Вы повторно выполняетесь make foo право после этого, foo.o будет более новым и, чем файл C и, чем заголовок, таким образом, make не перекомпилирует foo.o, и пропустите к соединению заключительного исполняемого файла (если это необходимо - это могло бы просто сказать, что ничто не должно быть сделано).

2
19.02.2014, 01:30
3 ответа

Записи SRV обычно имеют следующую структуру:

_service._protocol.dns-domain-name

Например, Microsoft AD для своей работы полагается на LDAP и Kerberos. Поэтому для рекламы этих служб в домене DNS, представляющем домен AD (допустим, example.com - это наш домен), создаются следующие SRV-записи:

_kerberos._tcp.example.com  
_ldap._tcp.example.com

Итак, на самом деле вы должны выполнить следующую команду:

host -t srv _ldap._tcp.zeus.company.com

Для более подробного объяснения того, как работают SRV-записи, смотрите здесь: http://en.wikipedia.org/wiki/SRV_record

Полный список и объяснение записей SRV DNS ActiveDirectory смотрите на этой странице: http://technet.microsoft.com/en-us/library/cc961719.aspx

А вот пример успешного запроса сервера Microsoft Key Management Server с помощью команды host:

rouben@BeagleBoard-Black:~$ host -t srv _vlmcs._tcp.it.cornell.edu  
_vlmcs._tcp.it.cornell.edu has SRV record 20 0 1688 kms02.cit.cornell.edu.  
_vlmcs._tcp.it.cornell.edu has SRV record 10 0 1688 kms01.cit.cornell.edu.  
rouben@BeagleBoard-Black:~$
3
27.01.2020, 21:52

В домене AD типичные служебные записи, записи SRV, публикуемые в DNS, указывают на серверы LDAP и Kerberos.

Они позволяют использовать DNS для обнаружения, поэтому вам не нужно настраивать явные имена хостов для использования служб LDAP и Kerberos, что дает вам больше гибкости при добавлении и удалении серверов в топологии AD.

Вы найдете серверы LDAP и Kerberos в домене AD , выполнив поиск _ldap._tcp. и _kerberos._tcp. SRV записи. например

host -t srv _ldap._tcp.domain.com
host -t srv _kerberos._tcp.domain.com

Если zeus.domain.com является единственным сервером каталогов AD, вы ожидаете следующего результата:

_ldap._tcp.domain.com SRV record location:
    priority     = 0
    weight       = 100
    port         = 389
    srv hostname = zeus.domain.com 

AFAIK обычно никакие SRV-записи не добавляются для имен хостов реальных контроллеров домена, поэтому ожидается, что команда host в вашем вопросе ничего не найду.

Если вы можете преобразовать имя хоста zeus.domain.com в фактический IP-адрес этого сервера AD, то ваш DNS работает достаточно хорошо, чтобы подключиться к домену AD. т.е. простой хост zeus.domain.com должен работать.

2
27.01.2020, 21:52

Ошибка заключается в использовании фактического имени хоста сервера AD. В этом нет необходимости, вам просто нужно указать «имена служб AD» вместе с вашим доменным именем.

  • _kerberos._tcp
  • _ldap._tcp

Примеры

$ host -t srv _ldap._tcp.mydom.com
_ldap._tcp.mydom.com has SRV record 0 100 389 ad1.mydom.com.
_ldap._tcp.mydom.com has SRV record 0 100 389 ad2.mydom.com.
_ldap._tcp.mydom.com has SRV record 0 100 389 ad3.mydom.com.

Где мой домен - mydom.com , а мои серверы AD имеют имена ad1 - ad3.

Записи SRV

Эти записи обычно имеют следующую форму ( из википедии ):

_service._proto.name. TTL class SRV priority weight port target.

Ссылки

2
27.01.2020, 21:52

Теги

Похожие вопросы