apt, and proxies (Debian again)

[prev] [thread] [next] [lurker] [Date index for 2006/12/28]

From: jrodman
Subject: apt, and proxies (Debian again)
Date: 16:52 on 28 Dec 2006
I use a cacheing web proxy to make my life suck a tiny bit less.  I use
it in my browser, and I export it as an environment variable.  This
works well. All kinds of tools get accelerated.

( Well, really I export it as two environment variables, HTTP_PROXY and
  http_proxy, because it seems people were various kinds of stupid at
  various times.  Oh well. )

Now, apt (a package tool), from debian supports http proxies.  Handy,
since apt sometimes loses its mind and I have to manually delete its
package cache to force it to download them again.  So it can regain its
mind faster.

Unfortunately, apt does not support http cacheing properly.  It cannot
arrange to reliably discover when tiles provided by the standard package
repositories have changed.  The result is  apt-get update (find out
about new packages) often acquires a patchwork of mismatched old and new
files.  

This causes it to complains about md5sums not matching.  

  Ye olde apt-get update hate: when `apt-get update' fails, it suggests
  to fix this by running `apt-get update'.  This invariably produces the
  same error in a slightly different configuration.  I wish all software
  was so helpful: 
     "An error has occurred.
      To fix this, please do exactly what you just did again."

Net result, `apt-get update' fails around 50% of the time (who knows
what the factors are).  I would prefer it to work 100% of the time.
Since its support for caching proxies is broken, I would like to ask it
not to use a cacheing proxy.  Looking at the configfile documentation:

  blah blah blah all about proxy settings for http written in confusing
  language...  Then clarity:

  The http_proxy environment variable will override all settings.

When there is a conflict between program-specific settings, and a
program-general setting, ignore the program-specific settings.  Right.

Okay, so I cannot configure apt not to screw up.  I have to remove the
environment variable before invoking apt-get.  Well, how will I do this?

apt-get is indirectly invoked by various tools, so making my own
shellscript to run it is not going to work.  I could replace apt-get
with a shellscript that invokes apt-get after removing the environment
variable, but this will be transparently re-broken on upgrade.

I guess I will simply have to manually remove both environment variables
before launching whatever tool that might invoke apt-get.  And then put
them back.

-josh

Generated at 06:01 on 24 Jan 2007 by mariachi 0.52