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

Re: not installed and installed , where they store?



On 05/10/2015 at 04:53 AM, Mohsen Pahlevanzadeh wrote:

> On 05/10/2015 09:14 AM, Johannes Schauer wrote:
> 
>> Hi,
>> 
>> Quoting Mohsen Pahlevanzadeh (2015-05-10 05:53:17)
>> 
>>> When i use : grep ^Status: /var/lib/dpkg/status , Unfortunately ,
>>> i only get "Status: install ok installed"
>> 
>> how sure are you of that? Did you just look at the first few
>> hundred or did you really find all unique values? Try:
>> 
>> grep ^Status: /var/lib/dpkg/status | sort | uniq -c
>> 
>> cheers, josch
> 
> It's very interseting :
> /////////////////////////////////////////////////////////////////////////
> I did :
> root@debian:/home/mohsen# grep ^Status: /var/lib/dpkg/status | sort | uniq -c
>       1 Status: install ok config-files
>     2803 Status: install ok installed
> ////////////////////////////////////////////////////////////////////

For comparison, I get>

========
$ grep ^Status: /var/lib/dpkg/status | sort | uniq -c
    479 Status: deinstall ok config-files
      2 Status: hold ok installed
   3604 Status: install ok installed
========

> But :
> 
> ///////////////////////////////////////////////////////////////////
> root@debian:/home/mohsen# dpkg -l virtualbox*
> Desired=Unknown/Install/Remove/Purge/Hold
> | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
> |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
> ||/ Name           Version      Architecture Description
> +++-==============-============-============-=================================
> un  virtualbox     <none>       <none>       (no description available)
> ii  virtualbox-4.3 4.3.22-98236 amd64        Oracle VM VirtualBox
> un  virtualbox-gue <none>       <none>       (no description available)
> un  virtualbox-ose <none>       <none>       (no description available)
> ////////////////////////////////////////////////////////////////////////////////////////////////

Yes, this makes sense.

The logic as I understand it is that 'dpkg -l' effectively starts out by
assuming that everything is in status "un", and overrides that for every
package which is listed in /var/lib/dpkg/status.

If that weren't true, then it would be necessary for your system to keep
a list of _all available packages_ in /var/lib/dpkg/status - and since
packages can come from multiple sources, there is no possible way (short
of being omniscient) to compile a list of all available packages, much
less keep it up to date every time someone in the world makes a new
package version.


If you've never installed a package, or if it has been fully purged and
has (or should have) no remnants remaining on the system, then it will
not be included in /var/lib/dpkg/status - and 'dpkg -l' will report
status "un".

-- 
   The Wanderer

The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man.         -- George Bernard Shaw

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: