Debian apt错误:"以下签名无效:NODATA 1 NODATA 2"

时间:2014-08-19 16:34:55

标签: linux debian gnupg apt

我在apt / aptitude方面遇到了一些麻烦。最近,无处不在,我意识到我无法安装任何东西,apt-get update会产生这样的结果:

$ sudo apt-get update
Get:1 http://security.debian.org wheezy/updates Release.gpg [1,936 B]
Get:2 http://ftp.debian.org wheezy Release.gpg [1,936 B]
Get:3 http://ftp.debian.org wheezy-updates Release.gpg [1,936 B]
Get:4 http://security.debian.org wheezy/updates Release [1,936 B]
Ign http://security.debian.org wheezy/updates Release
E: GPG error: http://security.debian.org wheezy/updates Release: The following signatures were invalid: NODATA 1 NODATA 2

这一部分:Ign http://security.debian.org wheezy/updates Release对我来说似乎令人担忧,但我真的不知道它可能会产生什么影响。

我知道这对我的系统来说不是问题。我有一个旧的Debian VM,我也用它进行了测试,遇到了同样的问题。我在工作中遇到这个问题,如果这有帮助,所以我不能完全控制网络,这可能是他们在网络上做的事情。

我也尝试了不同的镜子,达到了相同的效果。

这是我的sources.list:

$ cat /etc/apt/sources.list
deb http://ftp.debian.org/debian/ wheezy main
deb-src http://ftp.debian.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
deb http://ftp.debian.org/debian/ wheezy-updates main
deb-src http://ftp.debian.org/debian/ wheezy-updates main

提前谢谢。

3 个答案:

答案 0 :(得分:6)

我自己解决了这个问题;这个问题与网络上的许多其他未解决或不适用的问题/答案一起提出。以为我会添加我的特定解决方案以供将来参考 -

检查磁盘空间

df -h

密切关注你的/ tmp / - 我的磁盘空间不足,解决了磁盘不足的情况,然后仍然有NODATA签名错误。查找this page给了我答案 - 当空间不足时,Ubuntu会将你的/ tmp转换为一个小的ramdisk。

sudo umount -l /tmp

解决了这个问题。

答案 1 :(得分:2)

尝试: sudo apt-get clean cd /var/lib/apt sudo mv lists lists.old sudo mkdir -p lists/partial sudo apt-get clean sudo apt-get update

作为最后的手段,请尝试:

sudo fuser -vvv /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup
sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status
sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available
sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists
sudo rm /var/cache/apt/*.bin
sudo mkdir /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists/partial
LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824
sudo dpkg --clear-avail
sudo dpkg --configure -a
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824 && sudo apt-get dist-upgrade

希望你解决这个问题。 P.S,这就是为什么我没有Debian(hehe jk)

答案 2 :(得分:1)

我已经完成了以下步骤,它对我来说运行正常(基本上删除了list文件夹并通过update命令重新创建)

# cd /var/lib/apt
# mv lists  lists-backup
# apt-get clean all

现在使用

重新创建文件夹
# apt-get update

重新安装所有必备软件包

# apt-get -f install

现在您已准备好安装所需的软件包。 希望这会有所帮助。

PS:还请确保如果您在防火墙内运行,则设置代理环境变量($ http_proxy和https_proxy)