On Thu, Jul 07, 2016 at 09:09:30AM +0000, Gianfranco Costamagna wrote: > (this happens with experimental chroot) (thankfully, apt/experimental has some improvements in terms of error reporting which help here. Hash sum mismatch messages used to be borderline useless – now they still are, but are very talkative ;) That said, I am a bit surprised its installed in your chroot…) > DISCLAIMER: I have this in apt.conf.d > cat /etc/apt/apt.conf.d/99fixbadproxy > Acquire::http::Pipeline-Depth 0; > Acquire::http::No-Cache true; > Acquire::BrokenProxy true; (While it might be true, the last option doesn't exist, so no effect) APT is reasonably good at detecting proxies/servers which mess up pipelining and disables pipelining automatically then (with a warning), so I would suggest dropping all these options and see what a 'stock' apt does. No-Cache /can/ work or its completely ignored as its just a hint for proxies – it doesn't solve any of your problems through as all requested files have unique names by now and there is no "old" cache problem (there are also more of these options with more or less the same intended effected as in the web everything must be done in a bunch of incompatible vendor-specific ways… but I digress) > Ign:12 http://giano.com.dist.unige.it/debian sid/main amd64 Packages 2016-07-06-0904.26.pdiff Your problem starts with this innocent looking line already, which is present in both update calls – even in the one ending up working. What apt is telling you here is that it wanted to do pdiff patching, but while downloading this patch something bad happened (what exactly is hard to say without debug options as printing the error message would counter that the error is ignored, but my guess is hashsum mismatch), so apt falls back to acquiring the entire file instead of trying to patch up an old version. In the first update that worked, in your second it doesn't: > E: Failed to fetch http://giano.com.dist.unige.it/debian/dists/sid/main/binary-amd64/by-hash/SHA256/360c3be44790ab07f0ed848ade391a698da62b29149f06eff91d2a1c7a3102ac Hash Sum mismatch > Hashes of expected file: > - Checksum-FileSize:7147712 [weak] > - SHA256:360c3be44790ab07f0ed848ade391a698da62b29149f06eff91d2a1c7a3102ac > - MD5Sum:164d2e94547a636ee34faacbfc23910f [weak] > Hashes of received file: > - SHA256:11ba64db57dc5427a503251f12976052e1cf0d161e299daeea9e1757cb1279eb > - MD5Sum:d04c25ba2d2c93f72df1d5c9d3f9d0ba [weak] > - Checksum-FileSize:7107946 [weak] > Last modification reported: Thu, 07 Jul 2016 02:30:39 GMT > Release file created at: Thu, 07 Jul 2016 03:24:06 GMT Interestingly if you truncate the expected file to the size apt got from the server and calculate hashes for it, you get the ones apt got, so the proxy/server is sending the correct file, but either it doesn't sent everything or apt isn't receiving everything. Or something of both… Please run apt with these options set: Debug::Acquire::http "true"; Debug::pkgAcquire::Worker "true"; Acquire::Progress::Ignore::ShowErrorText "true"; That causes apt (or to be specific: apts 'http' method) to display the HTTP request it makes as well as the responses it gets while the second shows the interprocess communication between apt and its methods (beware, lots of output). And third causes apt to tell us the error it ignored, just for completeness. [aka: No need for wireshark or other "hard" debug stuff just yet, There tends to be an option for everything in apt… so much that some are even made up and people believe they exist: BrokenProxy from above ;) ] Best regards David Kalnischkies
Attachment:
signature.asc
Description: PGP signature