web-dev-qa-db-ja.com

Sudo apt-get updateを実行するときに「gpgvを実行中の不明なエラー」を修正する方法

次のエラーが表示されました

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

その後、グーグルで検索して次の指示に従いましたが、1つのエラーが発生しました:

**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

今何をしますか?

4
Kapil Anand

私には2つの解決策があります:

  • ソリューション#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:

    1. 最初に、Update Manager->設定->その他のソフトウェアですべてのppaリポジトリを削除します。

    2. Sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

    3. Sudo touch /etc/apt/sources.list

    4. Sudo apt-get update

    5. Sudo mv /etc/apt/sources.list.bak /etc/apt/sources.list

    6. Sudo apt-get update

    7. すべてのPPAリポジトリを再度追加します。

    8. Sudo apt-get update

    できた!

3
Seyed Mohammad

元のエラー:

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
1
Scott Stensland

最初にapt-get cleanとリストパージを実行した後、同じ問題が発生し、これで解決しました。

mkdir ~/tmp
Sudo mv /usr/local/lib/libreadline* ~/tmp
Sudo ldconfig
Sudo apt-get update
0
glindste

以前に問題を修正したときに「lists.old」がすでに作成されていたため、このエラーが発生したことがあります。上記のスクリプト/ターミナルの手順を試してみてください。ただし、「lists.old」の代わりに「lists.old2」を使用すると問題ありません(問題は、ディレクトリが空ではないと主張する場合)。

そうでない場合、私は知っている限り、apt-getとは異なるリストを使用していますが、同じ依存関係構造を解決できるため(sudo aptitude update && Sudo aptitude upgrade)またはaptitudeシェル(aptitudeを入力してEnterキーを押すと、必要なときにrootのプロンプトが表示されます)対話型で、apt-getの問題を修正するためのオプションが追加されます-aptitude Shellも直感的ではないので、使用します(u、U、g、gなど)

また、古いバージョンのubuntuを使用している場合、apt-getはそれとあまりうまく話せず、両方を使用するとシステムが台無しになる可能性があるため、aptitudeで問題を修正しようとしないでください。

0
Michael