sysctl errors from bad /etc/sysctl.d conf files making packages uninstallable

Steve Langasek steve.langasek at ubuntu.com
Mon Nov 2 10:52:09 GMT 2009


On Sun, Nov 01, 2009 at 01:28:20PM -0800, Scott Ritchie wrote:
> The root cause is this: sysctl is throwing an error when it encounters
> an /etc/sysctl.d/foo.conf file that contains keys it doesn't use.  How
> these keys got onto the system is somewhat mysterious -- most likely
> cause is they're conf files from an older version of some other package
> (Wine's .conf file is a single line and works fine).

That doesn't seem likely to me at all.  

$ zgrep sysctl.d ~/ubuntu/dists/karmic/Contents-i386.gz |awk '{ print $NF }'|sort -u
admin/procps
multiverse/otherosfs/dosemu
universe/misc/qemu-arm-static
universe/otherosfs/wine,universe/otherosfs/wine1.2
utils/tracker
$ zgrep sysctl.d ~/ubuntu/dists/jaunty/Contents-i386.gz |awk '{ print $NF }'|sort -u
admin/procps
multiverse/otherosfs/dosemu
universe/otherosfs/wine
utils/tracker
$ zgrep sysctl.d ~/ubuntu/dists/intrepid/Contents-i386.gz |awk '{ print $NF }'|sort -u
base/procps
universe/devel/glibc-source
universe/otherosfs/wine
utils/tracker
$

There are only a handful of packages in the archive using this facility. 
Have you investigated what the actual files are that users have on their
systems when running into this problem?

> This error propagates through upstart and causes dpkg --configure to
> panic, making the package uninstallable.  This is obviously bad.

> So it seems like we have 3 options:
> 1) Quiet down sysctl so it doesn't throw these errors on unknown
> commands.  As far as I can tell, it's undocumented if sysctl gives a
> different exit status for unknown commands and genuine errors, so
> there's no good way to tell them apart.
> 2) Change procps upstart job to not care about sysctl errors.  I believe
> debian does something similar.
> 3) Change every package with a sysctl.d conffile to ignore start procps
> errors (eg start procps || true).

According to the manpage, 'sysctl -e' has the effect of ignoring key errors.
That seems to me like the right place to handle this, instead of requiring
other packages to ignore all errors from sysctl.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20091102/be176436/attachment.pgp 


More information about the ubuntu-devel mailing list