나는 도망 갔다 pkcon update force
. PackageKit이 옵션 비활성화 only_trusted:0
와 관련된 작업을 기록하고 있는 것으로 나타났습니다 . 나는 그것을 얻지 only_trusted
못했지만 .--allow-untrusted
pkcon
PackageKit[19819]: uid 1000 is trying to obtain org.freedesktop.packagekit.system-sources-refresh auth (only_trusted:0)
따라서 PackageKit은 신뢰할 수 없는 패키지 허용에 대한 로그 메시지를 작성하고 있습니다. 나는 그렇게 하고 싶지 않습니다. 나는 그것을 해달라고 요청하지 않았습니다. 이 메시지가 기록되는 이유는 무엇입니까? PackageKit에 문제가 있나요?
$ sudo systemctl status packagekit.service
● packagekit.service - PackageKit Daemon
Loaded: loaded (/usr/lib/systemd/system/packagekit.service; static; vendor preset: disabled)
Active: active (running) since Mon 2019-04-08 12:34:58 BST; 1min 29s ago
Main PID: 19819 (packagekitd)
Tasks: 3 (limit: 4915)
Memory: 192.7M
CGroup: /system.slice/packagekit.service
└─19819 /usr/libexec/packagekitd
Apr 08 12:34:58 alan-laptop PackageKit[19819]: daemon start
Apr 08 12:34:58 alan-laptop systemd[1]: Starting PackageKit Daemon...
Apr 08 12:34:58 alan-laptop systemd[1]: Started PackageKit Daemon.
Apr 08 12:34:58 alan-laptop PackageKit[19819]: uid 1000 is trying to obtain org.freedesktop.packagekit.system-sources-refresh auth (only_trusted:0)
Apr 08 12:34:58 alan-laptop PackageKit[19819]: uid 1000 obtained auth for org.freedesktop.packagekit.system-sources-refresh
Apr 08 12:35:09 alan-laptop PackageKit[19819]: refresh-cache transaction /17652_eabaebee from uid 1000 finished with success after 11018ms
$ rpm -q PackageKit
PackageKit-1.1.12-2.fc29.x86_64
답변1
이 --allow-untrusted
옵션과 only_trusted
플래그는 새로 고침 시 관련이 없습니다.
패키지 설치 또는 업그레이드(또는 제거, 어쩌면?)를 요청하는 경우에만 관련이 있습니다.
클라이언트 측에서:
pk-console.c
항상pkcon
명령이 실행되었는지 확인하고--allow_untrusted
이에 따라only_trusted
속성을 설정하십시오pk_task
. 하지만:pk_task_refresh_cache_async()
이pk_task
속성은 무시되며 무조건PK_TRANSACTION_FLAG_ENUM_ONLY_TRUSTED
설정됩니다PkTaskState::transaction_flags
.- 그런 다음 을 호출합니다 . 그러나 해당 함수는 실제로 어떤 목적으로도 사용 되지
pk_task_do_async_action()
않습니다 .PkTaskState::transaction_flags
PkTaskState::role
PK_ROLE_ENUM_REFRESH_CACHE
dnf 백엔드에서:
PK_TRANSACTION_FLAG_ENUM_ONLY_TRUSTED
체크인할 수 있는 유일한 장소PkBackendDnfJobData::transaction_flags
는 입니다pk_backend_transaction_run()
.pk_backend_transaction_run()
에서 호출되지 않았습니다pk_backend_refresh_cache_thread()
. 패키지를 설치하거나 제거하는 작업에만 관련됩니다. 예를 들어 에서 호출됩니다pk_backend_install_packages_thread()
.