Unity3d安装问题GPG错误存储库未签名

tec*_*oob 5 updates apt repository unity gnupg

我尝试通过终端安装 Unity2d/3d,以便更轻松地使用终端,但遇到了一个问题:当我尝试通过终端更新时,它会出现 unity2d/3d 错误。使用 sudo apt update 后,我复制了输出内容:

点击:1 http://gb.archive.ubuntu.com/ubuntu 焦点 InRelease
点击:2 http://gb.archive.ubuntu.com/ubuntu focus-updates InRelease              
点击:3 http://ppa.launchpad.net/git-core/ppa/ubuntu 焦点 InRelease             
点击:4 http://gb.archive.ubuntu.com/ubuntu focus-backports InRelease            
点击:6 http://security.ubuntu.com/ubuntu focus-security InRelease               
获取:5 https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local stable InRelease [2,739 B]
错误:5 https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local stable InRelease
  由于公钥不可用,无法验证以下签名:NO_PUBKEY BE3E6EA534E8243F
正在阅读包裹清单...完成
W: GPG错误:https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local stable InRelease:由于公钥不可用,无法验证以下签名:NO_PUBKEY BE3E6EA534E8243F
 E:存储库“https://hub.unity3d.com/linux/repos/deb stable InRelease”未签名。
N:从这样的存储库进行更新无法安全地完成,因此默认情况下被禁用。
N:有关存储库创建和用户配置详细信息,请参阅 apt-secure(8) 联机帮助页。

我正在使用查看终端上的历史记录,希望能够查看我是否输入了错误的命令,尽管我没有看到任何错误,但我注意到我确实使用了相同的命令两次,这是否是我的原因收到上述错误代码?

我使用的是 Ubuntu 20.04.4 LTS 64 位 3.36.8

小智 11

长话短说

wget -qO - https://hub.unity3d.com/linux/keys/public | gpg --dearmor | sudo tee /usr/share/keyrings/Unity_Technologies_ApS.gpg > /dev/null
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/Unity_Technologies_ApS.gpg] https://hub.unity3d.com/linux/repos/deb stable main" > /etc/apt/sources.list.d/unityhub.list'
sudo apt update
sudo apt-get install unityhub
Run Code Online (Sandbox Code Playgroud)

问题

Unity 文档的“在 Linux 上安装 Unity Hub ”部分存在错误。

对于我们将 Unity 存储库添加到 Apt 列表的步骤 2,文档说明了以下命令:

sudo sh -c 'echo "deb [signedby=/usr/share/keyrings/Unity_Technologies_ApS.gpg] https://hub.unity3d.com/linux/repos/deb stable main" > /etc/apt/sources.list.d/unityhub.list'
Run Code Online (Sandbox Code Playgroud)

但是,当您使用更新源列表时,sudo apt update您将收到以下错误:

Err:14 https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY BE3E6EA534E8243F
Run Code Online (Sandbox Code Playgroud)

解决方案

命令中有错误。步骤 2 实际上应该如下:(signedby实际上应该是signed-by

sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/Unity_Technologies_ApS.gpg] https://hub.unity3d.com/linux/repos/deb stable main" > /etc/apt/sources.list.d/unityhub.list'
Run Code Online (Sandbox Code Playgroud)

这将解析该sudo apt update命令并允许安装 Unity Hub。


小智 2

上面的 Unity 论坛链接中的重要内容: https ://forum.unity.com/threads/keyring-error.1290203/

wget -o- https://hub.unity3d.com/linux/keys/public
 
file public
 
gpg --no-default-keyring --keyring ./unity_keyring.gpg --import public
 
gpg --no-default-keyring --keyring ./unity_keyring.gpg --export > ./unity-archive-keyring.gpg
 
sudo mv ./unity-archive-keyring.gpg /etc/apt/trusted.gpg.d/
 
sudo apt update
 
sudo apt-get install unityhub
Run Code Online (Sandbox Code Playgroud)