At $WORK, a user discovered a fun feature of OpenSuSE: that you can segfault Python quite easily. Watch:
$ python
>>> import matplotlib.pyplot
Segmentation fault
$ python
>>> import Bio.PDB
Segmentation fault
The reason, at least for us, is that we'd installed the python-matplotlib package from the OpenSuSE Education repository, and python-numpy from the standard OpenSuSE library. The problem was fixed by running:
sudo zypper install python-numpy-1.6.2-39.1.x86_6
which forced the upgrade from 1.3 to 1.6.
But, whee! you can actually install 1.6.2-39.1 from TWO repos: Education and Science. Yes, my fault; my OpenSuSE installs are all over the fucking map. But I wonder what it might take to ensure that minimum versions are somehow noted in RPMs, or, you know, not having multiple universes of packages. Fuck, I hate OpenSuSE.
Irritating: chkconfig
on RHEL/CentOS returns non-zero if a service
isn't configured for a runlevel. IOW, you can do:
chkconfig --level 3 foo
and have 0 returned if it's on, 1 if it's not.
But not SuSE; nope, it just returns 0 whether or not it's enabled, or
even if the service itself doesn't exist. Because, you know, grep
doesn't get used enough.
I'm doing this because I'm trying to use cfengine 2 to manage services. This works well in CentOS, where you can add something like:
service_foo_on = (ReturnsZero("/sbin/chkconfig --level 3 foo"))
and it'll work. ("servicefooon" is a bit of a misnomer, because I'm checking runlevels, not whether it's actually running.)
Update: Nope, I'm wrong. chkconfig --check
does exactly what I
want. Many thanks to yaloki on #openSUSE-server for the help.