This is a bug in 20.04 as well. I have no Release file, this is a private, unsigned repository, only Packages.xz. On first run, apt update first works. On the second run apt update issues a HTTP GET with an If- Modified-Since header:
GET /deb/Packages.xz HTTP/1.1 Host: XXX Cache-Control: max-age=0 If-Modified-Since: Sat, 18 Apr 2020 14:19:16 GMT User-Agent: Debian APT-HTTP/1.3 (1.6.12) Apache HTTPD correctly responds that there was no change: HTTP/1.1 304 Not Modified Date: Sun, 19 Apr 2020 20:53:02 GMT Server: Apache/2.4.18 (Ubuntu) ETag: "960-5a39159dd8574" Instead of using the existing downloaded version apt update tries to download Packages.bz2 etc. and finally it displays: root@pipa11:~# apt update Hit:1 http://mirror.hk.leaseweb.net/ubuntu bionic InRelease Hit:2 http://mirror.hk.leaseweb.net/ubuntu bionic-updates InRelease Hit:3 http://mirror.hk.leaseweb.net/ubuntu bionic-backports InRelease Ign:4 http://XXX/deb InRelease Ign:5 http://XXX/deb Release Hit:6 http://security.ubuntu.com/ubuntu bionic-security InRelease Hit:7 http://XXX/deb Packages Ign:7 http://XXX/deb Packages Ign:7 http://XXX/deb Packages Ign:7 http://XXX/deb Packages Ign:7 http://XXX/deb Packages Ign:7 http://XXX/deb Packages Ign:7 http://fXXX/deb Packages Err:7 http://fXXX/deb Packages lzma_read: Read error (7) Reading package lists... Done E: Failed to fetch http://XXX/deb/Packages lzma_read: Read error (7) E: Some index files failed to download. They have been ignored, or old ones used instead. The exit code is 100. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apt in Ubuntu. https://bugs.launchpad.net/bugs/1750625 Title: update misinterprets 304 response on Packages.gz Status in apt package in Ubuntu: Confirmed Bug description: Description: Ubuntu 16.04.3 LTS Release: 16.04 ii apt 1.2.24 amd64 commandline package manager ii apt-transport-https 1.2.24 amd64 https download transport for APT ii apt-utils 1.2.24 amd64 package management related utility programs ii libapt-inst2.0:amd64 1.2.24 amd64 deb package format runtime library ii libapt-pkg5.0:amd64 1.2.24 amd64 package management runtime library Expected behaviour: If apt-get gets a 304 Not Modified when requesting Packages.gz, it should ignore the package list (i.e., there's no update). Observed behaviour: Added a local repository to /etc/apt/sources.list.d/instafreight_php.list: > deb [arch=amd64 trusted=yes] http://ubuntu/instafreight xenial php The first time running apt-get update succeeds; in addition, apache.log shows: > 10.0.4.72 - - [20/Feb/2018:12:01:39 -0500] "GET /instafreight/dists/xenial/php/binary-amd64/Packages.gz HTTP/1.1" 200 745 "-" "Debian APT-HTTP/1.3 (1.2.24)" I am able to install packages from that repo without error. Running apt-get a 2nd time succeeds. apache.log doesn't show a request for Packages.gz Running apt-get a 3rd time, apache.log shows: > 10.0.4.72 - - [20/Feb/2018:12:04:45 -0500] "GET /instafreight/dists/xenial/php/binary-amd64/Packages.gz HTTP/1.1" 304 124 "-" "Debian APT-HTTP/1.3 (1.2.24)" However, on the console where I ran apt-get, the corresponding output is: > Err:15 http://ubuntu/instafreight xenial/php amd64 Packages > 404 Not Found > ... > E: Failed to fetch http://ubuntu/instafreight/dists/xenial/php/binary-amd64/Packages.gz 404 Not Found > E: Some index files failed to download. They have been ignored, or old ones used instead. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1750625/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp