Steve Kleene wrote:
> dd </var/cache/apt/archives/[package].deb >/dev/null
>   dd: reading `standard input': Input/output error

That isn't a good error message.  I think your disk is failing.
Review your /var/log/syslog and look for error messages there.  I
expect you will see other errors logged there.

If you don't have a good backup and recovery plan then you should make
one right now.  Fortunately replacement media has never been less
expensive.

You didn't say what type of media you are using.  Spinning disk?  SSD?
Other?

> If I remove the bad deb file and call apt-get to reinstall that package,
> everything runs to completion.  So I have been able to keep the system
> updated.

I suspect that only portions of your disk are causing problems.  That
is typical.  Due to the allocation schemes of the filesystems you are
not getting the same disk error each and every time.  But package
downloads create a lot of disk activity over a relatively lot of
filesystem.  That makes it much more likely you will hit a problem
then as opposed to other times with relatively less disk activity.

> I thought the unreadable file might indicate one or more bad blocks on the
> disk.  A recent boot ran fsck (as it does every 25 boots), and no filesystem
> errors were found.

And fsck is looking at filesystem integrity not disk integrity.  They
are related but not identical.  As long as the filesystem is able to
recover then it will fsck okay.  But the underlying disk might still
be suffering errors.

> What might be giving rise to these truncated deb-file downloads?  How might I
> fix the problem?

Check /var/log/syslog for disk errors.

Is your disk S.M.A.R.T. capable?  Install 'smartmontools'.  Then run
selftests against the disk.  SMART hasn't be a great predictor of
failure for me but it has been a good confirmation of it.

Here are some example uses of it.

  # smartctl -H /dev/sda
  # smartctl -a /dev/sda
  # smartctl -l selftest /dev/sda
  # smartctl -t short /dev/sda
  # sleep 60 && smartctl -l selftest /dev/sda
  # smartctl -t long /dev/sda
  ...sleep somelongtime...
  # smartctl -l selftest /dev/sda

Bob

Attachment: signature.asc
Description: Digital signature

Reply via email to