Hi!

tl;rd: looks like now apt behaves as expected by the author of the
ticket.



A. Reproduction with apt 0.9.15.4 on Debian Stretch.

I don't have access to Jessie or Squeeze releases that are more suitable
for testing of 0.9.15.4, but I managed to reproduce the problem anyway.

I've compiled apt 0.9.15.4 from sources (with minor difficulties) and
installed it from local .deb files.

acerion@debian:~/space$ apt-get --version
apt 0.9.15.4 for amd64 compiled on Feb 22 2014 23:27:12

1. Configure /tmp with limited space.
Stretch isn't mounting /tmp through systemd's mount units/services. On
Stretch the following line needs to be added to /etc/fstab:

tmpfs /tmp tmpfs nosuid,nodev,noatime,size=10M    0   0

2. Fill /tmp with some files until you get ~50kB of free space left

acerion@debian:~$ df -h /tmp/
Filesystem      Size  Used Avail Use% Mounted on
tmpfs            10M   10M   48K 100% /tmp

3. Run apt-get update

acerion@debian:~$ sudo apt-get update
Ign http://archive.debian.org stretch InRelease
Get:1 http://archive.debian.org stretch-proposed-updates InRelease [96.2 kB]
Ign http://archive.debian.org stretch-proposed-updates InRelease
E: GPG error: http://archive.debian.org stretch-proposed-updates InRelease: The 
following signatures were invalid: NODATA 2

As you can see, the problem has been reproduced in the version from the
ticket.




B. Reproduction attempt with apt 1.4.11 on Stretch

1. Temporarily set a larger size of /tmp through entry in /etc/fstab to
allow proper installation of packages.

2. Install apt 1.4.11 with following commands:

apt-get update
apt-get -f install
apt-get install apt

3. Decrease the size of /tmp through entry in /etc/fstab back to 10M.

4. Fill /tmp with some files until only ~50kB of free space left

5. Run apt-get update

acerion@debian:~$ sudo apt-get update
Ign:1 http://archive.debian.org/debian stretch InRelease
Hit:2 http://archive.debian.org/debian stretch-proposed-updates InRelease
Err:2 http://archive.debian.org/debian stretch-proposed-updates InRelease
  Splitting up 
/var/lib/apt/lists/archive.debian.org_debian_dists_stretch-proposed-updates_InRelease
 into data and signature failed
Hit:3 http://archive.debian.org/debian-security stretch/updates InRelease
Err:3 http://archive.debian.org/debian-security stretch/updates InRelease
  Splitting up 
/var/lib/apt/lists/archive.debian.org_debian-security_dists_stretch_updates_InRelease
 into data and signature failed
Hit:4 http://archive.debian.org/debian stretch Release
Err:5 http://archive.debian.org/debian stretch Release.gpg
  At least one invalid signature was encountered.
Reading package lists... Error!
W: An error occurred during the signature verification. The repository is not 
updated and the previous index files will be used. GPG error: 
http://archive.debian.org/debian stretch-proposed-updates InRelease: Splitting 
up 
/var/lib/apt/lists/archive.debian.org_debian_dists_stretch-proposed-updates_InRelease
 into data and signature failed
W: An error occurred during the signature verification. The repository is not 
updated and the previous index files will be used. GPG error: 
http://archive.debian.org/debian-security stretch/updates InRelease: Splitting 
up 
/var/lib/apt/lists/archive.debian.org_debian-security_dists_stretch_updates_InRelease
 into data and signature failed
W: An error occurred during the signature verification. The repository is not 
updated and the previous index files will be used. GPG error: 
http://archive.debian.org/debian stretch Release: At least one invalid 
signature was encountered.
W: Failed to fetch 
http://archive.debian.org/debian/dists/stretch-proposed-updates/InRelease  
Splitting up 
/var/lib/apt/lists/archive.debian.org_debian_dists_stretch-proposed-updates_InRelease
 into data and signature failed
W: Failed to fetch 
http://archive.debian.org/debian-security/dists/stretch/updates/InRelease  
Splitting up 
/var/lib/apt/lists/archive.debian.org_debian-security_dists_stretch_updates_InRelease
 into data and signature failed
W: Failed to fetch http://archive.debian.org/debian/dists/stretch/Release.gpg  
At least one invalid signature was encountered.
W: Some index files failed to download. They have been ignored, or old ones 
used instead.
E: Write error - write (28: No space left on device)
E: Write error - write (28: No space left on device)
E: The package lists or status file could not be parsed or opened.

As you can see, now the error messages are more informative, and instead
of just informing about problems with signatures, they also inform about
missing space (on an unspecified device, but that's relatively easy to
check).




C. Reproduction attempt with apt 2.9.35 in sid/Trixie

1. Decrease amount of memory allocated to /tmp
a. Open /usr/lib/systemd/system/tmp.mount
b. Find 'Options' parameter
c. Edit value of 'size' field (you can set the size using explicit value,
   e.g. 1M)
d. Remount /tmp with "systemctl daemon-reload", "systemctl restart
   tmp.mount"

2. Fill /tmp with some files, leaving only ~50kB of free space

3. Run "apt update"

acerion@debian:~$ sudo apt update
Hit:1 http://deb.debian.org/debian sid InRelease
Err:1 http://deb.debian.org/debian sid InRelease
  Splitting up /var/lib/apt/lists/deb.debian.org_debian_dists_sid_InRelease 
into data and signature failed
Reading package lists... Error!
Warning: An error occurred during the signature verification. The repository is 
not updated and the previous index files will be used. OpenPGP signature 
verification failed: http://deb.debian.org/debian sid InRelease: Splitting up 
/var/lib/apt/lists/deb.debian.org_debian_dists_sid_InRelease into data and 
signature failed
Warning: Failed to fetch http://deb.debian.org/debian/dists/sid/InRelease  
Splitting up /var/lib/apt/lists/deb.debian.org_debian_dists_sid_InRelease into 
data and signature failed
Warning: Some index files failed to download. They have been ignored, or old 
ones used instead.
Error: Write error - write (28: No space left on device)
Error: Write error - write (28: No space left on device)
Error: The package lists or status file could not be parsed or opened.

As you can see, the behaviour found in 1.4.11 is still found in 2.9.35.




The behaviour of current versions of apt is as expected by reporter.
It looks like the behaviour was changed somewhere between 0.9.15.4 and
1.4.11, but I'm not able to quickly pinpoint the exact commit.

To summarize: it looks like the behaviour is now as expected.

Kamil

Reply via email to