apt-getのアップグレード中にエラーが発生した場合はどうすればよいですか?

apt-getのアップグレード中にエラーが発生した場合はどうすればよいですか?

以前に空きディスク容量を確認する前に、誤ってapt-get update、apt-get dist-upgradeを実行しました。私のルート/パーティションがいくつかのログエラーでいっぱいであることをほとんど知りませんでした。そのため、更新中に次の2つのエラーが発生しました。

gdbm fatal: read error

そして

/usr/bin/mandb: can't write to /var/cache/man/26407: No space left on device

これらの警告に加えて、アップグレードは正常に完了したようです。完全なアップグレードログは次のとおりです。

root@titan:~# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libperl5.14 libssl-dev libssl-doc libssl1.0.0 linux-headers-3.2.0-4-amd64 linux-headers-3.2.0-4-common linux-image-3.2.0-4-amd64 linux-libc-dev openssl perl perl-base
  perl-modules
12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 42.9 MB of archives.
After this operation, 1,041 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://security.debian.org/ wheezy/updates/main perl amd64 5.14.2-21+deb7u3 [4,429 kB]
Get:2 http://security.debian.org/ wheezy/updates/main libperl5.14 amd64 5.14.2-21+deb7u3 [1,188 B]
Get:3 http://security.debian.org/ wheezy/updates/main perl-base amd64 5.14.2-21+deb7u3 [1,522 kB]
Get:4 http://security.debian.org/ wheezy/updates/main perl-modules all 5.14.2-21+deb7u3 [3,444 kB]
Get:5 http://security.debian.org/ wheezy/updates/main libssl-doc all 1.0.1e-2+deb7u20 [1,198 kB]
Get:6 http://security.debian.org/ wheezy/updates/main libssl-dev amd64 1.0.1e-2+deb7u20 [1,759 kB]
Get:7 http://security.debian.org/ wheezy/updates/main libssl1.0.0 amd64 1.0.1e-2+deb7u20 [1,263 kB]
Get:8 http://security.debian.org/ wheezy/updates/main linux-image-3.2.0-4-amd64 amd64 3.2.73-2+deb7u3 [23.5 MB]
Get:9 http://security.debian.org/ wheezy/updates/main linux-headers-3.2.0-4-amd64 amd64 3.2.73-2+deb7u3 [639 kB]                                                           
Get:10 http://security.debian.org/ wheezy/updates/main linux-headers-3.2.0-4-common amd64 3.2.73-2+deb7u3 [3,605 kB]                                                       
Get:11 http://security.debian.org/ wheezy/updates/main linux-libc-dev amd64 3.2.73-2+deb7u3 [848 kB]                                                                       
Get:12 http://security.debian.org/ wheezy/updates/main openssl amd64 1.0.1e-2+deb7u20 [702 kB]                                                                             
Fetched 42.9 MB in 9s (4,400 kB/s)                                                                                                                                         
Reading changelogs... Done
Preconfiguring packages ...
(Reading database ... 60824 files and directories currently installed.)
Preparing to replace perl 5.14.2-21+deb7u2 (using .../perl_5.14.2-21+deb7u3_amd64.deb) ...
Unpacking replacement perl ...
Preparing to replace libperl5.14 5.14.2-21+deb7u2 (using .../libperl5.14_5.14.2-21+deb7u3_amd64.deb) ...
Unpacking replacement libperl5.14 ...
Preparing to replace perl-base 5.14.2-21+deb7u2 (using .../perl-base_5.14.2-21+deb7u3_amd64.deb) ...
Unpacking replacement perl-base ...
Processing triggers for man-db ...
gdbm fatal: read error
Setting up perl-base (5.14.2-21+deb7u3) ...
(Reading database ... 60824 files and directories currently installed.)
Preparing to replace perl-modules 5.14.2-21+deb7u2 (using .../perl-modules_5.14.2-21+deb7u3_all.deb) ...
Unpacking replacement perl-modules ...
Preparing to replace libssl-doc 1.0.1e-2+deb7u19 (using .../libssl-doc_1.0.1e-2+deb7u20_all.deb) ...
Unpacking replacement libssl-doc ...
Preparing to replace libssl-dev 1.0.1e-2+deb7u19 (using .../libssl-dev_1.0.1e-2+deb7u20_amd64.deb) ...
Unpacking replacement libssl-dev ...
Preparing to replace libssl1.0.0:amd64 1.0.1e-2+deb7u19 (using .../libssl1.0.0_1.0.1e-2+deb7u20_amd64.deb) ...
Unpacking replacement libssl1.0.0:amd64 ...
Preparing to replace linux-image-3.2.0-4-amd64 3.2.73-2+deb7u2 (using .../linux-image-3.2.0-4-amd64_3.2.73-2+deb7u3_amd64.deb) ...
Unpacking replacement linux-image-3.2.0-4-amd64 ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
Preparing to replace linux-headers-3.2.0-4-amd64 3.2.73-2+deb7u2 (using .../linux-headers-3.2.0-4-amd64_3.2.73-2+deb7u3_amd64.deb) ...
Unpacking replacement linux-headers-3.2.0-4-amd64 ...
Preparing to replace linux-headers-3.2.0-4-common 3.2.73-2+deb7u2 (using .../linux-headers-3.2.0-4-common_3.2.73-2+deb7u3_amd64.deb) ...
Unpacking replacement linux-headers-3.2.0-4-common ...
Preparing to replace linux-libc-dev:amd64 3.2.73-2+deb7u2 (using .../linux-libc-dev_3.2.73-2+deb7u3_amd64.deb) ...
Unpacking replacement linux-libc-dev:amd64 ...
Preparing to replace openssl 1.0.1e-2+deb7u19 (using .../openssl_1.0.1e-2+deb7u20_amd64.deb) ...
Unpacking replacement openssl ...
Processing triggers for man-db ...
/usr/bin/mandb: can't write to /var/cache/man/26407: No space left on device
Setting up libperl5.14 (5.14.2-21+deb7u3) ...
Setting up libssl-doc (1.0.1e-2+deb7u20) ...
Setting up libssl1.0.0:amd64 (1.0.1e-2+deb7u20) ...
Setting up libssl-dev (1.0.1e-2+deb7u20) ...
Setting up linux-image-3.2.0-4-amd64 (3.2.73-2+deb7u3) ...
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
update-initramfs: Generating /boot/initrd.img-3.2.0-4-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
done
Setting up linux-headers-3.2.0-4-common (3.2.73-2+deb7u3) ...
Setting up linux-headers-3.2.0-4-amd64 (3.2.73-2+deb7u3) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.2.0-4-amd64
Setting up linux-libc-dev:amd64 (3.2.73-2+deb7u3) ...
Setting up openssl (1.0.1e-2+deb7u20) ...
Setting up perl-modules (5.14.2-21+deb7u3) ...
Setting up perl (5.14.2-21+deb7u3) ...
root@titan:~#

