Назад | Перейти на главную страницу

Как я могу сбросить кэш pdns-recursor в Debian?

В соответствии с man rec_control(1) Я должен иметь возможность сбросить кеш pdns-recursor в файл с rec_control dump-cache /tmp/the-cache.

Если я сделаю это (в Debian buster), он скажет «выгрузил xxx записей», но когда я пойду посмотреть, там нет файла / tmp / the-cache. Если я снова попробую ту же команду, появится сообщение «Ошибка при открытии файла дампа для записи: файл существует». Но я все еще не могу найти файл.

# rec_control dump-cache /tmp/the-cache
dumped 324 records

# cat /tmp/the-cache
cat: /tmp/the-cache: No such file or directory

# rec_control dump-cache /tmp/the-cache
Error opening dump file for writing: File exists

# cat /tmp/the-cache
cat: /tmp/the-cache: No such file or directory

# systemctl restart pdns-recursor.service

# rec_control dump-cache /tmp/the-cache
dumped 532 records

# cat /tmp/the-cache
cat: /tmp/the-cache: No such file or directory

Может быть, Debian запускает pdns-recursor в chroot jail? Есть ли способ сбросить кеш в файл, где я могу его найти?

Пользователь Reddit н / хахаинтернет решил это для меня в r / debian.

Юнит-файл Debian systemd для службы pdns-recursor помещает процесс в песочницу. Однако его каталог / tmp все еще доступен из хост-системы:

  • через /tmp/systemd-private-[...pting-pdns-recursor.service-[... ]/tmp
  • или введя пространство имен процесса с помощью nsenter -a -t <pid of pdns-recursor>.

Один из них затем разрешает доступ к / tmp / the-cache. Немного громоздко, но работает.