Florian Kulzer wrote:
On Mon, Apr 23, 2007 at 11:34:21 -0700, Freddy Freeloader wrote:
Florian Kulzer wrote:
On Mon, Apr 23, 2007 at 08:08:22 -0700, Freddy Freeloader wrote:
I have three separate machines that have identical entries in
/etc/apt/sources.list. All were updated and upgraded this morning as a
result of troubleshooting this issue. On machine #1 I can apt-cache show
nhfsstone and it returns the expected data on nhfsstone. On machines 2
and 3 it tells me that the nhfsstone package cannot be found. Running
apt-cache search nfs on all machines yeilds similar results. Machine #1
has nhfsstone included in the result set. Machines 2 and 3 do not. All
machines are pointed to: deb http://mirrors.kernel.org/debian sid main
contrib non-free. This just makes absolutely no sense to me. I'm
pointing all three to the same set of repositories and yet two machines
cannot find a software package the other machine finds. I realize that
all machines may not see exactly the same server every time, but to have
a package being found on one machine and missing on two others seems very
strange.
Can anyone explain this anomaly this to me?
It seems to me that nhfsstone is no longer in Sid.
My guess is that machine #1 has it only as a local package. What is the
output of "apt-cache policy nhfsstone" on this machine?
Thanks Florian,
It is reported as installed, which it is. However, since it was installed
and the present time I have run "apt-get clean" so the package no longer
exists in the local apt archives.
But it is still listed by apt-cache as "100 /var/lib/dpkg/status" for
the currently installed version, right?
Does this mean that apt-cache reads the local database + the server
repositories rather than the just the server repositories? I tend to see
that as a bug, not a feature, as it leads people, such as me, to believe a
package which was installed at some time in the past on the local machine
still exists in the repositories when it has, in fact, been removed.
I think many people would not like it if apt-cache no longer found the
local packages, custom kernels, etc. If a package is still installed
then its information is included in apt's package cache, and "apt-cache"
bases all its results on this cache. It does not query the repositories
at all but it gets this information indirectly whenever you run "apt-get
update" (or aptitude, etc.).
If you want to run queries on what is available in the repositories you
will probably have to use "apt-file" or "rmadison" (from package
"devscripts").
Thanks Florian,
I guess, then, I just use "apt-cache search" differently than most
people do, or even the way it was intended to be used. I use it to find
available packages and it has always worked for me until today as I
usually run apt-get update on a daily basis. I have never even thought
of using it to find something installed locally because to me it makes
no sense to use it that way as it gives you no way to know if a package
is installed. If I want to find out if something is locally installed I
use "dpkg -l | grep relevant_string". That tells me the package's
installation status.
I guess I should have realized that apt-cache does search locally
because of the results returned using "apt-cache policy", which I used
to use a fair amount, but not regularly anymore because I no longer use
apt-pinning. For some reason it just didn't occur to me though. I just
assumed that the search and policy options worked differently. My bad
for not firing up a sniffer to see exactly how they worked.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]