もちろん、私が最初に実行したのは次のとおりです。

root@titan:/# df
Filesystem                                             1K-blocks     Used Available Use% Mounted on
rootfs                                                   9611492  9124696         0 100% /

スペースがない場合、apt-getはどのようにアップデートをダウンロードしますか? (おそらくtmpfsまたはほとんどのアップデートに十分なスペースがあるでしょう)。私の質問は今、私のシステムが混乱しているかどうかを確認するのですか?走るapt-get dist-アップグレード今回もエラーは表示されず、アクションは必要ありません。再起動は順調に行われ、エラーも発生しませんでした。ただし、以前のアップグレードプロセスを確認したり、何らかの方法でアップグレードを繰り返したり、必要に応じて最後のアップグレードをロールバックしたりする方法があるかどうか疑問に思います。 (Debian Wheezy 7.9のインストールです。)

ベストアンサー1

  1. おそらく、実際にダウンロードする前に十分なスペースがあったので、これらのパッケージをダウンロードしたでしょう。

  2. 走るのですかapt-get clean、それともapt-get autoclean最近走ったことがありますか?そうでない場合は、/var/cache/apt/archives/ディレクトリ(apt-getパッケージをダウンロードする場所)がかなり大きくなる可能性があります。du -sh /var/cache/apt/archivesそれでは、どれだけ大きいかを確認してくださいapt-get clean

  3. 古いログファイルの削除など、より多くのディスク容量を確保するために必要な他のアクションを実行してください。

  4. apt-get dist-upgradeエラーなしで実行され、何もしないと、アップグレードは成功しました。やるべきことはあまりありません。

  5. dpkg --configure --pendingそうでない場合は、最初に半分インストールされたパッケージ構成を実行してから、再度実行してアップグレードを再実行できますapt-get dist-upgrade。必要なすべてのパッケージ(削除されたためapt-get clean)を再ダウンロードしてインストールします。

アップグレードがひどく混乱している場合は、以前のパッケージの一部をエラーなく実行するapt-get -f installか(必要に応じてapt-getが通知する)、手動でインストール(または削除)する必要があります。恐ろしく見えるかもしれませんが、見るほど悪くはありません。覚えておくべき鍵は「パニックにならないでください!」です。落ち着いてゆっくり処理し、エラーメッセージを注意深く読んで、どのパッケージに不満があるかを確認し、作業を実行する前にもう一度考えてください。恥ずかしく、急いで、急いで反応するのは災いの秘訣です。dpkgapt-get

  1. これらのパッケージを強制的に再インストールするには、以下を試してください。

    apt-get --reinstall install libperl5.14 libssl-dev libssl-doc libssl1.0.0 linux-headers-3.2.0-4-amd64 linux-headers-3.2.0-4-common linux-image-3.2.0-4-amd64 linux-libc-dev openssl perl perl-base perl-modules

つまり、パッケージ名をコピーしてapt-get --reinstall installコマンドラインに貼り付けます。

おすすめ記事