yakketyにアップグレードした後、システムを安全に更新またはアップグレードできません。 apt更新(およびaptitudeとsynapticなど)の出力は常に同じです。
GPGエラー: http://01.archive.ubuntu.com/ubunt yakkety-updates InRelease:apt-keyの実行中に不明なエラーが発生しました
apt-key update
の実行は私に与えます:
gpg:致命的:libgcryptが古すぎます(1.7.0が必要、1.6.5が必要)
かなり奇妙です...私は手動でlibgcrypt20をインストールしようとしましたが、出力は同じです...
だから私は私に与えるdpkg -p libgcrypt20
で確認しました:
dpkg-query:パッケージ 'libgcrypt20'は利用できません
しかし、シナプスによると、バージョン1.7.2-2ubuntu1がインストールされています...
私はすでにldconfig
を試しました。
非民主的な国にいるため、セーフモードでは更新できません。システムが怖いです。
いいねc。
これとよく似たエラーが発生しました。私の場合、別のバージョンのlibgcryptが/ usr/local/libにインストールされていました
user@computer:~$ gpg --version
gpg: Fatal: libgcrypt is too old (need 1.7.0, have 1.6.4)
user@computer:~$ Sudo ldd /usr/bin/gpg
linux-vdso.so.1 => (0x00007fff5b3b8000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4f1f95d000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f4f1f74d000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f4f1f44b000)
libgcrypt.so.20 => /usr/local/lib/libgcrypt.so.20 (0x00007f4f1f169000)
libreadline.so.7 => /lib/x86_64-linux-gnu/libreadline.so.7 (0x00007f4f1ef1f000)
libassuan.so.0 => /usr/local/lib/libassuan.so.0 (0x00007f4f1ed0a000)
libgpg-error.so.0 => /usr/local/lib/libgpg-error.so.0 (0x00007f4f1eaf6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4f1e72f000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4f1e426000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4f1e208000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4f1e004000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f4f1ddd9000)
/lib64/ld-linux-x86-64.so.2 (0x0000564feff78000)
user@computer:~$ ls /usr/local/lib
libassuan.la libgcrypt.so libgpg-error.so.0 libksba.so.8.11.4
libassuan.so libgcrypt.so.20 libgpg-error.so.0.17.0 libnpth.la
libassuan.so.0 libgcrypt.so.20.0.4 libksba.la libnpth.so
libassuan.so.0.7.2 libgpg-error.la libksba.so libnpth.so.0
libgcrypt.la libgpg-error.so libksba.so.8 libnpth.so.0.0.5
以前に手動でインストールしたgnupgのバージョンをアンインストールすることで、この問題を解決しました
./configure
make
make uninstall
以下を実行すると、私にとってはうまくいくように見えました。上記のコメントに感謝します。
$ which gpg
> /usr/local/bin/gpg
which gpg
からのパスをポイントし、その上でldconfig
を実行します。
$ Sudo ldconfig /usr/local/bin/gpg
注:ldconfig
は何も返さず、その後動作し始めました。
$ gpg --version
> gpg (GnuPG) 2.2.17
> libgcrypt 1.8.4
> ...