dpkg и egrep в Ubuntu 18

Здесь очевидно, что со стороны BIND мало что можно сделать.

Имея записи RR с TTL в 2 недели, всегда существует риск того, что DNS-серверы все еще будут иметь адрес в кеше.

Google также , кажется, смутно намекает на некоторых страницах справки, что он поддерживает длинные TTL для по крайней мере до 3 дней .

Что еще более интересно, странный ответ с новым адресом может быть связан с тем, что несколько DNS-серверов в Google DNS CDN/кластере могли уже очистить кеш и получить новый адрес, или могли никогда не видеть наш домен, или могли быть предоставлен после изменения и никогда не видел старый адрес на самом деле ). Или может быть потому, что иногда это другая точка CDN/другого кластера DNS, возвращающая ответ. Не исследовал.

Или, переходя к сути, неудивительно, что разные ответы не являются особенно удивительными, поскольку служба DNS 8.8.8.8 не обслуживается одним сервером и имеет сложную инфраструктуру -.

Что касается кеша на стороне службы DNS Google, я нашел очень интересную страницу, которая позволяет широкой публике сбрасывать глобально произвольные записи RR DNS здесь

gcache

После ручной очистки кеша записей MX доменов в вопросах общедоступные DNS-серверы Google были снова протестированы с помощью dig, и ответом уже были новые данные RR.

3
16.10.2019, 02:20
3 ответа

Используйте --get-selectionsвместо -lопции:

dpkg --get-selections |grep ^q

Или с помощью awkизменить порядок столбцов:

dpkg -l |awk '{print $2, $3 "\t\t" $1}' | grep ^q
4
27.01.2020, 21:11

Здесь вообще не нужны grep (или egrep ):команда dpkg -lпринимает шаблон:

-l, --list package-name-pattern...
    List packages matching given pattern.

Обратите внимание, что package-name-pattern— это шаблон глобуса, а не регулярное выражение. Так

dpkg -l 'q*'

Если вам нужен вывод в более настраиваемом формате (, например, только имя пакета binay ), вы можете использовать dpkg-queryвместо напр.

dpkg-query -Wf '${binary:Package}\n' 'q*'
4
27.01.2020, 21:11

Регулярные выражения для egrep не соответствуют ожидаемому результату dpkg -l. Если вы хотите сохранить тот же формат вывода, что и dpkg -l, который включает состояние пакета, версию и описание, тогда регулярное выражение необходимо изменить, чтобы оно соответствовало ожидаемому формату :три символа в начале строка (, описывающая состояние пакета в системе )и пробел перед именем пакета.

В выражении ^... [qQ], ^указывает на соответствие с начала строки, ...указывает на соответствие любым трем символам, за которыми следует пробел, затем qсоответствует пакетам, которые начинаются либо с верхнего, либо с пакеты нижнего регистра «q» (должны быть только строчными в Ubuntu, но могут быть пользовательские пакеты, которые не соответствуют этим правилам ).

$ dpkg -l | egrep '^... [qQ]'
ii  qdbus                                         4:4.8.7+dfsg-7ubuntu1                        amd64        Qt 4 D-Bus tool
ii  qemu-block-extra:amd64                        1:2.11+dfsg-1ubuntu7.19                      amd64        extra block backend modules for qemu-system and qemu-utils
...
1
27.01.2020, 21:11

Теги

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