apt-get
내 질문라즈베리 파이. 패키지를 설치하려고 할 때의 출력은 다음과 같습니다.
pi@raspberrypi ~ $ sudo apt-get -f install cowsay
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
emacs23 : Depends: libm17n-0 (>= 1.6.1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
sudo apt-get -f install
도움이 없습니다:
sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
libm17n-0
Suggested packages:
m17n-docs
The following NEW packages will be installed:
libm17n-0
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
12 not fully installed or removed.
Need to get 0 B/258 kB of archives.
After this operation, 837 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/Debconf/Format/822.pm line 65, <$__ANONIO__> line 515.
(Reading database ... 58096 files and directories currently installed.)
Unpacking libm17n-0 (from .../libm17n-0_1.6.3-2_armhf.deb) ...
dpkg: error processing /var/cache/apt/archives/libm17n-0_1.6.3-2_armhf.deb (--unpack):
corrupted filesystem tarfile - corrupted package archive
dpkg-deb (subprocess): decompressing archive member: internal gzip read error: '<fd:4>: invalid distance too far back'
dpkg-deb: error: subprocess <decompress> returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/libm17n-0_1.6.3-2_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
SD를 다시 플래시하고 다시 시작하는 것 외에 이 문제를 해결하기 위한 제안 사항이 있습니까?
답변1
손상된 패키지를 제거하면 문제가 해결되었습니다.
sudo rm /var/cache/apt/archives/libm17n-0_1.6.3-2_armhf.deb
답변2
이 문제가 발생하는 사람은 "aptitude"를 사용해야 합니다. 심지어 .deb 파일을 삭제해도 작동하지 않는 경우가 있습니다.
aptitude update
aptitude dist-upgrade
이 단계에서는 충족되지 않은 종속성이 있는 패키지를 제거하시겠습니까?라는 질문이 표시됩니다. "예"라고 대답하고 aptitude가 작업을 수행하도록 해야 합니다. 그러면 결국 "apt-get"이 더 이상 충족되지 않은 종속성에 갇히지 않는다는 것을 알게 될 것입니다.
이 답변에서는 설치를 중단하고 손상된 패키지 파일을 제거한다고 가정합니다.