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

Re: apt/dpkg package files (status, available)



On Tue, Apr 22, 2003 at 11:16:34PM +0100, Carlos Sousa wrote:
> On Tue, 22 Apr 2003 18:31:29 +0100 Colin Watson wrote:
> > On Tue, Apr 22, 2003 at 04:46:02PM +0100, Carlos Sousa wrote:
> > > What is the difference between the status and the available files in
> > > /var/lib/dpkg? And what is their relationship to the various
> > > *Packages files downloaded by 'apt-get update'?
> > 
> > status is the current state of the system; it may well include short
> > paragraphs on uninstalled packages with "Status: purge ok
> > not-installed" or similar.
> 
> Ok. But I'm pretty sure I never installed those berlin packages I see in
> my status file... :)

If they're listed with "Status: install ok installed" in
/var/lib/dpkg/status, then they are by definition installed.

> > available is whatever was available in the archive the last time
> > 'dselect update' was run.
> 
> In what archive? I get:
> 
>    $ grep-dctrl -r -sVersion -FPackage "^cdrecord$" /var/lib/apt/lists/*Packages
>    Version: 4:1.10-7       <-- in stable
>    Version: 4:2.0+a07-1    <-- in testing, installed
>    Version: 4:2.0+a10-2    <-- in unstable
> 
>    $ grep-dctrl -r -sVersion -FPackage "^cdrecord$" /var/lib/dpkg/available
>    Version: 4:2.0+a07-1    <-- the one in testing
> 
> which shows that the available file doesn't really show all available
> packages. Perhaps it just lists the latest packages that may be
> installed considering the APT::Default-Release setting?

/var/lib/dpkg/available predates apt by some years. In this case it'll
basically list whatever 'apt-cache dumpavail' prints, which appears to
be either the installed version if the package is installed or else the
default installable version.

> > > The available file, on the other hand, doesn't show all packages
> > > that are available for install (but arepresent in the *Packages
> > > files).
> > 
> > My guess is that you're running 'apt-get update' rather than the
> > preferable 'dselect update'.
> 
> No, I'm running 'dselect update' in a cron script, 3 times a day.

I didn't realize you were interested in strange multi-release stuff. I
don't trust pinning and avoid it like the plague. :)

> > > The reason I'm asking is that I'm writing a few scripts to provide
> > > various kinds of overviews envolving all Debian packages in all
> > > distributions, and parsing through the *Packages files takes a LONG
> > > time(hours), so I'm searching for other sources of package info.
> > 
> > Do you know about the grep-dctrl package?
> 
> Tried it, but no good for my purposes. I need to generate a text file
> with a few selected fields from each package, tab-separated in a
> one-package-per-line format. grep-dctrl just lists one field per line.

'grep-dctrl | perl' then? :)

Cheers,

-- 
Colin Watson                                  [cjwatson@flatline.org.uk]



Reply to: