Maybe someday you try zypper dup to actualize your distribution and in middle of process it fail, because you are disconnected or some packages is actualized before you download it (especially on factory this can happen). It is more safety download packages at first and then install from this local files.
How todo this is little tricky, at first you must enable caching downloaded files (I do it only for remote connection):
zypper mr –keep-packages –remote
So now you cache all downloaded files and now try testing run of dup. Trick is that all packages download for that test is cached.
zypper dup –dry-run
Now if you have slow connection I reccomend also disable autorefresh for all repositories, because if repository is refreshed before dup, you can easily find that some packages is newer than package in cache and you must download it.
zypper mr –all –no-refresh
Now is everything prepared for zypper dup, which use files from cache. Cache can take quite lot of disk space, so after dup you can clean it.
And thats all. This features work from OpenSuse 11 and you can also use this trick for zypper update or zypper install.