Package: apt-cacher-ng Version: 0.6.2-1 Severity: important Tags: unreproducible
Hi Eduard et al, I installed apt-cacher-ng on 2011-05-17 and it has been working very well for me. It listens on port 3142 and apt.conf.d has a file with Acquire::http { Proxy "http://127.0.0.1:3142"; }; making everything Just Workâ˘. This way, VMs can reuse the already-downloaded files, which seems like a nice benefit to me. Unfortunately today it was not so good: in the middle of downloading dependencies a package, suddenly it just transfering anything (at 0/0). So I ran "apt-get update" but that grabbed a few indices and then hanged, too. In the background there was a horrible quiet ringing sound maybe representing some particular CPU, network, or disk access pattern (I don't know hardware so well). When I hit ^C to stop "apt-get update", it was quiet again. Running "apt-get update" again produced the same problem. That was about 10 minutes ago. Now trying to reproduce it again for this report, "apt-get update" is working fine. Please feel free to close this report and I'll file it again the next time it happens; still, thought you might like to know. Any ideas for tracking this down? Jonathan
$ cat /etc/apt/sources.list deb http://ftp.us.debian.org/debian/ squeeze main deb-src http://ftp.us.debian.org/debian/ squeeze main deb http://security.debian.org/ squeeze/updates main deb http://ftp.us.debian.org/debian/ squeeze-proposed-updates main deb-src http://ftp.us.debian.org/debian/ squeeze-proposed-updates main deb-src http://security.debian.org/ squeeze/updates main deb-src http://ftp.us.debian.org/debian/ sid main deb-src http://ftp.us.debian.org/debian/ experimental main #deb http://mozilla.debian.net/ experimental iceweasel-4.0 #deb-src http://mozilla.debian.net/ experimental iceweasel-4.0 deb http://ftp.us.debian.org/debian/ sid main deb http://ftp.us.debian.org/debian/ experimental main $ grep . /etc/apt/apt.conf.d/* /etc/apt/apt.conf.d/00aptitude:Aptitude::Get-Root-Command "sudo:/usr/bin/sudo"; /etc/apt/apt.conf.d/00CDMountPoint:Acquire::cdrom { /etc/apt/apt.conf.d/00CDMountPoint: mount "/media/cdrom"; /etc/apt/apt.conf.d/00CDMountPoint:} /etc/apt/apt.conf.d/00CDMountPoint:Dir::Media::MountPath "/media/cdrom"; /etc/apt/apt.conf.d/00trustcdrom:APT::Authentication::TrustCDROM "true"; /etc/apt/apt.conf.d/01autoremove:APT /etc/apt/apt.conf.d/01autoremove:{ /etc/apt/apt.conf.d/01autoremove: NeverAutoRemove /etc/apt/apt.conf.d/01autoremove: { /etc/apt/apt.conf.d/01autoremove: "^firmware-linux.*"; /etc/apt/apt.conf.d/01autoremove: "^linux-firmware$"; /etc/apt/apt.conf.d/01autoremove: "^linux-image.*"; /etc/apt/apt.conf.d/01autoremove: "^kfreebsd-image.*"; /etc/apt/apt.conf.d/01autoremove: "^linux-restricted-modules.*"; /etc/apt/apt.conf.d/01autoremove: "^linux-ubuntu-modules-.*"; /etc/apt/apt.conf.d/01autoremove: "^gnumach$"; /etc/apt/apt.conf.d/01autoremove: "^gnumach-image.*"; /etc/apt/apt.conf.d/01autoremove: }; /etc/apt/apt.conf.d/01autoremove: Never-MarkAuto-Sections /etc/apt/apt.conf.d/01autoremove: { /etc/apt/apt.conf.d/01autoremove: "metapackages"; /etc/apt/apt.conf.d/01autoremove: "restricted/metapackages"; /etc/apt/apt.conf.d/01autoremove: "universe/metapackages"; /etc/apt/apt.conf.d/01autoremove: "multiverse/metapackages"; /etc/apt/apt.conf.d/01autoremove: "oldlibs"; /etc/apt/apt.conf.d/01autoremove: "restricted/oldlibs"; /etc/apt/apt.conf.d/01autoremove: "universe/oldlibs"; /etc/apt/apt.conf.d/01autoremove: "multiverse/oldlibs"; /etc/apt/apt.conf.d/01autoremove: }; /etc/apt/apt.conf.d/01autoremove:}; /etc/apt/apt.conf.d/02jrn-proxy:Acquire::http { Proxy "http://127.0.0.1:3142"; }; /etc/apt/apt.conf.d/10apt-listbugs:// Check all packages whether they has critical bugs before they are installed. /etc/apt/apt.conf.d/10apt-listbugs:// If you don't like it, comment it out. /etc/apt/apt.conf.d/10apt-listbugs:DPkg::Pre-Install-Pkgs {"/usr/sbin/apt-listbugs apt || exit 10";}; /etc/apt/apt.conf.d/10apt-listbugs:DPkg::Tools::Options::/usr/sbin/apt-listbugs ""; /etc/apt/apt.conf.d/10apt-listbugs:DPkg::Tools::Options::/usr/sbin/apt-listbugs::Version "2"; /etc/apt/apt.conf.d/10apt-listbugs:// AptListbugs::IgnoreRegexp "FTBFS"; /etc/apt/apt.conf.d/20listchanges:DPkg::Pre-Install-Pkgs { "/usr/bin/apt-listchanges --apt || test $? -ne 10"; }; /etc/apt/apt.conf.d/20listchanges:DPkg::Tools::Options::/usr/bin/apt-listchanges::Version "2"; /etc/apt/apt.conf.d/70debconf:// Pre-configure all packages with debconf before they are installed. /etc/apt/apt.conf.d/70debconf:// If you don't like it, comment it out. /etc/apt/apt.conf.d/70debconf:DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt || true";}; /etc/apt/apt.conf.d/80preferexperimental:APT::Default-Release "experimental"; /etc/apt/apt.conf.d/90notrigger:cupt::worker::defer-triggers "1"; /etc/apt/apt.conf.d/99synaptic:APT::Install-Recommends "true"; $ cat /etc/apt-cacher-ng/acng.conf # Letter case in directive names does not matter. Must be separated with colons. # Valid boolean values are a zero number for false, non-zero numbers for true. CacheDir: /var/cache/apt-cacher-ng # set empty to disable logging LogDir: /var/log/apt-cacher-ng # TCP (http) port # Set to 9999 to emulate apt-proxy Port:3142 # Addresses or hostnames to listen on. Multiple addresses must be separated by # spaces. Each entry must be an exact local address which is associated with a # local interface. DNS resolution is performed using getaddrinfo(3) for all # available protocols (IPv4, IPv6, ...). Using a protocol specific format will # create binding(s) only on protocol specific socket(s) (e.g. 0.0.0.0 will listen # only to IPv4). # # Default: not set, will listen on all interfaces and protocols # # BindAddress: localhost 192.168.7.254 publicNameOnMainInterface # The specification of another proxy which shall be used for downloads. # Username and password are, and see manual for limitations. # #Proxy: http://www-proxy.example.net:80 #proxy: username:proxypassw...@proxy.example.net:3128 # Repository remapping. See manual for details. # In this example, some backends files might be generated during package # installation using information collected on the system. Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian #Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu #Remap-debvol: file:debvol_mirror*.gz /debian-volatile ; file:backends_debvol #Remap-cygwin: file:cygwin_mirrors /cygwin #Remap-sfnet: file:sfnet_mirrors #Remap-alxrep: file:archlx_mirrors /archlinux # Virtual page accessible in a web browser to see statistics and status # information, i.e. under http://localhost:3142/acng-report.html ReportPage: acng-report.html # Socket file for accessing through local UNIX socket instead of TCP/IP. Can be # used with inetd bridge or cron client. # SocketPath:/var/run/apt-cacher-ng/socket # Forces log file to be written to disk after every line when set to 1. Default # is 0, buffers are flushed when the client disconnects. # # (technically, this is an alias to the Debug option provided for convenience) # # UnbufferLogs: 0 # Set to 0 to store only type, time and transfer sizes. # 1 -> client IP and relative local path are logged too # VerboseLog: 1 # Don't detach from the console # ForeGround: 0 # Store the pid of the daemon process therein # PidFile: /var/run/apt-cacher-ng/pid # Forbid outgoing connections, work around them or respond with 503 error # offlinemode:0 # Forbid all downloads that don't run through preconfigured backends (.where) #ForceManaged: 0 # Days before considering an unreferenced file expired (to be deleted). # Warning: if the value is set too low and particular index files are not # available for some days (mirror downtime) there is a risk of deletion of # still useful package files. ExTreshold: 4 # Stop expiration when a critical problem appeared. Currently only failed # refresh of an index file is considered as critical. # # WARNING: don't touch this option or set to a non-zero number. # Anything else is DANGEROUS and may cause data loss. # # ExAbortOnProblems: 1 # Replace some Windows/DOS-FS incompatible chars when storing # StupidFs: 0 # Experimental feature for apt-listbugs: pass-through SOAP requests and # responses to/from bugs.debian.org. If not set, default is true if # ForceManaged is enabled and false otherwise. # ForwardBtsSoap: 1 # The daemon has a small cache for DNS data, to speed up resolution. The # expiration time of the DNS entries can be configured in seconds. # DnsCacheSeconds: 3600 # Don't touch the following values without good consideration! # # Max. count of connection threads kept ready (for faster response in the # future). Should be a sane value between 0 and average number of connections, # and depend on the amount of spare RAM. Default is 8. MaxStandbyConThreads: 2 # # Hard limit of active thread count for incoming connections, i.e. operation # is refused when this value is reached (below zero = unlimited). # MaxConThreads: -1 # #VfilePattern = (^|.*?/)(Index|Packages\.bz2|Packages\.gz|Packages|Release|Release\.gpg|Sources\.bz2|Sources\.gz|Sources|release|index\.db-.*\.gz|Contents-[^/]*\.gz|pkglist[^/]*\.bz2|rclist[^/]*\.bz2|/meta-release[^/]*|Translation[^/]*\.bz2)$ #PfilePattern = .*(\.deb|\.rpm|\.dsc|\.tar\.gz\.gpg|\.tar\.gz|\.diff\.gz|\.diff\.bz2|\.jigdo|\.template|changelog|copyright|\.udeb|\.diff/.*\.gz|vmlinuz|initrd\.gz|(Devel)?ReleaseAnnouncement(\\?.*)?)$ # Whitelist for expiration, file types not to be removed even when being # unreferenced. Default: same as VfilePattern which is a safe bed. When and # only when the only used mirrors are official repositories (with working # Release files) then it might be set to something more restrictive, like # (^|.*?/)(Release|Release\.gpg|release|meta-release|Translation[^/]*\.bz2)$ #WfilePattern = (^|.*?/)(Index|Packages\.bz2|Packages\.gz|Packages|Release|Release\.gpg|Sources\.bz2|Sources\.gz|Sources|release|index\.db-.*\.gz|Contents-[^/]*\.gz|pkglist[^/]*\.bz2|rclist[^/]*\.bz2|/meta-release[^/]*|Translation[^/]*\.bz2)$ # Higher modes only working with the debug version # Warning, writes a lot into apt-cacher.err logfile # Value overwrites UnbufferLogs setting (aliased) # Debug:3 # Usually, general purpose proxies like Squid expose the IP address of the # client user to the remote server using the X-Forwarded-For HTTP header. This # behaviour can be optionally turned on with the Expose-Origin option. # ExposeOrigin: 0 # When logging the originating IP address, trust the information supplied by # the client in the X-Forwarded-For header. # LogSubmittedOrigin: 0 # The version string reported to the peer, to be displayed as HTTP client (and # version) in the logs of the mirror. # WARNING: some archives use this header to detect/guess capabilities of the # client (i.e. redirection support) and change the behaviour accordingly, while # ACNG might not support the expected features. Expect side effects. # # UserAgent: Yet Another HTTP Client/1.2.3p4 # In some cases the Import and Expiration tasks might create fresh volatile # data for internal use by reconstructing them using patch files. This # by-product might be recompressed with bzip2 and with some luck the resulting # file becomes identical to the *.bz2 file on the server, usable for APT # clients trying to fetch the full .bz2 compressed version. Injection of the # generated files into the cache has however a disadvantage on underpowered # servers: bzip2 compression can create high load on the server system and the # visible download of the busy .bz2 files also becomes slower. # # RecompBz2: 0 # Network timeout for outgoing connections. # NetworkTimeout: 60 # Sometimes it makes sense to not store the data in cache and just return the # package data to client as it comes in. DontCache parameters can enable this # behaviour for certain URL types. The tokens are extended regular expressions # that URLs are matched against. # # DontCacheRequested is applied to the URL as it comes in from the client. # Example: exclude packages built with kernel-package for x86 # DontCacheRequested: linux-.*_10\...\.Custo._i386 # Example usecase: exclude popular private IP ranges from caching # DontCacheRequested: 192.168.0 ^10\..* 172.30 # # DontCacheResolved is applied to URLs after mapping to the target server. If # multiple backend servers are specified then it's only matched against the # download link for the FIRST possible source (due to implementation limits). # Example usecase: all Ubuntu stuff comes from a local mirror (specified as # backend), don't cache it again: # DontCacheResolved: ubuntumirror.local.net # # DontCache directive sets (overrides) both, DontCacheResolved and # DontCacheRequested. Provided for convenience, see those directives for # details. # # Default permission set of freshly created files and directories, as octal # numbers (see chmod(1) for details). # Can by limited by the umask value (see umask(2) for details) if it's set in # the environment of the starting shell, e.g. in apt-cacher-ng init script or # in its configuration file. # DirPerms: 00755 # FilePerms: 00664 # # # It's possible to use use apt-cacher-ng as a regular web server with limited # feature set, i.e. # including directory browsing and download of any file; # excluding sorting, mime types/encodings, CGI execution, index page # redirection and other funny things. # To get this behavior, mappings between virtual directories and real # directories on the server must be defined with the LocalDirs directive. # Virtual and real dirs are separated by spaces, multiple pairs are separated # by semi-colons. Real directories must be absolute paths. # NOTE: Since the names of that key directories share the same namespace as # repository names (see Remap-...) it's administrators job to avoid such # collisions on them (unless created deliberately). # # LocalDirs: woo /data/debarchive/woody ; hamm /data/debarchive/hamm # Precache a set of files referenced by specified index files. This can be used # to create a partial mirror usable for offline work. There are certain limits # and restrictions on the path specification, see manual for details. A list of # (maybe) relevant index files could be retrieved via # "apt-get --print-uris update" on a client machine. # # PrecacheFor: debrep/dists/unstable/*/source/Sources* debrep/dists/unstable/*/binary-amd64/Packages* # Arbitrary set of data to append to request headers sent over the wire. Should # be a well formated HTTP headers part including newlines (DOS style) which # can be entered as escape sequences (\r\n). # RequestAppendix: X-Tracking-Choice: do-not-track\r\n