Force Overwrite Resolves File Conflict | Generated by AI
Question: Why does sudo dpkg -i --force-overwrite successfully install the package even though apt failed with a file conflict error?
Answer:
What --force-overwrite Actually Does
Normally, dpkg has a safety rule:
“If a file already exists on disk and is owned by a different package, refuse to install and throw an error.”
The --force-overwrite flag disables that safety check and says:
“I don’t care who owns this file — just write it anyway and take ownership.”
Why apt Failed But dpkg --force-overwrite Succeeded
apt install |
dpkg --force-overwrite |
|
|---|---|---|
| Checks file ownership conflicts | ✅ Yes (strict) | ❌ Skipped |
| Checks package dependencies | ✅ Yes | ⚠️ Minimal |
| Aborts on conflict | ✅ Yes | ❌ No, overwrites |
| Safe for automated use | ✅ Yes | ⚠️ Manual use only |
apt is a high-level tool that calls dpkg underneath, but adds extra safety layers on top. When apt detected that nvidia-kernel-common-535 wanted to write /lib/firmware/nvidia/535.288.01/gsp_ga10x.bin — a file already owned by nvidia-firmware-535-535.288.01 — it refused entirely.
dpkg --force-overwrite bypasses that check and physically overwrites the file, transferring ownership to the new package.
The Exact Conflict in Your Case
nvidia-kernel-common-535 ← wants to own gsp_ga10x.bin
nvidia-firmware-535-535.288.01 ← already owns gsp_ga10x.bin
Both packages contain identical files because they come from different repos but the same upstream NVIDIA version 535.288.01. The file contents are the same — it’s purely a package ownership metadata conflict, not an actual file difference.
This is why --force-overwrite is safe here: you’re not overwriting with different content, you’re just transferring file ownership from one package to another.
What Happened Step by Step
1. nvidia-firmware-535-535.288.01 installed gsp_ga10x.bin
→ dpkg database records: "this file belongs to nvidia-firmware-535"
2. apt tries to install nvidia-kernel-common-535
→ apt checks: "gsp_ga10x.bin already owned by another package"
→ apt REFUSES
3. dpkg --force-overwrite installs nvidia-kernel-common-535
→ dpkg skips ownership check
→ Overwrites the file (same content anyway)
→ dpkg database now records: "this file belongs to nvidia-kernel-common-535"
→ SUCCESS
Is It Safe?
In this specific case: Yes, because:
- The two packages came from the same NVIDIA upstream version
535.288.01 - The firmware binary file is bit-for-bit identical in both packages
- You’re just resolving a packaging metadata conflict, not replacing with different content
In general: use with caution — --force-overwrite can break systems if the files being overwritten are genuinely different between packages.