为了让软件正常工作,我需要获取密钥。我先以用户身份尝试,然后以 root 身份尝试,但无效。使用 Synaptic 检查了 gnupg 的所有软件是否都存在,没有发现任何缺失。我使用 Kubuntu 22.04 构建了新系统。有人可以提示在哪里搜索解决方案吗?
root@BeQuiet-Lin:~# sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/ckvsoft-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 410EE8C739BB4452
gpg: failed to create temporary file '/root/.gnupg/.#lk0x0000564c33fcee80.BeQuiet-Lin.58324': No such file or directory
gpg: connecting dirmngr at '/root/.gnupg/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr
答案1
那个错误:
gpg: failed to create temporary file '/root/.gnupg/.#lk0x0000564c33fcee80.BeQuiet-Lin.58324': No such file or directory
gpg: connecting dirmngr at '/root/.gnupg/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr
...是因为gpg
需要在定义的配置目录下创建一些临时文件...默认情况下.gnupg
在环境变量中存在的用户主目录下HOME
,并且在带有的情况下sudo
将解析为/root
。
但是,该目录/root/.gnupg
不存在。
HOME
...因此,您可以在命令行上将变量设置为当前用户的主目录,HOME="$HOME"
如下所示:
sudo HOME="$HOME" gpg --no-default-keyring --keyring /etc/apt/keyrings/ckvsoft-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 410EE8C739BB4452
...或者使用gpg
's 选项--homedir
指向你的用户当前,"$HOME"
像这样:
sudo gpg --homedir "$HOME" --no-default-keyring --keyring /etc/apt/keyrings/ckvsoft-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 410EE8C739BB4452