我收到以下错误
Reading package lists... Done
W: GPG error: http://extras.ubuntu.com oneiric Release: Unknown error executing gpgv
executing gpgv
----
----
W: GPG error: http://archive.ubuntu.com oneiric-updates Release: Unknown error executing gpgv
然后在谷歌搜索之后我找到并遵循以下说明但导致了一个错误:
**sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update**
运行时出现错误:
kapil@ubuntu:/var/lib/apt$ sudo mv lists lists.old
mv: cannot move `lists' to `lists.old/lists': Directory not empty
因此,再次运行更新命令时,我再次收到相同的错误。请帮我解决该怎么做?
我按照你的建议做了以下操作,结果显示如下
root@ubuntu:/home/kapil# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 15G 4.7G 8.8G 35% /
udev 1.5G 4.0K 1.5G 1% /dev
tmpfs 591M 880K 590M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.5G 488K 1.5G 1% /run/shm
/dev/sda5 229G 221G 7.2G 97% /host
/dev/sda1 100M 25M 76M 25% /media/System Reserved
root@ubuntu:/home/kapil# ls -al /var/lib/apt/
total 68
drwxr-xr-x 7 root root 4096 2012-04-08 09:53 .
drwxr-xr-x 58 root root 4096 2012-03-28 09:59 ..
-rw-r--r-- 1 root root 203 2012-03-24 13:18 cdroms.list
-rw-r--r-- 1 root root 7261 2012-04-06 15:27 extended_states
drwxr-xr-x 2 root root 4096 2011-10-12 10:27 keyrings
drwxr-xr-x 3 root root 16384 2012-04-14 06:26 lists
drwxr-xr-x 4 root root 20480 2012-04-08 07:46 lists.old
drwxr-xr-x 3 root root 4096 2011-10-12 10:27 mirrors
drwxr-xr-x 2 root root 4096 2012-03-24 14:39 periodic*
当我按照上述说明操作时,它首先显示以下警告:
root@ubuntu:/home/kapil# sudo apt-get clean
root@ubuntu:/home/kapil# sudo rm /var/lib/apt/lists/*
rm: cannot remove `/var/lib/apt/lists/partial': Is a directory
root@ubuntu:/home/kapil# sudo rm /var/lib/apt/lists/partial/*
root@ubuntu:/home/kapil# sudo apt-get clean
root@ubuntu:/home/kapil# sudo apt-get update
此后它再次显示错误:
Reading package lists... Done
W: GPG error: http//archive.canonical.com oneiric Release: Unknown error executing gpgv
W: GPG error: http//extras.ubuntu.com oneiric Release: Unknown error executing gpgv
W: GPG error: http//archive.ubuntu.com oneiric Release: Unknown error executing gpgv
W: GPG error: http//archive.ubuntu.com oneiric-backports Release: Unknown error executing gpgv
W: GPG error: http//archive.ubuntu.com oneiric-security Release: Unknown error executing gpgv
W: GPG error: http//archive.ubuntu.com oneiric-proposed Release: Unknown error executing gpgv
W: GPG error: http//archive.ubuntu.com oneiric-updates Release: Unknown error executing gpgv
现在做什么?
答案1
我有两个解决方案:
解决方案 #1 (受到推崇的):
只需打开终端并运行以下命令:
sudo apt-get clean
sudo rm /var/lib/apt/lists/*
sudo rm /var/lib/apt/lists/partial/*
sudo apt-get clean
sudo apt-get update
完成!运行这些
sudo rm ...
命令时,不必担心错误或警告。解决方案 #2:
首先在更新管理器->设置->其他软件中删除所有 ppa 存储库;
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo touch /etc/apt/sources.list
sudo apt-get update
sudo mv /etc/apt/sources.list.bak /etc/apt/sources.list
sudo apt-get update
现在再次添加所有 ppa 存储库。
sudo apt-get update
完毕!
答案2
您原来的错误:
mv: cannot move `lists' to `lists.old/lists': Directory not empty
可以通过在目录重命名中添加时间戳来解决,如下所示。此外,通过&&
在每行之间添加一个将划分每个命令,您可以将下面的整个命令集从您的笔记中剪切并粘贴回终端
sudo apt-get clean && \
cd /var/lib/apt && \
sudo mv lists lists.old_`date '+%Y%m%d_%H%M%S'` && \
sudo mkdir -p lists/partial && \
sudo apt-get clean && \
sudo apt-get update
另一种方法是将其放入出错时退出的脚本中...vi myscript.sh
#!/bin/bash
set -o errexit
sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old_`date '+%Y%m%d_%H%M%S'`
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update
答案3
我唯一一次遇到该错误是因为我在之前修复该问题时已经创建了“lists.old”。尝试执行上面的脚本/终端指令,但将“lists.old2”替换为“lists.old”,一切应该都很好(假设问题正如它声称的那样,目录不为空)。
如果没有,那么您可以随时尝试使用 aptitude 来解决问题,因为据我所知,它使用与 apt-get 不同的列表,但可以解决相同的依赖结构(sudo aptitude update && sudo aptitude upgrade)或使用 aptitude shell(只需输入 aptitude 并按回车键,它会在需要时提示您输入 root 权限),它是交互式的并提供更多选项来尝试纠正 apt-get 的问题 - aptitude shell 也不太直观,因此请查找如何使用它(u、U、g、g 等)
还要注意,如果您使用的是旧版本的 ubuntu,那么不要尝试使用 aptitude 来修复问题,因为 apt-get 不能很好地与它通信,如果您同时使用它们,您的系统可能会变得混乱。
答案4
我遇到了同样的问题,在首先执行 apt-get clean 和 lists purge 之后,这个问题就帮我解决了。
mkdir ~/tmp
sudo mv /usr/local/lib/libreadline* ~/tmp
sudo ldconfig
sudo apt-get update