Проверка, был ли BIND скомпилирован с поддержкой dnstap

Место для поиска - в опции -v (verbose), которую можно повторить. Это не дает точно запрашиваемой информации.

Однако вы можете построить то, что хотите, запустив различные части с помощью других опций (см. manpage):

-u, --update
пропускать более новые файлы на приемнике

--existing
пропускать создание новых файлов на приемнике

--ignore-existing
пропускать обновление файлов, существующих на приемнике

Вот пример, использующий -u и --existing:

#!/bin/sh
# $Id: check-rsync,v 1.1 2015/10/31 01:02:58 tom Exp $
# Make a readable report showing whether files would be added (+), deleted (-),
# updated (>) or downdated (<) using rsync between two directories.
#
# Updates to directories are ignored.
#
# author: Thomas E. Dickey (2015)

usage() {
    cat >&2 <<-EOF
    usage: check-rsync [-d] [source] [target]
EOF
    exit 1
}

OPTS=
while [ $# != 0 ]
do
    case .$1 in
    (.-*)
            OPTS="$OPTS $1"
            ;;
    (*)
            break
            ;;
    esac
done

[ $# = 2 ] || usage
[ -d "$1" ] || usage
[ -d "$2" ] || usage

LANG=C
export LANG

SOURCE=$1
TARGET=$2

MYTEMP=$(mktemp -d)
trap "cd; rm -rf $MYTEMP" EXIT

syncit() {
    rsync -n -vaz --delete $OPTS $SOURCE/ $TARGET | \
            sed     -e '/^\(sending\|sent\|total\) /d' \
                    -e '/^$/d' \
                    -e '/^\.\//d' \
                    -e '/\/$/d' | \
            sort
}

cd $MYTEMP

syncit                      >all-updates
syncit -u                   >was-newer
syncit --existing           >was-existing

comm -23 all-updates was-existing | \
    sed     -e '/^deleting /d' \
            -e 's/^/+ /' >>report
comm -23 all-updates was-newer | \
    sed     -e '/^deleting /d' \
            -e 's/^/< /' >>report
sed -e 's/^deleting /- /' -e t -e d all-updates >>report

comm -12 all-updates was-newer | \
    sed     -e 's/^[[:space:]]\+//' \
            -e '/^deleting /d' -e 's/^/> /' >>report

sort -k2 report

Я использовал его для сравнения двух локальных деревьев каталогов (около 10,000 файлов с примерно 100 изменениями). Сценарий явно проверяет, что его параметры являются каталогами. Эту проверку можно было бы изменить для использования с удаленными системами, но поскольку вопрос касается использования опций rsync, а не базового shell-скрипта, это изменение не является частью данного примера.

Третий вариант был бы полезен, если бы можно было расширить сценарий, чтобы показать = для неизмененных файлов. Но у меня нет для этого практического применения: оставим это как упражнение для читателя.

0
09.03.2018, 01:13
1 ответ

Aparentemente, según el enlace provisto en la pregunta:

dnstap will be generally available in BIND 9.11 but is in certain editions of earlier versions, such as BIND 9.9.8-S5

Entonces, al ser BIND en Debian 9, v9.10.x, podemos suponer que no tiene soporte dnstap.

Además, un ticket de error reciente para las pruebas de Debian solicita compilarlo con soporte de DNS.

Error #890483 :bind9 :compilar con soporte dnstap

Sin embargo, también puede verificar las opciones de tiempo de compilación con named -V. No hay ninguna opción --enable-dnstapen Estirar allí.

$ named -V
BIND 9.10.3-P4-Debian <id:ebd72b3>
built by make with '--prefix=/usr' '--mandir=/usr/share/man' libdir=/usr/lib/x86_64-linux-gnu' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--with-python=python3' '--localstatedir=/' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-gost=no' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-geoip=/usr' '--with-atf=no' '--enable-ipv6' '--enable-rrl' '--enable-filter-aaaa' '--enable-native-pkcs11' '--with-pkcs11=/usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so' '--with-randomdev=/dev/urandom' 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/bind9-zVMG3I/bind9-9.10.3.dfsg.P4=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing -fno-delete-null-pointer-checks -DNO_VERSION_DATE -DDIG_SIGCHASE' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
compiled by GCC 6.3.0 20170516
compiled with OpenSSL version: OpenSSL 1.0.2l  25 May 2017
linked to OpenSSL version: OpenSSL 1.0.2l  25 May 2017
compiled with libxml2 version: 2.9.4
linked to libxml2 version: 20904

deman named:

-V
Report the version number and build options, and exit.

Según los parches enviados con el informe de error mencionado anteriormente, en el archivo de control de Debian puede ver las nuevas dependencias sugeridas, python3-ply, protobuf-c-compilery libfstrm-dev.

Verificando con apt-cache showpkg bind9tampoco hay en las dependencias listadas para Stretch.

Al observar la lista de dependencias en bind9para Buster/testing en https://packages.debian.org/buster/bind9, versión 9.11.2.P1 -1, también es evidente que bind9tampoco está compilado con dnstaphabilitado en la rama de pruebas.

Entonces, ¿se puede decir que la funcionalidad de Debian BIND dnstapno es compatible con la versión BIND en la rama estable de Debian, y BIND en la rama de prueba de Debian todavía no lo es (? )compilado para habilitarlo.

PD. Como señala correctamente GAD3R, también puede obtener con apt-srcel paquete fuente para verificar la directiva ./configureen debian/rules del paquete bind9. (o ir a github? no puedo encontrar la dirección oficial de Debian bind9)

1
28.01.2020, 02:43

Теги

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