Я запускаю 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 за считанные секунды или даже быстрее. У меня он работал даже под 1 с; это если вы не хотите простоев.