On Fri, 2007-12-21 at 18:42 -0800, Hank Sims wrote:
> hanksims@szara:~$ sudo apt-get upgrade
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following packages will be upgraded:
> libmysqlclient15off mysql-client mysql-client-5.0 mysql-common
> mysql-server
> mysql-server-5.0
> 6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
> 1 not fully installed or removed.
> Need to get 0B/36.3MB of archives.
> After unpacking 4096B disk space will be freed.
> Do you want to continue [Y/n]? Y
> Preconfiguring packages ...
> Setting up findutils (4.2.31-1ubuntu2.1) ...
@@@
> /var/lib/doc-base/info/findutils.status: cannot open status file for
> writing: Not a directory
> at /usr/share/perl5/Debian/DocBase/InstallDocs.pm line 119
@@@
> dpkg: error processing findutils (--configure):
> subprocess post-installation script returned error exit status 20
> Errors were encountered while processing:
> findutils
> E: Sub-process /usr/bin/dpkg returned an error code (1)
>
I don't know what the problem is here, but here are some things to try:
The first error, which is always the one you want to focus on, is the
highlighted part. The error message wasn't immediately clear to me, so I
looked at the copy of the file generating the error on my home machine,
and it contained the following on line 119:
$doc->register($docfile);
Looking a little farther back in that file makes it clear that $doc is a
product of the Debian::DocBase::Document->new($docid) function call.
Without delving deep into this class, there was no way I was going to
find out what that meant, so I went back to the error message.
The next thing I did was cat /var/lib/doc-base/info/findutils.status,
which contains the following single line on my machine:
Control-File: /usr/share/doc-base/findutils
Because the original file refers to a second file, I can't tell if the
error message resulting from the perl script is referring
to /var/lib/doc-base/info/findutils.status or the file it points
to, /usr/share/doc-base/findutils .
In either case, the "cannot open status file for writing" part leads me
to believe that there may be a permission problem. Therefore, it might
be helpful to reset the ownership and permissions on the two files in
question. On my Ubuntu 7.10 machine, here is the relevant data:
-rw-r--r-- 1 root root 44 2007-12-21
17:47 /var/lib/doc-base/info/findutils.status
-rw-r--r-- 1 root root 318 2007-12-12
05:19 /usr/share/doc-base/findutils
Apologies for the line breaks. However, the second part of the error
message ("Not a directory") puzzles me. This is the error you get when
you try to cd into a file instead of a directory. If the above
permission changes don't fix your problem, I would keep in mind the fact
that the error message explicitly refers to a directory, and start
reverse engineering /usr/share/perl5/Debian/DocBase/InstallDocs.pm.
Alternately, you could just reinstall the OS. That often fixes weird
problems. Oh, by the way...you didn't do an in-place upgrade from a
previous version of Ubuntu, did you? I know everyone is talking about
how slick the process is now, but my experiences with Linux upgrading
have been pretty disappointing on average. It's possible that something
went wrong there, which a fresh reinstall would almost certainly fix.
Cheers,
Eric
signature.asc
Description: This is a digitally signed message part
|