我正在尝试在新升级到 16.04 的机器上运行 apt-get update。它抱怨缺少密钥。但当我查询 apt-key 时,它显示密钥存在。我尝试删除密钥并再次获取它们,但仍然收到错误。
以下是 apt-get update 的输出:
# apt-get update
Hit:1 http://us.archive.ubuntu.com/ubuntu xenial InRelease
Err:1 http://us.archive.ubuntu.com/ubuntu xenial InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
Get:2 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
修剪以删除看似过多的链接,以避免出现“您需要至少 10 点声誉才能发布超过 8 个链接。”的消息
以下是 apt-key 列表的输出:
# apt-key list
/etc/apt/trusted.gpg
--------------------
pub 1024D/FBB75451 2004-12-30
uid Ubuntu CD Image Automatic Signing Key <[email protected]>
pub 4096R/EFE21092 2012-05-11
uid Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>
pub 1024D/437D05B5 2004-09-12
uid Ubuntu Archive Automatic Signing Key <[email protected]>
sub 2048g/79164387 2004-09-12
pub 4096R/C0B21F32 2012-05-11
uid Ubuntu Archive Automatic Signing Key (2012) <[email protected]>
我甚至尝试从这台机器上获取 /etc/apt/trusted.gpg 文件并将其移动到另一台机器上,并且它在那里运行良好。
ETA:/etc/apt/trusted.gpg.d 目录是空的。
答案1
看起来是 /etc/apt 目录的权限问题。不知怎么的,它被设置为 700 。在正常工作的机器上,它是 755。当我在新升级的机器上将其更改为 755 时,它工作正常。