Existe um pequeno pacote PackageKit-command-not-found instalado no Fedora, que faz isso acontecer. A política está configurada em /etc/PackageKit/CommandNotFound.conf
.
A autenticação é feita usando o PolicyKit (através do barramento D), onde você já concedeu a instalação do novo pacote usando o PackageKit GUI. O arquivo respectivo é usr/share/polkit-1/rules.d/org.freedesktop.packagekit.rules
permitindo a instalação de pacotes para usuários logados localmente em wheel
group:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.packagekit.package-install" &&
subject.active == true && subject.local == true &&
subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});
Se você não estiver satisfeito com este comportamento, poderá sempre desinstalar este pacote ( dnf remove PackageKit-command-not-found
) e os pacotes não serão instalados automaticamente.