Re: Getting dselect and apt-* to work from a local file system
On Sat, Jul 14, 2001 at 02:54:43PM -0700, der.hans wrote:
> Am 14. Jul, 2001 schw?zte Joost Kooij so:
>
> > Try to run update again from the dselect menu. If you keep having
> > problems with the integrity of the /var/lib/dpkg/available file, please
> > post again.
>
> I don't think he can. I think this is the case where debian has no net
> access, but can get stuff off another filesystem via duel-boot with an OS
> that does have net access.
>
> While it would seem good to give debian net access :), he apparently can't
> for some reason.
Before ubiquitous net access became a commodity, debian worked just fine.
Why else do you think that there still is a dpkg-split utility in the
dpkg package?
Admittedly, I wouldn't want to go back and dselect and apt are great
improvements, but you can still manage a debian system without them.
It's just a bit more harsh. Without dselect and/or apt, you'll quickly
be experienced in sed and awk. Maybe that is in fact the only way to
really appreciate what the high level tools can do.
> So, now we know dselect needs /var/lib/dpkg/available. Is that simply a file
> that's downloaded? Is it something that's built from other files?
No, it's part of the dpkg database. You should not be modifying that by
hand, unless dpkg itself has broken down.
> I think he needs to know how to get the content via ftp or http and then how
> to build /var/lib/dpkg/available by hand.
Download the Packages file, ungzip it, and use the correct interface:
dpkg --update-avail Packages
I thought earlier that it could be piped to stdin as well, but it doesn't.
> Also, could he just edit the one he has and take out one or both of the
> offending entries?
Sure, as I said, when dpkg is severely broken, you'll have to. But this is
not the case right now, if he can still use "dpkg --update-avail"
There is also --merge-avail, which works out slightly differently, but in
the case of a database corruption, --update-avail is better, I think.
Cheers,
Joost
Reply to: