Кто читает /etc/resolv.conf?

Это возвращаемый символ в копируемом тексте, который инициирует автоматическое выполнение.

Давайте возьмем другой пример, скопируем все эти строки сразу и вставьте их в ваш терминал:

echo "Hello";
echo "World";

Если вы посмотрите на терминал, вы не увидите этого:

$ echo "Hello";
echo "World";

Вы увидите это (также может быть строка, в которой говорится Мир ):

$ echo "Hello";
Hello
$ echo "World";

Вместо ожидания вставки всех входных данных выполняется первая строка (и по той же причине вторая строка может это делать, а может и не делать). Это связано с тем, что между двумя строками имеется символ RETURN .

При нажатии клавиши ENTER на клавиатуре выполняется только отправка символа со значением ASCII 13 . Этот символ немедленно обнаруживается вашим терминалом и знает, что у него есть специальные инструкции для выполнения того, что вы ввели до сих пор.

При сохранении на компьютере или печати на экране символ RETURN совпадает с любой другой буквой алфавита, цифры или символа. Этот символ можно удалить с помощью пробела или скопировать в буфер обмена, как и любой другой обычный символ.

Единственное отличие заключается в том, что, когда браузер видит символ, он знает, что вместо печати видимого символа, он должен рассматривать его по-другому, и имеет специальные инструкции по перемещению следующего набора текста вниз к следующей строке. По этой причине символы RETURN и ПРОСТРАНСТВ (ascii 32 ) наряду с некоторыми другими редко используемыми символами называются «непечатаемыми символами».

Иногда при копировании текста с веб-сайта трудно скопировать только текст, а не возврат в конце (и часто затрудняется стилем на странице).


Время эксперимента!

Ниже вы найдете две команды, которые иллюстрируют проблему и которые вы можете «потренировать» на. Начните курсор прямо перед эхом и перетащите курсор, пока подсветка не окажется прямо перед стрелкой:

echo "Wait for my signal...";<- End cursor here right after the semicolon

И теперь попробуйте вторую команду. Начните курсор прямо перед эхом и перетащите его вниз до тех пор, пока курсор не окажется на второй строке, но находится прямо перед стрелкой < - . Скопируйте его, а затем вставьте в терминал:

echo 'Go go go!';
<- End cursor here right before the arrow

В зависимости от браузера, может быть даже не видно, что выбранный текст прошел через две строки. Однако при вставке в терминал будет обнаружено, что строка выполняется, поскольку в скопированном тексте обнаружен символ RETURN .

-121--18511-

Я думаю, что соответствующее предложение в вашем вопросе

Я пытался добавить файл ~/.muttrc...

Конфигурационный элемент office365 mutt помещен в ~/.mutt/muttrc ?

Ошибка (/var/mail/philipp: нет такого файла или каталога ) показывает, что параметр spoolfile почему-то сброшен до значения по умолчанию - конфигурационный файл, в котором он был изменен, не считывается

Я предполагаю, что mutt ищет свой конфигурационный файл в ~/.muttrc или ~/.mutt/muttrc и когда он находит первый файл, он не будет оценивать второй.

Решение 1

Поместите эти команды также в ~/.mutt/muttrc .

Недостаток: при обновлении конфигурации mutt office365 параметры могут быть перезаписаны.

Решение 2

Сообщите ~/.muttrc , чтобы использовать другой конфигурационный файл.

Просто вставьте

source ~/.mutt/muttrc

в ~/.muttrc , поэтому mutt будет оценивать этот файл в.
Вставьте его перед собственными параметрами, поэтому, если в обоих конфигурационных файлах определены какие-либо параметры, ваши будут последними, считанными mutt.

-121--289279-

Вы можете попробовать:

awk -F':' '{print $2}' /home/$USER/Downloads/cudaHashcat-1.37/cudaHashcat.pot 

-F: устанавливает разделитель поля на : , а затем сценарий awk печатает второе поле.

