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

Как очистить dhcpd.leases?

Я запускаю DHCPD (isc-dhcp-4.2.4) в системе Ubuntu 14.04. Файл var / lib / dhcp / dhcpd.leases становится довольно большим (350 МБ). В нем есть исторические данные за многие месяцы об аренде, срок действия которой истек. Как удалить старую информацию? Предположительно, остановить dhcpd и удалить файл - плохая идея, потому что тогда он забудет недавние аренды, которые все еще могут быть актуальными?

[править] Очевидно dhcpd должен автоматически очищать файл аренды один раз в час, но со мной этого не происходит. По-видимому, это связано с проблемой разрешений - каталог / var / lib / dhcp и его содержимое принадлежат root: root, но сервер работает как dhcpd: dhcpd. Я попытался сменить владельца следующим образом: -

sudo service isc-dhcp-server stop
sudo chown -R dhcpd:dhcpd /var/lib/dhcp/
sudo service isc-dhcp-server start

но после этого право собственности на каталог, dhcpd.leases и dhcpd.leases ~ вернулось к root: root.

Итак, как мне отсортировать владение каталогом по сравнению с группой user: group, запускающей процесс dhcpd, чтобы заставить работать автоматическую очистку?

Из руководства man dhcpd.leases:

Чтобы предотвратить неограниченный рост арендной базы данных, файл время от времени перезаписывается. Сначала создается временная база данных по аренде, и в нее сбрасываются все известные аренды. Затем старая база данных аренды переименовывается. /var/lib/dhcpd/dhcpd.leases~. Наконец, новая база данных аренды перемещается на место.

AFAIK, который может выйти из строя, когда разрешения файловой системы в каталоге /var/lib/dhcpd предотвратить создание этой временной базы данных непривилегированным пользователем, запущенным как dhcpd, после чего размер файла аренды будет продолжать расти.

Сменить владельца /var/lib/dhcpd пользователю dhcpd.

Удалять не нужно, удалите только то, что не нужно.

  • Остановите сервер DHCPD.
  • Отредактируйте файл dhcpd.leases и удалите те записи, которые вам больше не нужны.
  • Сохраните файл и запустите DHCPD-сервер.

Вы можете оптимизировать это, отредактировав файл (и не сохраняя его до тех пор, пока он не будет готов), а затем выполнить остановку DHCPD / сохранение файла / запуск DHCPD за считанные секунды или даже быстрее. У меня он работал даже под 1 с; это если вы не хотите простоев.