我在台式机上运行Debian。 因为一些错误的电缆,访问高清失败了几次,这使我的/var文件系统有些损坏。 这是一个btrfs文件系统。 所以,我把整个系统拷贝到另一个HD上,但是还是有问题的! 我不确定它们都与文件系统损坏问题有关。
sudo aptitude update Get: 1 http://ftp.us.debian.org/debian unstable InRelease [209 kB] Err http://ftp.us.debian.org/debian unstable InRelease Unknown error executing apt-key Fetched 209 kB in 2s (95.9 kB/s) Current status: 0 (-479) upgradable, 0 (-11) new. W: GPG error: http://ftp.us.debian.org/debian unstable InRelease: Unknown error executing apt-key E: The repository 'http://ftp.us.debian.org/debian unstable InRelease' is not signed.
奇怪。 apt-get update同样会失败。 所以我做了更多的testing:
sudo apt-get source hello Reading package lists... Done Need to get 733 kB of source archives. WARNING: The following packages cannot be authenticated! hello E: Some packages could not be authenticated
所以apt-get会拒绝提取源,因为它认为它不能检查签名。 有趣。 因为apt-get install <whatever-package>作用 – 除了它会抱怨签名检查:
sudo apt-get install hello Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: hello 0 upgraded, 1 newly installed, 0 to remove and 479 not upgraded. Need to get 55.7 kB of archives. After this operation, 545 kB of additional disk space will be used. WARNING: The following packages cannot be authenticated! hello Install these packages without verification? [y/N] y Get:1 http://ftp.us.debian.org/debian unstable/main amd64 hello amd64 2.10-1 [55.7 kB] Fetched 55.7 kB in 0s (74.9 kB/s) Retrieving bug reports... Done Parsing Found/Fixed information... Done Selecting previously unselected package hello. (Reading database ... 851110 files and directories currently installed.) Preparing to unpack .../hello_2.10-1_amd64.deb ... Unpacking hello (2.10-1) ... Processing triggers for install-info (6.1.0.dfsg.1-8) ... Setting up hello (2.10-1) ... Processing triggers for man-db (2.7.5-1) ...
所以,我跑了
sudo apt-get clean sudo apt-get --reinstall install apt debian-keyring sudo dpkg-reconfigure apt debian-keyring
但问题依然存在。
而我终于发现了这个问题:
sudo apt-key net-update gpg: relocation error: gpg: symbol gcry_sexp_extract_param, version GCRYPT_1.6 not defined in file libgcrypt.so.20 with link time reference
但…
ldd `which apt-key` not a dynamic executable
apt , debian-keyring , libgcrypt20的bug报告页面并没有显示任何与此相关的东西(除非我错过了某些东西,当然!)
Debian版本是sid; 和我的sources.list是这些:
deb http://ftp.us.debian.org/debian/ unstable main non-free contrib deb-src http://ftp.us.debian.org/debian/ unstable main non-free contrib
另外, apt的版本是1.3~rc2 ,和我在另一台运行正常的计算机上一样。
我想知道是否还有其他的东西可以调查,然后才决定重新从头开始重新安装系统(我有超过15年的/etc摆弄工作,即使我复制到新的安装,恐怕它不会,就像看起来一样顺利!)
尝试这个:
apt-get install gnupg libgcrypt20 -o AllowUnauthenticated=true
或者最好在最近使用滚动发行版时进行完整的升级。 如果你仍然有问题,那么你必须填写错误报告自己破碎的新包。 sid版本是为了收集来自许多用户的错误报告。