Pages

Sunday, June 14, 2020

¿Cómo evitar que policykitd se apodere de apt-get?

Llevaba bastante tiempo teniendo que esperar un rato para actualizar los paquetes como siempre he hecho:

$ sudo apt update && sudo apt full-upgrade
Leyendo lista de paquetes... Hecho
E: Could not get lock /var/lib/apt/lists/lock. It is held by process 1488 (packagekitd)
N: Be aware that removing the lock file is not a solution and may break your system.
E: No se pudo bloquear el directorio /var/lib/apt/lists/

Ayer me decidí a investigar un poco más de lo que había hecho hasta ahora (había intentado chapucear haciendo el mask a packaekitd)

Y la solución es sencilla, aunque si no das con ella te  puedes tirar un buen rato buceando perdido en la documentación de policykitd

La clave es sobreescribir la política por defecto de la acción org.freedesktop.packagekit.system-sources-refresh (dejando ResultActive a no o a auth_admin):

$ sudo cat /etc/polkit-1/localauthority/10-vendor.d/org.freedesktop.packagekit.pkla
[Allow admins to upgrade the system]
Identity=unix-group:sudo
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=no
ResultInactive=no
#ResultActive=yes # comportamiento por defecto
#ResultActive=auth_admin # Te pregunta gnome cuando quiere actualizar
#ResultActive=no # Le decimos que no queremos que se ocupe de esa tarea

Se queda logueado:
$ sudo journalctl | grep PolicyKit | grep Error
jun 14 23:24:42 doraemon polkitd[940]: Error performing authentication: GDBus.Error:org.freedesktop.PolicyKit1.Error.Cancelled: El usuario rechaz? el di?logo de autenticaci?n (polkit-error-quark 1)
Más info en la wikis/doc de las distros ...

https://wiki.debian.org/PolicyKit
https://doc.opensuse.org/documentation/leap/archive/15.0/security/html/book.security/cha.security.policykit.html

PD: No sé qué pasará con la instalación de software vía GUI

No comments:

Post a Comment