Debian: "update-command-not-found" IOError: gzip 압축 파일이 아닙니다.

Debian: "update-command-not-found" IOError: gzip 압축 파일이 아닙니다.

터미널에서 임의의 명령을 실행하고 다음 응답을 얻습니다.

사용 가능한 애플리케이션에 대한 데이터베이스를 찾을 수 없습니다. 이 문제를 해결하려면 루트로 update-command-not-found를 실행하십시오.

당연히 달려갔지

업데이트 명령을 찾을 수 없습니다.

루트로서 다음 파일을 받기 시작합니다.

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: gzip 압축 파일이 아닙니다.Python 프로그래밍과 관련된 질문에 대해 조금 혼란스러워요.

이 문제를 해결할 수 있는 해결 방법이 있습니까? 이것은 Debian Jessie(8)를 새로 설치했을 때 발생했는데, 최소한으로 설치되었고 나중에 일부 DE와 패키지를 추가/제거했습니다.

결과uname -a

Linux debian 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt20-1+deb8u1 (2015-12-14) i686 GNU/Linux

결과lsb_release-rd

설명: DebianEdu/Skolelinux 버전: 8.2

도움을 주셔서 감사합니다.

답변1

나는 찾았다업데이트 명령을 찾을 수 없습니다.일부를 다운로드했습니다디렉토리-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/wgetERROR 404: Not Found

관련 정보