On Mon, 19 Oct 2020 at 15:51, Matthew Gabeler-Lee <chee...@fastcat.org> wrote:
> Aah, no, I can't, that's my point. Because /etc/sysctl.d/ is read before > package-shipped files, then it doesn't matter what file I put it in, it > will still be overridden by package-shipped files in (/usr)/lib. > Did you test this? $ grep reach /{usr/lib,etc}/sysctl.d/*test1.conf /usr/lib/sysctl.d/10-test1.conf:net.ipv6.neigh.default.base_reachable_time_ms = 30008 /etc/sysctl.d/999-test1.conf:net.ipv6.neigh.default.base_reachable_time_ms = 30004 $ sudo sysctl net.ipv6.neigh.default.base_reachable_time_ms net.ipv6.neigh.default.base_reachable_time_ms = 30000 So the default is 30000, the shipped /usr/lib sets it to 30008 and the admin override in /etc is 30004 $ sudo sysctl --system 2>&1 | grep test1 * Applying /usr/lib/sysctl.d/10-test1.conf ... * Applying /etc/sysctl.d/999-test1.conf ... The user setting in /usr/lib is applied first, then it is overwritten by the /etc file. The last write wins, it doesn't matter about the file name as long as the one you want is later. $ sudo sysctl net.ipv6.neigh.default.base_reachable_time_ms net.ipv6.neigh.default.base_reachable_time_ms = 30004 30004 is what the /etc file had. This is what the value should be. - Craig