Tips & How-To's

December 7th Fedora update breaks PackageKit, gives failed to get a TID Error

Well I’d just shifted to Fedora couple of days ago, and yesterday I’d applied the latest updates. Later on I thought I’ll explore the system a bit and decided to use the package manager KPackageKit (I’m on KDE). KPackageKit though, was not returning any packages. I thought I might have screwed up KPackgeKit, so I installed the Gnome version of PackageKit. Only then I realized, that something was wrong.

On querying for a package I got this error:

failed to get a TID: A security policy in place prevents this sender from sending this message to this recipient, see message bus configuration file (rejected message had interface “org.freedesktop.PackageKit.Transaction” member “GetUpdates” error name “(unset)” destination “org.freedesktop.PackageKit”)

Googled for this error, and immediately came to know lot more people were facing the same problem, and its because of a dbus security update: This update modifies the config file to reject all requests coming from packagekit, and hence KPackageKit wasn’t returning any packages. Atleast Gnome-PackageKit returned the error message, if I hadn’t tried that(gnome-packagekit) I wouldn’t know what the problem was!
Anyways a temporary fix is mentioned here. If it isn’t too clear, edit /etc/dbus-1/system.d/org.freedesktop.PackageKit.conf to include

<allow send_interface="org.freedesktop.PackageKit.Transaction"/>

in the file after <policy context="default">

ie, the file should look like this now

<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

<!– This configuration file specifies the required security policies
for the PackageKit to work. –>

<!– Only user root can own the PackageKit service –>
<policy user=”root”>
<allow own=”org.freedesktop.PackageKit”/>
</policy>

<!– Allow anyone to call into the service – we’ll reject callers using PolicyKit –>
<policy context=”default”>
<allow send_interface=”org.freedesktop.PackageKit”/>
<allow send_interface=”org.freedesktop.PackageKit.Transaction”/>
</policy>
</busconfig>

Hope that helps.

EDIT: As Janus & MH mention, do reboot the system or restart the dbus service for changes to take effect.

19 Comments

  1. Hi,
    For some reason I can’t get it to work.
    After editing the file and rebooting, when starting system message bus I get an error message about:
    “error in file…: not well-formed (invalid token)”

    I’m running a 64 bit Fedora 10.

    What am I doing wrong??

    Thanks,

    Kfir

  2. Thanks for the info. You’ve been of great help. My system started this on the 9th Dec and I didn’t understand what exactly was going on. It does work now..

  3. Hi,
    I am running Fedora 10, 64 bits. After I edited my file exactly as mentioned above by editing file

    /etc/dbus-1/system.d/org.freedesktop.PackageKit.conf
    , I can not do anything any more.

    I rebooted after editing file and my F10 at first seam to start booting process fine but all I get is black screen with a blinking cursor at the top left corner. And that is how it stays. I can not do anything.
    I can not even go to the same file to edit it back to what it was before. Anyone knows how to do at least this?

    Much appreciated.

    Please Help!

    1. Hi, seems you might have made a mistake while editing the file.
      Anyways when you get the boot selection screen, just press e, scroll to the end of the line, type [code]single[/code] and press b now you will get the command prompt, and do the required changes

  4. Sathya,
    I see your solution worked for some but not for me. In fact, it created even more grief because after reboot of my F10 (86_64) system (on Sony VAIO laptop VGN FE780G), I was not even able to go to log in screen. All I had was black screen.
    Anyways, I found solution to black screen in the case someone else run into it. Here is how to reverse change in file suggested by Sathya and be able to go back to log in screen again:

    1. do Ctrl Alt F2 (or F3, or F4, not sure exactly). This brings you to command line screen and prompts you for user name and password to log in. Enter your user name then enter, then password, then enter
    2. once logged in, log as super user by issuing:
    su
    then enter your super user password when prompted

    3. edit your
    /etc/dbus-1/system.d/org.freedesktop.PackageKit.conf
    file so it looks like originally. To do this do:
    vim /etc/dbus-1/system.d/org.freedesktop.PackageKit.conf this opens the file in vim editor
    here I removed the line :

    , so my policy block looks like originally did before my change in above post:

    4. Save, then reboot and you will be back in log in screen like before.

    Still have not found solution to the TID error

  5. OK, found solution to TID error, too.

    Just go to your command line and issue:
    su -c ‘yum update’

    This will start full system update and solve your TID error. After you finish update, reboot, and try to update your system by going to System -> Administration -> Update System
    You will see that TID error does not occur any more.
    Thanks,
    Dino Buljubasic

Leave a Reply

Your email address will not be published. Required fields are marked *