apt-get -fインストールが「破損したファイルシステムtarfile」で停止する

apt-get -fインストールが「破損したファイルシステムtarfile」で停止する

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」がもはや満たされていない依存関係に閉じ込められないことがわかります。

この回答では、インストールを中止し、破損したパッケージファイルを削除すると想定しています。

関連情報