On Wed, Feb 3, 2016, at 05:54 PM, Chris Murphy wrote:
> NAICT, DNF, like Yum before it, offers no option I can recognize from its man
> page to download less than all the to-be-updated/installed packages before
> proceeding to install any packages. Thus it downloads (typically hundreds of
> packages), cutting into available / freespace. Then it does transaction
> checking before package installation begins,
...
If you check out Project Atomic or rpm-ostree, the gist is that
there
is no local package manager, instead you deploy trees. A whole new
updated tree (containing changes from the current tree) is downloaded
and installed in an atomic fashion, ie the file system tree that's
currently deployed is not touched, and therefore a failed upgrade
doesn't ever wreck it.
I'm actually working on a hybrid mode for rpm-ostree which
stores unpacked packages cached individually in ostree itself,
which as a side effect also solves the "download lots of RPMs,
then install" problem by importing them exploded as they're
downloaded.
This work is targeted at container roots, but will also be essential
for a good "package layering" experience:
https://github.com/projectatomic/rpm-ostree/pull/107
If anyone is interested in more, I'll be talking about the current
work at my Devconf.cz talk:
https://devconfcz2016.sched.org/event/32299ab85fa02e48a2fcf77826c5cc82