我在终端中运行了一个随机命令,得到了这样的响应:
无法找到可用应用程序的数据库,请以root用户身份运行update命令not以修复此问题。
很自然,我跑
更新-命令-找不到
作为root,它将开始获取以下文件:
http://http.debian.net/debian/dists/jessie/main/Contents-i386.gz
http://http.debian.net/debian/dists/jessie/contrib/Contents-i386.gz
http://http.debian.net/debian/dists/jessie/non-free/Contents-i386.gz但是,命令没有完全完成,而是抛出了这个错误。
I: Writing data for ftp.us.debian.org_debian_dists_jessie_main_Contents-i386.gz ...
Traceback (most recent call last):
File "/usr/sbin/update-command-not-found", line 95, in <module> write_db_apt_file()
File "/usr/sbin/update-command-not-found", line 72, in write_db_apt_file write_db_core(fobj)
File "/usr/sbin/update-command-not-found", line 39, in write_db_core for i in text: File "/usr/lib/python2.7/gzip.py", line 462, in readline c = self.read(readsize)
File "/usr/lib/python2.7/gzip.py", line 268, in read self._read(readsize)
File "/usr/lib/python2.7/gzip.py", line 303, in _read self._read_gzip_header()
File "/usr/lib/python2.7/gzip.py", line 197, in _read_gzip_header raise IOError, 'Not a gzipped file'
IOError: Not a gzipped file我被卡住了。在搜索IOError时,搜索update命令not并没有产生积极的结果来解决这个问题:没有一个压缩文件将问题与programming联系起来,我对此一点也不了解。
有什么办法解决这个问题吗?这是在一个新安装的Debian (8)上,它是最少安装的,我后来添加/删除了一些DE和软件包。
从未命名-a得到的结果
3.16.0-4-686-pae #1 SMP debian 3.16.7-ckt20 20-1+deb8u 1 (2015-12-14) i686 GNU/Linux
lsb_release -rd的结果
描述: DebianEdu/Skolelinux发行版: 8.2
谢谢你的帮助。
发布于 2016-01-07 02:04:49
我发现更新命令下载了一些内容-i386.gz文件到/var/cache/apt/apt/目录中。不知何故,下载的文件是错误的,文件大小与原始文件不匹配。为什么会出现这个问题,对我来说仍然是个谜。我不得不使用wget手动下载(使用-O开关重命名下载的文件),如下所示:
下面是命令(用于复制和粘贴目的):
wget http://ftp.us.debian.org/debian/dists/jessie/main/Contents-i386.gz -O /var/cache/apt/apt-file/ftp.us.debian.org_debian_dists_jessie_main_Contents-i386.gz对剩下的文件做同样的事情:
wget http://http.debian.net/debian/dists/jessie/main/Contents-i386.gz -O /var/cache/apt/apt-file/http.debian.net_debian_dists_jessie_main_Contents-i386.gz
wget http://http.debian.net/debian/dists/jessie/contrib/Contents-i386.gz -O /var/cache/apt/apt-file/http.debian.net_debian_dists_jessie_contrib_Contents-i386.gz
wget http://http.debian.net/debian/dists/jessie/non-free/Contents-i386.gz -O /var/cache/apt/apt-file/http.debian.net_debian_dists_jessie_non-free_Contents-i386.gz既然/var/cache/apt/apt/包含了正确的文件,我就可以使用update-command-not-found开关运行-n,以防止这个命令下载,并用错误的文件覆盖正确的文件。
root@debian:/var/cache/apt# update-command-not-found -n
I: Writing data for ftp.us.debian.org_debian_dists_jessie_main_Contents-i386.gz ... . done
I: Writing data for http.debian.net_debian_dists_jessie_contrib_Contents-i386.gz ... . done
I: Writing data for http.debian.net_debian_dists_jessie_main_Contents-i386.gz ... . done
I: Writing data for ftp.us.debian.org_debian_dists_jessie-updates_main_Contents-i386.gz ... . done
I: Writing data for http.debian.net_debian_dists_jessie_non-free_Contents-i386.gz ... . done注意:我不得不从security.debian.org_dists_jessie_updates_main_Contents-i386.gz目录中删除/var/cache/apt/apt-file/,因为以前的wget导致了ERROR 404: Not Found。
https://unix.stackexchange.com/questions/253441
复制相似问题