16
12.06.2018, 19:11
3 ответа

Клиентские библиотеки DNS.

Библиотеки C содержат DNS-клиенты, которые оборачивают поиск адресов с -по -в протокол DNS и передают их прокси-серверам DNS для выполнения всей черновой работы по разрешению запросов. Таких DNS-клиентов очень много. Тот, который находится в основной библиотеке времени выполнения C вашей операционной системы, скорее всего, будет библиотекой ISC BIND. Но есть масса других, начиная с библиотеки Daniel J. Bernstein dnsи заканчивая c -ares и adns.

Хотя некоторые из них содержат собственные механизмы конфигурации, они обычно имеют режим совместимости с библиотекой BIND, где они читаются как resolv.conf, который является файлом конфигурации для клиентской библиотеки ISC BIND C.

NSS располагается поверх этого и настраивается с помощью nsswitch.conf. Одна из вещей, которую поиск NSS может вызывать внутри, — это DNS-клиент, и nsswitch.confсчитывается кодом NSS в библиотеке C, чтобы определить, передаются ли и где запросы DNS-клиенту, и как обрабатывать различные ответы.

(Есть небольшое усложнение этой идеи, вызванное демоном кэширования служб имен, nscd. Но это просто добавляет дополнительный клиент верхнего уровня -в библиотеку C, говорящий по идиосинкразическому протоколу с локальным сервером, который, в свою очередь, действует как DNS-клиент, говорящий по протоколу DNS с прокси-сервером DNS. systemd-resolvedдобавляет аналогичные осложнения.)

systemd-resolved, NetworkManager, connman, dhcpcd, resolvconfи другие настраивают файл конфигурации DNS-клиента BIND для переключения DNS-клиентов для обмена данными с разными прокси-серверами DNS на лету. Это выходит за рамки этого ответа, тем более что на этом сайте WWW есть много ответов, которые уже касаются византийских деталей, связанных с таким механизмом.

Более традиционным способом работы в мире Unix является запуск прокси-сервера DNS либо на самом компьютере, либо в локальной сети. Отсюда то, что говорится в руководстве FreeBSD о нормально сконфигурированных системах,где действие по умолчанию клиентской библиотеки DNS при отсутствии resolv.confсоответствует тому, что обычно имеют системные администраторы Unix, а именно прокси-сервер DNS, прослушивающий 127.0.0.1. (Руководство FreeBSD для resolv.confна самом деле является документом, который также происходит из BIND ISC, и, конечно, его также можно найти там, где клиентская библиотека BIND DNS была включена в другие места, такие как GNU C. библиотека.)

Дополнительная литература

25
27.01.2020, 19:48

De la mucho mejor página de manual de FreeBSD, resolv.conf:

 The resolver configuration file contains information that is read by the
 resolver routines the first time they are invoked by a process.

 On a normally configured system this file should not be necessary.  The
 only name server to be queried will be on the local machine, the domain
 name is determined from the host name, and the domain search path is
 constructed from the domain name.
7
27.01.2020, 19:48

Файл /etc/resolv.confчитается *вызовами libc, выполняющими разрешение имени хоста. В первую очередь это getaddrinfoи устаревшее gethostbyname.

Если этим функциям передается DNS-имя, то они делают это в следующем порядке::

  1. Попробуйте разрешить имя хоста локально, то есть прочитав /etc/hosts.
  2. Если это не удается, запросите DNS-серверы, перечисленные в /etc/resolv.conf.
  3. Если это также не удается, то имя хоста не может быть разрешено.

Поскольку вы упомянули dnsmasq:Это DNS-сервер, работающий локально. Таким образом, во многих современных дистрибутивах Linux /etc/resolv.confуказывает только на 127.0.0.1(, где локальный dnsmasq прослушивает ). Затем dnsmasq настраивается для пересылки запросов на DNS-серверы Интернета; dnsmasq настраивается Network Manager при подключении к Интернету.

1
27.01.2020, 19:48

Теги

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