pkgdb.db locked
Mikhail Goriachev
mikhailg at webanoide.org
Mon Jun 19 15:08:45 UTC 2006
Lewis McLouth wrote:
> Hello.
>
> When I run the command pkgdb -Fu, I get the response
>
> [Rebuilding the pkgdb <format:dbm_hash> in /var/db/pkg ... can't convert
> String into Integer: Cannot update the pkgdb!]
>
> I think I know where I goofed, so here's the story on my suspected mistake.
>
> I just upgraded from RELENG_5_4 to RELENG_6, which went fairly smooth.
> I'm now upgrading my ports but I was foolish today and ran portupgrade
> without first reading /usr/ports/UPDATING. I think this is the source
> of my problem (as in, running the command. Of course not reading
> UPDATING is another problem! but I don't need help with that).
> So, I first ran
>
> portupgrade -arR
>
> portupgrade did not upgrade linux_base-8 and instead reported that it
> was marked as IGNORE and to use linux_base-fc-4. So, I ran the commands
>
> cd /usr/ports/emulators/linux_base-8
> make deinstall
> cd ../linux_base-fc-4
> make install clean
>
> This it did fine, but when I now try to run pkgdb -Fu, I get the
> following output:
>
> [Rebuilding the pkgdb <format:dbm_hash> in /var/db/pkg ... can't convert
> String into Integer: Cannot update the pkgdb!]
>
> I then read /usr/ports/UPDATING, saw that linux_base-8 was dropped and
> replaced by linux_base-fc-4.
>
> So, I then did the suggested command.
>
> portupgrade -f -o emulators/linux_base-fc4 linux_base\*
>
> This produced
>
> [Rebuilding the pkgdb <format:dbm_hash> in /var/db/pkg ... [Rebuilding
> the pkgdb <format:dbm_hash> in /var/db/pkg ... ** Database file locked.
> Waiting.
> ** Timeout. Lock looks dead. Remove it.
> /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:261:in `origin': can't
> convert String into Integer: Cannot update the pkgdb!] (PkgDB::DBError)
> from /usr/local/lib/ruby/site_ruby/1.8/pkginfo.rb:178:in `origin'
> from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:977:in `tsort_build'
> from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:971:in `tsort_build'
> from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:993:in `sort_build'
> from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:997:in `sort_build!'
> from /usr/local/sbin/portupgrade:705:in `main'
> from /usr/local/lib/ruby/1.8/optparse.rb:815:in `initialize'
> from /usr/local/sbin/portupgrade:216:in `main'
> from /usr/local/sbin/portupgrade:2048
>
> I've googled for the phrase 'pkgdb "Lock looks dead"' and various
> combinations of the output hoping to learn how to unlock pkgdb.db but
> with no luck. Plus, I cannot locate pkgdb.dg with
>
> ls -a /var/db/pkg
>
> My questions are: How do I remove the lock on pkgdb? Where does
> pkgdb.db go when its locked? find does not locate it. I ran
>
> find / pkgdb.db | grep pkgdb.db
> find: pkgdb.db: No such file or directory
>
> Also, if pkgdb.db was deleted, how do I rebuild the pkgdb.db? (pkgdb -f
> does not rebuild pkgdb.db, I just checked)
>
> The output of uname -a and ls /var/db/pkg are attached.
>
> Any help would be appreciated.
>
Hi,
I'm not an expert, but I'll chuck my 2c in this. I once had a
disagreement with pkgdb myself. The conflict ended up by removing the
contents of:
/var/db/ports
/var/db/pkg
Before that, I deinstalled all packages though.
After the cleansing session, I reinstalled all ports from scratch. pkgdb
is happy now. The thing is, I only had around 10 packages installed, so
rebuilding them wasn't an issue for me. For sure that was dirty but quick.
Cheers,
Mikhail.
--
Mikhail Goriachev
Webanoide
Telephone: +61 (0)3 62252501
Mobile Phone: +61 (0)4 38255158
E-Mail: mikhailg at webanoide.org
Web: http://www.webanoide.org
PGP Key ID: 0x4E148A3B
PGP Key Fingerprint: D96B 7C14 79A5 8824 B99D 9562 F50E 2F5D 4E14 8A3B
More information about the freebsd-questions
mailing list