Diagnosing Pacman ParallelDownloads Failures on Arch Linux
Repeated 'failed retrieving file' warnings during pacman -Syu often trace to ParallelDownloads set too high for your mirror. This guide shows how to diagnose and tune it.
20 Apr 2026, 09:45 UTC

Repeated failed retrieving file errors during pacman -Syu
Updates start, download speeds spike then collapse, and pacman ends with warning: failed to retrieve some files and error: failed retrieving file .... The useful takeaway is that ParallelDownloads in /etc/pacman.conf can open more simultaneous connections than a mirror allows, causing resets and throttling. Tuning the parallel count or mirror selection usually restores stable downloads.
Recognizable condition
Run an update from a terminal as your regular user with sudo for pacman:
sudo pacman -Syu
Signs of a ParallelDownloads problem:
- Intermittent
error: failed retrieving file ... from ...for multiple packages in one run. - Overall throughput drops after the first few files, or connections reset.
- The same run succeeds after setting
ParallelDownloads = 0or lowering the value.
Pacman logs the pattern in /var/log/pacman.log. Look for repeated failed retrieving entries clustered around the same update.
sudo grep -i 'failed retrieving' /var/log/pacman.log
This command requires sudo to read the log and shows whether failures are recent and recurring.
Cause / diagnostic table
| Observation | Likely cause | Why it matters |
|---|---|---|
| Failures disappear with ParallelDownloads = 0 | Too many simultaneous connections for the mirror | Mirrors enforce per-IP connection limits; excess opens cause resets or temporary throttling |
| Failures on one mirror, fine on another | Mirror-specific rate or connection limits | Some mirrors are slower or block high parallelism |
| Failures only with ParallelDownloads > 10 | Aggressive parallelism | High values increase contention and risk bans |
| Slow but no errors with low ParallelDownloads | Parallelism too low or mirror slow | Benefit of parallelism is lost, update time grows |
Ordered checks
1. Confirm current setting
Check the active value in /etc/pacman.conf. Edit as root.
grep -E '^#?ParallelDownloads' /etc/pacman.conf
If the line is commented out, pacman uses the default of 1.
2. Inspect recent pacman log
Identify if failures correlate with ParallelDownloads changes.
sudo tail -n 200 /var/log/pacman.log | grep -i 'failed retrieving'
Risk: log file is large; tail limits output.
3. Check mirror responsiveness
Use reflector to assess current mirrors. Run as user; reflector writes to /etc/pacman.d/mirrorlist when used with sudo.
reflector --verbose --latest 5 --sort rate
This shows which mirrors respond quickly. A mirror that is fast in rate sort is more likely to tolerate moderate parallelism.
4. Test with conservative parallelism
Temporarily set a conservative value to test behavior without committing to a permanent mirror change.
sudo nano /etc/pacman.conf
Find the [options] section and set:
ParallelDownloads = 3
Save and run a small update to observe stability.
Fixes tied to findings
Finding: failures stop when ParallelDownloads is lowered
Keep a conservative value. Many users find 3-5 stable across a range of mirrors.
ParallelDownloads = 3
Rollback: restore the previous number or comment the line to revert to default 1.
Finding: failures persist on a specific mirror
Refresh mirror list toward faster, well-provisioned mirrors.
sudo reflector --latest 20 --sort rate --save /etc/pacman.d/mirrorlist
Risk: changing mirrors changes package sources; verify the list contains official Arch mirrors.
Finding: disabling parallelism fixes it completely
Set ParallelDownloads = 0 to disable parallelism. This eliminates connection pressure at the cost of longer updates.
Limitation: setting too low negates the benefit of parallelism and increases overall update time. Setting too high can cause temporary bans or throttling from mirrors.
Verification
- Run
sudo pacman -Syuand observe stable download speeds with nofailed retrieving filemessages. - Check
/var/log/pacman.logfor absence of new failed retrieving entries related to the updated packages. - Confirm mirror health with
reflector --verbose --latest 5 --sort rateto ensure selected mirrors can handle the chosen parallel count.
Escalation criteria
Escalate beyond local tuning if:
- Failures occur with
ParallelDownloads = 0and multiple refreshed mirrors. - Errors reference signature or database issues rather than retrieval.
- Network tools show packet loss or DNS failures independent of pacman.
In those cases, check system time, network connectivity, and Arch mirror status before changing pacman configuration further.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.