Estimate total time to download and install a batch of system package updates.
Total package update duration splits into two largely sequential phases: downloading all package archives, bounded by available bandwidth, and installing each package, which involves unpacking files, running pre/post-install scripts, and updating package manager metadata — a fixed per-package cost regardless of network speed. Summing download time (total download size divided by effective bandwidth) and install time (packages multiplied by average install time each) gives a realistic estimate for planning maintenance windows or automated patching schedules.
Download time
download_time = (packages × avg_size_MB) / (bandwidth_Mbps / 8)
Total update time
total = download_time + (packages × avg_install_time)
Each package incurs fixed overhead — extracting archive contents, running maintainer scripts, updating the package database — independent of the package's download size, so a system with hundreds of small packages to update can spend more total time in installation than in downloading, even on a modest connection.
No — this estimates only download and install time for the packages themselves. Dependency resolution (calculating which packages need updating and in what order) typically adds a smaller, roughly fixed overhead at the start of the update process that varies by package manager and repository metadata size.
Run a local package mirror or caching proxy (apt-cacher-ng, a local yum/dnf repo) so downloads happen at LAN speed instead of over the internet for every host, and consider parallelizing installs across independent packages where the package manager supports it.