It seems like whenever I try to disable a systemd service, the service finds some way to reenable itself. The most recent example has been PackageKit, which I have discovered is the source of the problem I asked about in this question. If I run this:
systemctl disable packagekit
And then for a few days my disk stays stable, but after a few days, PackageKit reenables itself, and runs, and fills /var/cache/yum back up again, pegging my disk at 100%.
I’m not asking about PackageKit specifically; really I’m trying to understand how systemd service deactivation is supposed to work.
Is there any general-purpose way to say, “Disable this service, and also disable any way of automatically reenabling it?” Or is my only choice to outright delete the package that I don’t want running?
UPDATE: Part of my question was misguided: It's not systemctl disable's job to make sure a service never runs no matter what; all systemctl disable does is say that the service shouldn't run automatically on boot.
Per a suggestion in user1686's answer, I tried
busctl --activatable | grep -i packagekit
and got
org.freedesktop.PackageKit - - - (activatable) - -
so that may well indicate what sort of thing was kicking it off (if not at boot). But I didn't think to try busctl tree before moving on to the next step.
Again per user1686's suggestion, I tried
systemctl mask packagekit
and that seems to have done the trick — whatever was starting that thing up before, isn't starting it up any more. I don't know if this would be considered an ugly or brute-force or dangerous solution; I don't know if it will work forever, but it seems to be working for now.