我一整天都在寻找解决方案,但是谷歌搜索都没有找到适合我的情况的结果。
我有一台运行 Ubuntu 16.04.3 LTS(4.4.0-98-generic)的服务器。
今天,我使用“apt update”和“apt upgrade”更新了系统。没有问题。之后,我想删除 owncloud,因为我只对其进行了简短的测试。我尝试运行“apt remove owncloud”,但不知为何它什么也没做。然后我通过 aptitude 成功将其删除。
此后,为了再检查一次,我再次运行了“apt update”。
这次我遇到了多个错误:
Get:1 http://mirror.netinch.com/pub/mariadb/repo/10.1/ubuntu xenial InRelease [3,874 B]
0% [1 InRelease gpgv 3,874 B] [Connecting to fi.archive.ubuntu.com (91.189.88.161)] [Waiting for headers] [Waiting for headers]Splitting up /var/lib/apt/lists/partial/mirror.netinch.com_pub_mariadb_repo_10.1_ubuntu_dists_xenial_InReleaseErr:1 http://mirror.netinch.com/pub/mariadb/repo/10.1/ubuntu xenial InRelease
Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get:3 http://ppa.launchpad.net/ondrej/php/ubuntu xenial InRelease [23.9 kB]
Err:3 http://ppa.launchpad.net/ondrej/php/ubuntu xenial InRelease Splitting up /var/lib/apt/lists/partial/ppa.launchpad.net_ondrej_php_ubuntu_dists_xenial_InRelease into data and signature failed
Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
Get:4 http://fi.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Err:2 http://security.ubuntu.com/ubuntu xenial-security InReleaseting up /var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_xenial-security_InRelease into data and signature failed
Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
Get:5 http://security.ubuntu.com/ubuntu xenial InRelease [247 kB]
Err:5 http://security.ubuntu.com/ubuntu xenial InRelease Splitting up /var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_xenial_InRelease into data and signature failed
Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
Err:4 http://fi.archive.ubuntu.com/ubuntu xenial InReleaseg up /var/lib/apt/lists/partial/fi.archive.ubuntu.com_ubuntu_dists_xenial_InRelease into data and signature failed
Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
Get:6 http://fi.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Err:6 http://fi.archive.ubuntu.com/ubuntu xenial-updates InReleaser/lib/apt/lists/partial/fi.archive.ubuntu.com_ubuntu_dists_xenial-updates_InRelease into data and signature failed
Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
Get:7 http://fi.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Err:7 http://fi.archive.ubuntu.com/ubuntu xenial-backports InReleasefi.archive.ubuntu.com_ubuntu_dists_xenial-backports_InRelease into data and signature failed
Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
Reading package lists... Done
E: GPG error: http://mirror.netinch.com/pub/mariadb/repo/10.1/ubuntu xenial InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
E: GPG error: http://ppa.launchpad.net/ondrej/php/ubuntu xenial InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
E: GPG error: http://security.ubuntu.com/ubuntu xenial-security InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
E: GPG error: http://security.ubuntu.com/ubuntu xenial InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
E: GPG error: http://fi.archive.ubuntu.com/ubuntu xenial InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
E: GPG error: http://fi.archive.ubuntu.com/ubuntu xenial-updates InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
E: GPG error: http://fi.archive.ubuntu.com/ubuntu xenial-backports InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)
在此之后,我一直在寻找解决方案,但没有一个建议的解决方案起作用。
该服务器不使用代理(ISP 也没有使用),所以这不是代理问题。
我已经尝试了很多提出的解决方案,老实说,我甚至不记得我尝试过的所有方法,但至少有以下几种:
- apt clean -> apt update = 相同的最终结果(apt clean 成功)
- 手动删除 /var/lib/apt/lists 和 /var/lib/lists/partial
- 使用以下方法重新创建 /etc/apt/sources.listhttps://repogen.simplylinux.ch/
- 手动创建 /etc/apt/trusted.gpg.d/ 文件
- 尝试使用其他国家的存储库
服务器是一台独立的计算机,而不是通过 LAN 连接的虚拟机(不能是 WiFI 或移动宽带问题)
该服务器仅具有 Samba、OpenVPN(强制性)以及用于内部测试的 apache、php 和 mariadb(可选)。
那么,有没有办法将与“apt-get”相关的所有内容都“默认”,以便更新可以正常工作?
目前服务器已启动并运行(一切正常),因此这并不重要,但我想让服务器保持最新状态,因为它已连接到互联网。
由于这是一个服务器,我无法访问任何 GUI 工具。(只能通过 ssh 访问)
请不要自动标记为重复,因为我认为我已经尝试了该站点上所有类似问题的解决方案。
答案1
好吧,这真是太丢脸了,但我刚刚找到了解决方案。
在尝试了所有能想到的方法之后,包括在启动板上使用不同的方案,我终于偶然意识到分区“/”已满。
背景:我有多个分区和驱动器,其中一个是 luks 加密的外部硬盘,我用它来进行日常 rsync 备份。重启后,我似乎忘记安装 luks 驱动器了。该驱动器应该安装到 /mnt/ehhd,但由于驱动器尚未安装,目录落入 / 分区,而该分区太小,无法成功备份。
我的假设是,由于分区 / 已 100% 满,apt update
无法保存获取的信息,因此它没有成功。
解决方案
- 我清除了我的 /mnt/ehhd 目录
- 将外部(luks 加密)驱动器安装到 /mnt/ehdd
- 我运行
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
apt update 失败,因为“没有公钥” - 我跑了
sudo apt clean
- 我跑了
sudo apt update
我跑了sudo apt upgrade
这样,问题就解决了。
所以总而言之,如果您发现自己处于类似的情况,请确保您的分区上有可用空间(呃......)
这个错误信息对我来说太过隐晦,所以我在启动板网站上建议,如果错误信息能够更清楚地说明的话,将会省去很多麻烦。
(很高兴在周末之前解决了这个问题,现在我可以安心睡觉了)
答案2
(我想使用评论,但我的声誉不够)
我会尝试删除所有额外的存储库(不仅仅是那些添加到 source.list 的存储库)
例如,检查 /etc/apt/sources.list.d/ 中是否有其他 repos。如果有,请尝试删除它们。
你可以找到不同的方法来实现这一点这里