[pkg-dhcp-devel] Bug#860928: dnssec-trigger + isc-dhcp-client: /etc/ being cluttered with tons of resolv.conf.dhclient-new.* files
Axel Beckert
abe at debian.org
Sat Apr 22 00:26:59 UTC 2017
Package: dnssec-trigger,isc-dhcp-client
Version: dnssec-trigger/0.13-6
Version: isc-dhcp-client/4.3.5-3
Severity: important
Dear dnssec-trigger and ISC DHCP maintainers,
for at least a few weeks now (maybe longer), systems, which have
dnssec-trigger installed together with isc-dhcp-client, get cluttered
with one resolv.conf.dhclient-new.* file per DHCP response in /etc/ as
dnssec-trigger uses chattr to make /etc/resolv.conf immutable and hence
making sure noone else overwrites /etc/resolv.conf (see also #776776 and
#776778).
But since recently (don't know since when exactly) dhclient seems to no
more just overwrite /etc/resolv.conf directly but first creates a
supposed to be temporary /etc/resolv.conf.dhclient-new.$pid file and
then moves it to /etc/resolv.conf (probably to avoid some race
condition). But it seems no more clean up those files if the renaming
fails.
IMHO dhclient should clean up these files in case the renaming
fails. But I can also understand if someone argues that
dnssec-triggerd's methods are too radical and unusual so that other
programs can't be expected to handle such exotic cases.
So I'm not sure which package should be fixed, but at least one of them
should be fixed to not clutter /etc/. And I'd be happy if this could be
fixed even for Stretch.
I can imagine multiple potential ways to fix this:
* dhclient remove /etc/resolv.conf.dhclient-new.$pid again, if the
renaming failed.
* dhclient prepares resolv.conf.dhclient-new.$pid not in /etc/ but in
/tmp/. There it's far less annoying if the directory is cluttered with
small files and those files would be usually cleaned up at
reboot. (Disavantage: The renaming is often a move from one file
system to another -- which might not be wanted.)
* dnssec-triggerd cleans up those files, either time-based or
event-based.
Example files as found on one of my systems in /etc/:
/etc $ ls resolv.conf.dhclient-new.*
resolv.conf.dhclient-new.10093 resolv.conf.dhclient-new.24190
resolv.conf.dhclient-new.10237 resolv.conf.dhclient-new.24468
resolv.conf.dhclient-new.10240 resolv.conf.dhclient-new.24625
resolv.conf.dhclient-new.10354 resolv.conf.dhclient-new.24696
resolv.conf.dhclient-new.1040 resolv.conf.dhclient-new.24892
resolv.conf.dhclient-new.1044 resolv.conf.dhclient-new.25138
resolv.conf.dhclient-new.10445 resolv.conf.dhclient-new.25671
resolv.conf.dhclient-new.10538 resolv.conf.dhclient-new.25907
resolv.conf.dhclient-new.1083 resolv.conf.dhclient-new.25947
resolv.conf.dhclient-new.10878 resolv.conf.dhclient-new.26515
resolv.conf.dhclient-new.11028 resolv.conf.dhclient-new.26989
resolv.conf.dhclient-new.11087 resolv.conf.dhclient-new.27046
resolv.conf.dhclient-new.1117 resolv.conf.dhclient-new.27113
resolv.conf.dhclient-new.11401 resolv.conf.dhclient-new.27293
resolv.conf.dhclient-new.11537 resolv.conf.dhclient-new.27323
resolv.conf.dhclient-new.11668 resolv.conf.dhclient-new.27413
resolv.conf.dhclient-new.11755 resolv.conf.dhclient-new.27613
resolv.conf.dhclient-new.12184 resolv.conf.dhclient-new.27957
resolv.conf.dhclient-new.12438 resolv.conf.dhclient-new.27971
resolv.conf.dhclient-new.12576 resolv.conf.dhclient-new.28008
resolv.conf.dhclient-new.12677 resolv.conf.dhclient-new.28561
resolv.conf.dhclient-new.1291 resolv.conf.dhclient-new.2862
resolv.conf.dhclient-new.12956 resolv.conf.dhclient-new.28736
resolv.conf.dhclient-new.12991 resolv.conf.dhclient-new.28793
resolv.conf.dhclient-new.13251 resolv.conf.dhclient-new.28808
resolv.conf.dhclient-new.13265 resolv.conf.dhclient-new.28816
resolv.conf.dhclient-new.13299 resolv.conf.dhclient-new.28846
resolv.conf.dhclient-new.13310 resolv.conf.dhclient-new.2896
resolv.conf.dhclient-new.13334 resolv.conf.dhclient-new.28988
resolv.conf.dhclient-new.1334 resolv.conf.dhclient-new.2910
resolv.conf.dhclient-new.1344 resolv.conf.dhclient-new.29101
resolv.conf.dhclient-new.13472 resolv.conf.dhclient-new.29225
resolv.conf.dhclient-new.13730 resolv.conf.dhclient-new.29371
resolv.conf.dhclient-new.13896 resolv.conf.dhclient-new.29597
resolv.conf.dhclient-new.13950 resolv.conf.dhclient-new.29803
resolv.conf.dhclient-new.14031 resolv.conf.dhclient-new.30016
resolv.conf.dhclient-new.14214 resolv.conf.dhclient-new.30190
resolv.conf.dhclient-new.14270 resolv.conf.dhclient-new.30291
resolv.conf.dhclient-new.14662 resolv.conf.dhclient-new.30464
resolv.conf.dhclient-new.14695 resolv.conf.dhclient-new.30583
resolv.conf.dhclient-new.14873 resolv.conf.dhclient-new.30980
resolv.conf.dhclient-new.15120 resolv.conf.dhclient-new.31030
resolv.conf.dhclient-new.15142 resolv.conf.dhclient-new.31543
resolv.conf.dhclient-new.15267 resolv.conf.dhclient-new.3165
resolv.conf.dhclient-new.15521 resolv.conf.dhclient-new.31899
resolv.conf.dhclient-new.15922 resolv.conf.dhclient-new.32222
resolv.conf.dhclient-new.15964 resolv.conf.dhclient-new.32708
resolv.conf.dhclient-new.16095 resolv.conf.dhclient-new.3274
resolv.conf.dhclient-new.16435 resolv.conf.dhclient-new.3294
resolv.conf.dhclient-new.16568 resolv.conf.dhclient-new.3450
resolv.conf.dhclient-new.1660 resolv.conf.dhclient-new.3507
resolv.conf.dhclient-new.16603 resolv.conf.dhclient-new.4054
resolv.conf.dhclient-new.16697 resolv.conf.dhclient-new.4087
resolv.conf.dhclient-new.16796 resolv.conf.dhclient-new.4492
resolv.conf.dhclient-new.1710 resolv.conf.dhclient-new.4506
resolv.conf.dhclient-new.17263 resolv.conf.dhclient-new.4515
resolv.conf.dhclient-new.17341 resolv.conf.dhclient-new.4564
resolv.conf.dhclient-new.17370 resolv.conf.dhclient-new.471
resolv.conf.dhclient-new.17771 resolv.conf.dhclient-new.4926
resolv.conf.dhclient-new.18331 resolv.conf.dhclient-new.5066
resolv.conf.dhclient-new.18361 resolv.conf.dhclient-new.514
resolv.conf.dhclient-new.18524 resolv.conf.dhclient-new.5405
resolv.conf.dhclient-new.18761 resolv.conf.dhclient-new.5652
resolv.conf.dhclient-new.18971 resolv.conf.dhclient-new.5722
resolv.conf.dhclient-new.19216 resolv.conf.dhclient-new.5813
resolv.conf.dhclient-new.19279 resolv.conf.dhclient-new.5912
resolv.conf.dhclient-new.19337 resolv.conf.dhclient-new.6112
resolv.conf.dhclient-new.19497 resolv.conf.dhclient-new.626
resolv.conf.dhclient-new.19521 resolv.conf.dhclient-new.6314
resolv.conf.dhclient-new.19668 resolv.conf.dhclient-new.6436
resolv.conf.dhclient-new.19783 resolv.conf.dhclient-new.6562
resolv.conf.dhclient-new.19797 resolv.conf.dhclient-new.6563
resolv.conf.dhclient-new.20012 resolv.conf.dhclient-new.6641
resolv.conf.dhclient-new.20067 resolv.conf.dhclient-new.6712
resolv.conf.dhclient-new.20251 resolv.conf.dhclient-new.6814
resolv.conf.dhclient-new.20352 resolv.conf.dhclient-new.6874
resolv.conf.dhclient-new.20542 resolv.conf.dhclient-new.7027
resolv.conf.dhclient-new.20770 resolv.conf.dhclient-new.7244
resolv.conf.dhclient-new.20957 resolv.conf.dhclient-new.7629
resolv.conf.dhclient-new.21064 resolv.conf.dhclient-new.7688
resolv.conf.dhclient-new.21190 resolv.conf.dhclient-new.7689
resolv.conf.dhclient-new.2151 resolv.conf.dhclient-new.8411
resolv.conf.dhclient-new.21533 resolv.conf.dhclient-new.8419
resolv.conf.dhclient-new.21769 resolv.conf.dhclient-new.8589
resolv.conf.dhclient-new.21960 resolv.conf.dhclient-new.8606
resolv.conf.dhclient-new.22580 resolv.conf.dhclient-new.8680
resolv.conf.dhclient-new.22706 resolv.conf.dhclient-new.9221
resolv.conf.dhclient-new.22792 resolv.conf.dhclient-new.9380
resolv.conf.dhclient-new.22835 resolv.conf.dhclient-new.9425
resolv.conf.dhclient-new.2294 resolv.conf.dhclient-new.9494
resolv.conf.dhclient-new.23628 resolv.conf.dhclient-new.9799
resolv.conf.dhclient-new.23736 resolv.conf.dhclient-new.9820
resolv.conf.dhclient-new.24093
/etc $
-- System Information:
Debian Release: 9.0
APT prefers unstable
APT policy: (990, 'unstable'), (600, 'testing'), (500, 'unstable-debug'), (500, 'buildd-unstable'), (110, 'experimental'), (1, 'experimental-debug'), (1, 'buildd-experimental')
Architecture: amd64
(x86_64)
Kernel: Linux 4.9.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages dnssec-trigger depends on:
ii gir1.2-networkmanager-1.0 1.6.2-3
ii init-system-helpers 1.47
ii libc6 2.24-10
ii libgdk-pixbuf2.0-0 2.36.5-2
ii libglib2.0-0 2.50.3-2
ii libgtk2.0-0 2.24.31-2
ii libldns2 1.7.0-1
ii libssl1.1 1.1.0e-1
ii python 2.7.13-2
ii python-gi 3.22.0-2
ii python-lockfile 1:0.12.2-2
ii unbound 1.6.0-3
dnssec-trigger recommends no packages.
dnssec-trigger suggests no packages.
-- Configuration Files:
/etc/dnssec-trigger/dnssec-trigger.conf changed:
domain: deuxchevaux.org
search: kub.deuxchevaux.org deuxchevaux.org noone.org debian.org ethz.ch lugs.ch
url: "http://ster.nlnetlabs.nl/hotspot.txt OK"
url: "http://fedoraproject.org/static/hotspot.txt OK"
tcp80: 185.49.140.67
tcp80: 2a04:b900::10:0:0:67
ssl443: 185.49.140.67 7E:CF:B4:BE:B9:9A:56:0D:F7:3B:40:51:A4:78:E6:A6:FD:66:0F:10:58:DC:A8:2E:C0:43:D4:77:5A:71:8A:CF
ssl443: 2a04:b900::10:0:0:67 7E:CF:B4:BE:B9:9A:56:0D:F7:3B:40:51:A4:78:E6:A6:FD:66:0F:10:58:DC:A8:2E:C0:43:D4:77:5A:71:8A:CF
-- no debconf information
More information about the pkg-dhcp-devel
mailing list