[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Who owns /etc/default/locale?



On Sun, 2008-11-09 at 18:43 +0100, Andreas Metzler wrote:
> Frank Lin PIAT wrote:
> [....]
> > I have question which is directly related: shouldn't a package own and
> > declare all the configuration files that it uses, even if it doesn't
> > install or modify it?
> [...]
> 
> No. Not all configuration files can be managed as dpkg conffiles.

I did not wrote that all configuration file should be conffiles : I
wrote that all (well known) configuration files should be tracked.
Some configuration files are used by packages but they aren't declared
anywhere. Also, as I mentioned, those file aren't necessarily removed by
the package when it is purged.

For example, on my laptop I've used a quick script to check
if /etc/default/* files are declared by the scripts located
in /etc/{init.d,cron.*}... as you can see, almost half of them don't
belong to any package.


apache2.2-common uses  /etc/default/apache2 owned by apache2.2-common
exim4-base uses  /etc/default/exim4 NOT OWNED
live-helper uses  /etc/default/live-helper_autobuild owned by
live-helper
acpid uses  /etc/default/acpid owned by acpid
apache2.2-common uses  /etc/default/apache2 owned by apache2.2-common
apt-proxy uses  /etc/default/apt-proxy owned by apt-proxy
atftpd uses  /etc/default/atftpd NOT OWNED
avahi-daemon uses  /etc/default/avahi-daemon owned by avahi-daemon
bluez-utils uses  /etc/default/bluetooth owned by bluez-utils
initscripts uses  /etc/default/bootlogd owned by initscripts
clamav-daemon uses  /etc/default/clamav-daemon owned by clamav-daemon
console-tools uses  /etc/default/locale NOT OWNED
cpufrequtils uses  /etc/default/cpufrequtils owned by cpufrequtils
cron uses  /etc/default/cron owned by cron
cron uses  /etc/default/locale NOT OWNED
cups uses  /etc/default/cups owned by cups
dbus uses  /etc/default/dbus owned by dbus
dhcp3-server uses  /etc/default/dhcp3-server NOT OWNED
dnsmasq uses  /etc/default/dnsmasq owned by dnsmasq
exim4-base uses  /etc/default/exim4 NOT OWNED
gdm uses  /etc/default/locale NOT OWNED
hal uses  /etc/default/hal owned by hal
initscripts uses  /etc/default/halt owned by initscripts
hdparm uses  /etc/default/hdparm owned by hdparm
ifupdown uses  /etc/default/ifupdown owned by ifupdown
ifupdown uses  /etc/default/ifupdown owned by ifupdown
irda-utils uses  /etc/default/irda-utils NOT OWNED
console-common uses  /etc/default/locale NOT OWNED
klogd uses  /etc/default/klogd owned by klogd
cpufrequtils uses  /etc/default/loadcpufreq NOT OWNED
cpufrequtils uses  /etc/default/powernowd NOT OWNED
initscripts uses  /etc/default/locale NOT OWNED
initscripts uses  /etc/default/devpts owned by initscripts
initscripts uses  /etc/default/tmpfs owned by initscripts
initscripts uses  /etc/default/tmpfs owned by initscripts
initscripts uses  /etc/default/mountoverflowtmp NOT OWNED
initscripts uses  /etc/default/devpts owned by initscripts
initscripts uses  /etc/default/tmpfs owned by initscripts
network-manager uses  /etc/default/NetworkManagerDispatcher NOT OWNED
network-manager uses  /etc/default/NetworkManager NOT OWNED
nfs-common uses  /etc/default/nfs-common NOT OWNED
nfs-kernel-server uses  /etc/default/nfs-kernel-server NOT OWNED
openbsd-inetd uses  /etc/default/openbsd-inetd NOT OWNED
partimage-server uses  /etc/default/partimaged owned by partimage-server
pcmciautils uses  /etc/default/pcmciautils NOT OWNED
portmap uses  /etc/default/portmap NOT OWNED
rsync uses  /etc/default/rsync owned by rsync
sane-utils uses  /etc/default/saned owned by sane-utils
sl-modem-daemon uses  /etc/default/slmodemd NOT OWNED
sl-modem-daemon uses  /etc/default/sl-modem-daemon owned by
sl-modem-daemon
openssh-server uses  /etc/default/ssh owned by openssh-server
sysklogd uses  /etc/default/syslogd owned by sysklogd
udftools uses  /etc/default/udftools owned by udftools
acpi-support uses  /etc/default/acpi-support owned by acpi-support


---- 
The scriptlet I used:

for x in $(grep --binary-files=without-match -R -E "/etc/default/[^
$].*[^~]" /etc/{init.d,cron.*} | sed -e 's#\([^:]*\):.*
\(/etc/default/[[:alnum:]_-]*\).*#\1:\2#' | sort -u | grep -v
':/etc/default/rcS'  ) ; do script="${x##*:}"; cfg="${x%%:*}" ; pkg=
$(dpkg -S "$cfg" | sed -e 's/:.*//') ; owner=$(dpkg -S $script
2>/dev/null | sed -e 's/:.*//' ) ; echo -n "$pkg uses  ${x##*:} " ; if
[ "$owner" ] ; then echo "owned by $owner" ; else echo "NOT OWNED" ;
fi ; done


Reply to: