[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Aptitude cannot upgrade libperl5.10



On Mon, Aug 30, 2010 at 00:17:19 +0000, T o n g wrote:
> On Sun, 29 Aug 2010 22:11:21 +0200, Florian Kulzer wrote:
> 
> >> % aptitude show libperl5.10 | awk '/^Package/,/^Version/' Package:
> >> libperl5.10
> >> State: not installed
> >> Automatically installed: no
> >> Version: 5.10.1-14
> >> 
> >> . . . 
> >> 
> >> $ apt-cache policy libperl5.10
> >> libperl5.10:
> >>   Installed: 5.10.1-12
> >>   Candidate: 5.10.1-14
> >>   Version table:
> >>      5.10.1-14 0
> >>         360 http://cdn.debian.net testing/main Packages
> >>          50 http://cdn.debian.net unstable/main Packages
> >>  *** 5.10.1-12 0
> >>         100 /var/lib/dpkg/status
> 
>  : : : 
> 
> >> OK, now I think the problem is that my aptitude's status log is messed
> >> up. . . 
> > 
> > Indeed, there seems to be a problem with aptitude's databases. Please
> > check what dpkg itself thinks about libperl, i.e.
> > 
> >   dpkg -l libperl\* | awk '/^[^D|+]/{print $1,$2,$3}'
> 
> $ dpkg -l libperl\* | awk '/^[^D|+]/{print $1,$2,$3}'
> ii libperl5.10 5.10.1-12
> un libperl5.8 <none>
> 
> So both dpkg and apt-get think libperl is installed, except aptitude.
> 
> Is there any way for me to rebuild my aptitude's databases?

AFAIK, aptitude updates its database automatically before it is runs
commands that change the status of any packages (also when it is started
in interactive mode). Aptitude has to do this because the user might
have made changes to the installation with dpkg or another package
manager since the last time aptitude was run. This has always worked for
me so far. I have no idea why this fails on your system; you might have
found a bug that only manifests itself under very special circumstances,
or there could be a more subtle corruption of aptitude's database. The
first thing I would do is check the root filesystem and the SMART
information of its hard disk.

-- 
Regards,            |
          Florian   |


Reply to: