当我运行 sudo apt update 时
它显示:- E:无法获取 http://packages.microsoft.com/repos/code/dists/stable/InRelease Clearsigned 文件无效,得到“NOSPLIT”(网络是否需要身份验证?) E:存储库“http://packages.microsoft.com/repos/code stable InRelease”未签名。 N:从这样的存储库进行更新无法安全地完成,因此默认情况下被禁用。 N:有关存储库创建和用户配置详细信息,请参阅 apt-secure(8) 联机帮助页。
我今天也遇到这个问题了。在阅读了一堆其他线程之后。在大多数情况下,这与网络连接有关,在我的情况下,这是 Microsoft 端的问题。半个小时左右就自行解决了。
这似乎是微软如何管理其存储库的一个反复出现的问题。我今天遇到了这个问题,经过调查,我在 GitHub 上找到了这个帖子和其他几个帖子。结论似乎总是这是 Microsoft 的问题,他们需要执行一些未知的存储库维护操作来解决该问题。
您所能做的就是 1) 向 Microsoft 报告,例如通过 相关存储库上的 GitHub issues,或 2) 等待并稍后重试。
一些例子:
如果 Microsoft 最终改变周围的情况,他们已记录了在哪里报告问题https://packages.microsoft.com/docs/readme.txt
同时,正如其他人所建议的,如果您需要暂时执行其他操作,您当然可以将系统配置为跳过存储库,但通常只是禁用存储库并不是一个好主意,因为您会错过您从那里安装的软件的更新。
您只需更新 apt 存储库和签名密钥即可。 看看这里:
https://code.visualstudio.com/docs/setup/linux
以下代码将解决您的问题:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
软件和更新 - 其他软件 - 找到一些东西http://packages.microsoft.com...并取消选中此
我在Debian、Ubuntu2004或Ubuntu2204的WSL中,当我执行
sudo apt update
时遇到这个问题。
对于 Debian,我手动安装
ca-certificates.deb
、apt-transport-https
及其依赖项 openssl.deb
,这些依赖项是从 https://www.debian.org/distrib/packages 下载的。
然后我将
http
中的 /etc/apt/sources.list
替换为 https
。
最后执行
sudo apt update
,Clearsigned file isn't valid, got 'NOSPLIT'
永远不会出现。
解决方法,使用 vim/nano 编辑 source.list 文件。
sudo vim /etc/apt/sources.list.d/vscode.list
用
#
注释该行
# deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main
保存它
:wq
并重新运行更新。
此解决方案在 reddit
中进行了讨论⚠️ 通过运行
chattr +i
cmd,您将限制该文件的未来编辑,使用 chattr -i
使其可编辑。