This is a warning message, not an error, that appears during 'apt update' when your system is configured to look for 32-bit (i386) packages but a repository only provides 64-bit (amd64) packages. The update still succeeds, but you'll see warnings for repositories that don't support the i386 architecture.
The warning "W: Skipping acquire of configured file 'main/binary-i386/Packages' as repository doesn't support architecture 'i386'" is informational, not an error - note the "W:" prefix indicating a warning, not "E:" for error. This message occurs when: - **Your system is configured for multiple architectures**: You have both amd64 (64-bit) and i386 (32-bit) architectures enabled on a 64-bit system, or APT is configured to look for both. - **The repository doesn't support i386**: Many modern package repositories have dropped 32-bit (i386) support since 32-bit systems are becoming obsolete. When APT tries to fetch the i386 package list from such a repository, it gets skipped. - **Common scenario**: On Ubuntu 18.04 and later, even 64-bit systems may have i386 architecture registered for compatibility (e.g., to support Wine, Steam, or legacy 32-bit applications). This causes APT to look for both amd64 and i386 package lists from all configured repositories. The update process continues normally and succeeds - the warning simply indicates that specific architecture's package list was unavailable. If you don't need 32-bit packages, you can remove the i386 architecture to eliminate these warnings.
Run these commands to see which architectures your system is configured for:
dpkg --print-architecture
dpkg --print-foreign-architecturesExpected output:
- dpkg --print-architecture shows your primary architecture (usually amd64)
- dpkg --print-foreign-architectures shows additional architectures (if empty, no i386 is registered)
If the second command returns i386, that's why you're seeing these warnings.
Verify whether you have any 32-bit packages installed:
dpkg -l | grep i386If the output is empty or minimal, you don't need the i386 architecture.
Common reasons to keep i386:
- Running Wine for Windows applications: wine, wine32, wine32-tools
- Playing games with Steam (older games may require i386 libraries)
- Running legacy 32-bit applications
If you see packages:
ii libqt5gui5:i386 5.15.2+dfsg-5ubuntu2:i386 amd64 Qt 5 GUI library
ii libc6:i386 2.35-0ubuntu3.1:i386 amd64 GNU C LibraryThen keep the i386 architecture. If you see nothing, proceed to removal.
If you don't need 32-bit packages, remove the i386 architecture:
sudo dpkg --remove-architecture i386
sudo apt updateThis will:
1. Remove i386 from the list of foreign architectures
2. Stop APT from looking for i386 packages
3. Eliminate all 'i386 not supported' warnings
Verify it worked:
dpkg --print-foreign-architectures
# Should output nothing or not show i386Note: Do NOT remove i386 if you have 32-bit packages installed. If you try, apt will warn that packages depend on the i386 architecture.
If you want to keep i386 support for legitimate reasons but eliminate warnings for repositories that don't support it, specify the architecture explicitly in your sources list:
Edit your sources (Ubuntu/Debian):
sudo nano /etc/apt/sources.listOriginal line (requests both architectures):
deb http://archive.ubuntu.com/ubuntu/ jammy main universeChange to (only request amd64):
deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main universeFor third-party repositories in sources.list.d:
sudo nano /etc/apt/sources.list.d/docker.listAdd [arch=amd64] to each repository line that doesn't support i386:
deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stableSave and update:
sudo apt updateThis approach keeps i386 architecture available for packages that need it while preventing warnings from repositories that don't support it.
If you're using Wine for Windows compatibility or Steam with older games, you need the i386 architecture:
For Wine (32-bit game support):
# i386 is required for Wine
# Keep the architecture and just ignore the warnings
# They don't affect functionalityFor Steam:
Steam may require certain i386 libraries even on 64-bit systems. Keep i386 enabled if you're running Steam games.
To minimize warnings while keeping i386:
Edit sources to specify only amd64 for repositories that don't support i386:
sudo nano /etc/apt/sources.listAdd [arch=amd64,i386] only to repositories that you know support both:
# Supports both amd64 and i386
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ jammy main
# Only amd64 (prevents i386 warning)
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security mainThen run:
sudo apt updateAfter making your changes, run apt update to verify the warnings are gone:
sudo apt updateExpected output (no i386 warnings):
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Reading package lists... Done
Building dependency tree... DoneIf warnings persist:
- Check that you saved the sources.list file
- Make sure all affected .list files in /etc/apt/sources.list.d/ are updated
- Verify i386 is actually removed with: dpkg --print-foreign-architectures
To see which repositories have issues:
sudo apt update 2>&1 | grep -i "skipping.*i386"This shows exactly which repositories are causing the warnings.
Understanding architecture support in apt:
Modern Linux distributions moved away from 32-bit support starting around 2019-2020. Ubuntu 19.10 and later don't include 32-bit ISO installers. However, 32-bit (i386) packages are still available in repositories for:
- Compatibility with 32-bit legacy applications
- Wine and Proton for Windows compatibility
- 32-bit libraries that some games need
- Multilib development (building for multiple architectures)
Why some repositories dropped i386:
1. Security mirrors (security.ubuntu.com, security.debian.org) sometimes only mirror amd64 packages
2. Corporate/enterprise repositories may only build for amd64
3. Newer third-party repos (Docker, Google, Canonical) often amd64-only
4. Small projects and PPAs lack resources to build both architectures
The dpkg --remove-architecture difference:
When you run sudo dpkg --remove-architecture i386, you're telling the system to stop recognizing i386 as a valid architecture. APT won't even try to fetch i386 packages anymore.
This is safe to do because:
- Modern systems rarely need 32-bit packages
- Wine/Proton work fine on amd64-only systems in most cases
- System libraries are 64-bit only on modern Ubuntu/Debian
For CI/CD and containerized environments:
In Docker containers or CI pipelines, you typically won't have i386 at all. If you're building a container and see these warnings:
FROM ubuntu:22.04
RUN apt update && apt install -y some-packageYou won't see i386 warnings because the architecture isn't registered. These warnings appear mainly on desktop/server installations where multilib was previously set up.
If you want to keep both architectures:
You can keep i386 registered but avoid warnings by:
1. Using [arch=amd64] in sources for single-arch repos
2. Using [arch=amd64,i386] only for repositories that support both
3. Accepting the harmless warnings (they don't affect functionality)
The warnings are purely cosmetic - your system update succeeds fully even with them present.
E: Cannot set to hold: package 'package-name' is not installed
How to fix "Cannot set to hold" error when package is not installed in APT
debconf: unable to initialize frontend: Dialog
How to fix "debconf: unable to initialize frontend: Dialog" in APT
E: Could not connect to proxy server
Could not connect to proxy server
dpkg: serious warning: files list file for package 'package-name' contains empty filename
How to fix "files list file contains empty filename" in APT
E: Package 'package:i386' has no installation candidate
How to fix "Package package:i386 has no installation candidate" in apt