On the Debian mirrors, each day there is a period, perhaps a few
hours, between the time the Packages files arrive, and the time
packages themselves arrive.
This is not a problem, because it happens early in the morning when
all Debian users are of course asleep... except for me.
It would seem to be a no-brainer to make sure the Packages files come last.
M below stands for an average Debian mirror.
# apt-get update
Get:1 M sid/main Packages [3215kB]
Get:2 M sid/main Release [82B]...
# apt-get dist-upgrade
567 packages upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 20.0MB/615MB of archives. After unpacking 52.8MB will be used.
Get:1 M sid/main debconf-i18n 1.4.32 [77.4kB]
Get:2 M sid/main debconf 1.4.32 [99.6kB]
Err M sid/main libgcc1 1:3.4.1-7
404 Not Found
Err M sid/main makedev 2.3.1-75
404 Not Found
Err M sid/main procps 1:3.2.3-1
404 Not Found...
Isn't this just plain nuts? Sure looks unprofessional.
If Mirror Central Command has "no way to ensure the Packages files are
updated last", then they should still please think up a way, just like
find(1) has a -depth. Or they could break updates into two updates,
the latter just for the Packages files.
What if UNIX directories listed inodes before they existed or whatever?
Of course the workaround for the end user is "just try again a couple hours later".
Maybe if the Mirror Central Command people ran the list of what to
update thru tac(1) the big P of Packages would end up at the bottom or
something, and all would be well.