F10: yum update broken

James Antill james at fedoraproject.org
Thu Apr 23 15:01:06 UTC 2009


On Wed, 2009-04-22 at 18:48 -0700, John Reiser wrote:
> Kevin Fenzi wrote:
> > You don't even need two passes. See: 
> > 
> > https://fedoraproject.org/wiki/Infrastructure/Mirroring
> > 
> > --delete-after --delay-updates 
> > 
> > with rsync should (mostly) be atomic. 
> 
> Is this [still] true even with "rolling rawhide" where updates
> happen as builds are completed?

 There are at least two sides to this.

1. On the theory side with a yum from the last year or so and F-11+ (ie.
--unique-md-filenames turned on) a mirror can do:

        i. Download new files.
        ii. Download changed files, exlcuding repomd.xml (shouldn't
        happen).
        iii. Download new repomd.xml to repomd.xml.tmp
        iv. rename(repomd.xml.tmp, repomd.xml)
        v. Delete old files.

...following this plan means that the entire repo. on the mirror should
update atomically at step #iv. And rsync --delte-after --delay-updates
is almost the same (it merges steps #ii and #iii).
 Note that you can still get 404s when you are using 2+ mirrors, one of
which is at step #v and one of which is still at step #i (or not started
yet), but you shouldn't be able to get bad data.


2. On the practical side, Fedora doesn't control the mirrors so "we"
don't know that they are all doing the above for updates. The mirrors
don't sync at the same time or on the same schedule, they sync different
amounts of the tree (so take different amounts of time to complete).
 Which means things like if the mirror closest to you syncs every 6
hours, and it's been 3 hours since the rawhide compose ... you're
probably not going to have a good time.

-- 
James Antill - james at fedoraproject.org
"I'd just like to see a realistic approach to updates via
 packages." -- Les Mikesell




More information about the fedora-devel-list mailing list