How to Fix "sudo apt-get update" not working
Quick Fix: "sudo apt-get update" Not Working
If sudo apt-get update is failing on Ubuntu (24.04 LTS "Noble Numbat", 22.04 LTS "Jammy Jellyfish", or Debian) in 2026, these are the most common fixes, in the order to try them:
-
Confirm you have internet and working DNS. Run
ping -c 3 archive.ubuntu.com. If it can't resolve the host, the problem is your network or DNS, not APT — fix that first. -
Check
/etc/apt/sources.listfor wrong or dead repository URLs. Open it withsudo nano /etc/apt/sources.list(on 24.04 also check/etc/apt/sources.list.d/ubuntu.sources) and comment out any typo'd, unreachable, or end-of-life entries. -
Rebuild a corrupted package-list cache. This clears out stale or partially downloaded index files, then re-fetches them:
sudo rm -rf /var/lib/apt/lists/* sudo apt update -
Fix expired or missing repository (GPG) keys. If you see
NO_PUBKEYor "the following signatures were invalid: EXPSIG", import the missing key. The modern method usesgpgand a keyring file:curl -fsSL https://<repo-domain>/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/<repo>.gpgReplace the URL with the one from your repository's documentation. (The old
apt-keycommand is deprecated on Ubuntu 22.04+ and removed on newer releases.) -
Free up disk space if updates fail with "No space left on device" — run
df -h, then clear the cache withsudo apt clean.
If none of these resolve it, work through the detailed diagnostics below. The rest of this guide covers each cause in depth, plus preventive measures and a full FAQ.
Introduction
In the world of Linux, particularly Ubuntu and Debian-based distributions, the command sudo apt-get update is a fundamental tool for system maintenance. It refreshes the package lists, ensuring that your system has the most up-to-date information about available software and their versions. However, users occasionally encounter issues where this crucial command fails to work properly.
This article aims to guide you through the process of diagnosing and resolving problems with the sudo apt-get update command. The steps here apply to the current Ubuntu LTS releases in 2026 — 24.04 LTS ("Noble Numbat") and 22.04 LTS ("Jammy Jellyfish") — as well as Debian 12 ("Bookworm") and other Debian-based distributions. Whether you're a Linux newcomer or an experienced user, understanding how to troubleshoot this issue is essential for maintaining a healthy and up-to-date system.
Why is this important?
- System Security: Regular updates often include critical security patches.
- Software Compatibility: Ensuring your package lists are current helps avoid conflicts when installing new software.
- Access to Latest Features: Up-to-date package information allows you to access the newest versions of software.
- System Stability: Properly updating your system contributes to overall stability and performance.
In the following sections, we'll explore common causes of sudo apt-get update failures and provide step-by-step solutions to get your system back on track.
Problem Description: Symptoms and Impact
When the sudo apt-get update command fails to work correctly, users may encounter various symptoms. Understanding these symptoms is the first step in diagnosing and resolving the issue.
Common Symptoms
-
Error Messages: Users often see error messages such as:
- "Failed to fetch"
- "Could not resolve hostname"
- "Connection failed"
- "404 Not Found"
-
Slow Performance: The update process may become extremely slow or appear to hang.
-
Partial Updates: Some repository updates succeed while others fail.
-
GPG Errors: Messages indicating issues with repository keys or signatures.
-
Network-Related Errors: Timeouts or inability to connect to servers.
Impact of the Problem
The failure of sudo apt-get update can have several negative consequences:
-
Inability to Install New Software: Without updated package lists, you may not be able to install new programs or their latest versions.
-
Security Vulnerabilities: Missing important security updates can leave your system exposed to known threats.
-
Dependency Issues: Outdated package information can lead to conflicts when trying to install or upgrade software.
-
System Instability: In some cases, partial updates or mismatched package versions can lead to system instability.
-
Frustration and Time Loss: Troubleshooting this issue can be time-consuming and frustrating, especially for less experienced users.
Understanding these symptoms and impacts helps in appreciating the importance of resolving the issue promptly and effectively. In the next section, we'll explore the common causes behind these problems.
Common Causes Analysis
Understanding the root causes of sudo apt-get update failures is crucial for effective troubleshooting. Here are the most common reasons why this command might not work:
-
Internet Connectivity Issues
- Poor or unstable internet connection
- DNS resolution problems
- Firewall or proxy settings blocking access
-
Repository Server Problems
- Temporary server outages
- Server overload during peak times
- Mirrors being out of sync or offline
-
Corrupt or Outdated Sources List
- Incorrect repository URLs in the sources.list file
- Outdated or no longer supported repositories
- Duplicate entries causing conflicts
-
GPG Key Issues
- Missing or expired GPG keys for repositories
- Changed repository signatures
-
System Time Discrepancies
- Incorrect system time causing SSL certificate validation failures
-
Disk Space Issues
- Insufficient space in the /var/lib/apt/lists/ directory
- Full root partition
-
Software Conflicts
- Other software interfering with the update process
- Incomplete previous updates or interrupted upgrade processes
-
Outdated Package Manager
- Using an old version of apt or apt-get that may have bugs
-
Network Restrictions
- Corporate networks or public Wi-Fi with restricted access to certain servers
-
Localization Issues
- Language settings causing problems with repository information retrieval
By identifying which of these causes applies to your situation, you can more effectively apply the appropriate solution. In the next section, we'll provide step-by-step instructions to address each of these potential issues.
Solution Steps
Let's go through the step-by-step process to fix the "sudo apt-get update" issue:
1. Check Internet Connection
First, ensure your internet connection is stable and working properly.
- Open a web browser and try accessing a few websites.
- If websites don't load, troubleshoot your network connection before proceeding.
2. Verify the sources.list File
The sources.list file contains repository information. Let's check and fix it if necessary:
a. Open the file:
sudo nano /etc/apt/sources.list
b. Look for any obvious errors like typos in URLs.
c. Remove or comment out any repositories you no longer need.
d. Save changes and exit (in nano, press Ctrl+X, then Y, then Enter).
3. Change Download Server
Sometimes, switching to a different mirror can resolve issues:
a. Open Software & Updates (or equivalent in your distribution).
b. In the "Ubuntu Software" tab, click "Download from" and select "Other".
c. Choose "Select Best Server" or manually select a different mirror.
d. Close and reload when prompted.
4. Clear APT Cache
Clearing the APT cache can resolve many issues:
sudo rm -rf /var/lib/apt/lists/*
sudo apt clean
5. Check for Conflicting Processes
Ensure no other process is using APT:
a. Check for locked dpkg:
sudo lsof /var/lib/dpkg/lock-frontend
b. If found, wait for the process to finish or carefully terminate it.
6. Fix Repository GPG Keys
If the update fails with a NO_PUBKEY error or a message about an expired signature (EXPKEYSIG / EXPSIG), a repository key needs to be imported or renewed.
On current Ubuntu (22.04 LTS and 24.04 LTS) and Debian 12, the apt-key tool is deprecated (and removed on newer releases). The recommended method is to download the repository's key into /usr/share/keyrings/:
curl -fsSL https://<repo-domain>/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/<repo>.gpg
Replace <repo-domain> and <repo> with the values from your repository's official documentation, then ensure the matching line in /etc/apt/sources.list.d/ references that keyring with signed-by=/usr/share/keyrings/<repo>.gpg.
On older systems where apt-key is still available, you can refresh keys with:
sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com
7. Check System Time
Ensure your system time is correct:
date
If incorrect, update it:
sudo timedatectl set-ntp true
8. Check Disk Space
Verify you have enough free disk space:
df -h
If necessary, free up space by removing unnecessary files or old kernels.
9. Disable IPv6 (if necessary)
If you suspect IPv6 is causing issues:
a. Edit the sysctl.conf file:
sudo nano /etc/sysctl.conf
b. Add these lines:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
c. Save, exit, and apply changes:
sudo sysctl -p
10. Final Update Attempt
After trying these steps, run the update command again:
sudo apt-get update
If you still encounter issues, consider seeking help on Linux forums or contacting your distribution's support channels.
Preventive Measures
While knowing how to fix "sudo apt-get update" issues is important, preventing them from occurring in the first place is even better. Here are some preventive measures you can take:
1. Regular System Updates
- Schedule regular system updates to keep your system current.
- Use the following commands periodically:
sudo apt-get update
sudo apt-get upgrade
2. Maintain Clean Sources
- Regularly review your
/etc/apt/sources.listfile and any files in/etc/apt/sources.list.d/. - Remove or comment out repositories you no longer use.
- Be cautious when adding new repositories.
3. Backup Sources List
- Create a backup of your working sources.list file:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
- This allows you to quickly restore a working configuration if needed.
4. Use Official Repositories
- Stick to official repositories when possible.
- Be cautious with PPAs (Personal Package Archives) and third-party repositories.
5. Keep GPG Keys Updated
- Keep repository keys current so signature checks don't fail.
- On modern Ubuntu (22.04 / 24.04) and Debian 12, store each repository's key in
/usr/share/keyrings/and reference it withsigned-by=in the repo's sources entry, rather than using the deprecatedapt-key. - On older systems that still ship
apt-key, you can refresh keys with:
sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com
6. Monitor Disk Space
- Regularly check available disk space:
df -h
- Set up alerts for low disk space if possible.
7. Maintain Stable Internet Connection
- Ensure a stable internet connection for updates.
- Consider using a wired connection for important system updates.
8. Use Update Manager
- For desktop environments, use the built-in update manager for a more user-friendly experience.
9. Read Update Logs
- Pay attention to any warnings or errors during updates.
- Address minor issues before they become major problems.
10. Keep System Time Synchronized
- Ensure your system clock stays synchronized:
sudo timedatectl set-ntp true

Conclusion
Maintaining a healthy and up-to-date Linux system is crucial for security, stability, and optimal performance. The sudo apt-get update command plays a vital role in this process, and knowing how to troubleshoot issues when it fails is an essential skill for any Linux user.
Remember, while the solutions provided here address many common issues, Linux systems can be complex, and unique situations may arise. If you've tried these steps and still face problems, don't hesitate to seek help from the Linux community through forums, mailing lists, or official support channels for your distribution.
By staying proactive with system maintenance and armed with the knowledge to tackle common issues, you can ensure your Linux system remains a reliable and efficient tool for your computing needs.
Lastly, always remember to back up important data before making significant changes to your system. With proper care and attention, your Linux experience can be smooth, secure, and enjoyable.
Frequently Asked Questions (FAQ)
Q1: How often should I run sudo apt-get update?
A: It's recommended to run sudo apt-get update before installing new software or at least once a week. For servers or systems requiring high security, daily updates are advisable.
Q2: What's the difference between apt-get update and apt-get upgrade?
A: apt-get update refreshes the list of available packages and their versions, but it doesn't install or upgrade any packages. apt-get upgrade actually installs newer versions of the packages you have.
Q3: Is it safe to interrupt apt-get update while it's running?
A: While it's generally safe to interrupt apt-get update, it's not recommended. Interrupting might leave package lists in an inconsistent state. If interrupted, simply run the command again to ensure completion.
Q4: Why do I need sudo privileges to run apt-get update?
A: sudo privileges are required because updating package lists involves writing to system directories that are protected for security reasons. Only administrators should be able to modify these critical system files.
Q5: Can apt-get update cause system instability?
A: apt-get update itself doesn't cause instability as it only updates package information. However, if you proceed to upgrade packages afterward, there's a small risk of incompatibility or bugs in new versions.
Q6: Is it normal for apt-get update to take a long time?
A: The time it takes depends on your internet speed and the number of repositories. It's normal for it to take a few minutes, but if it's taking unusually long, check your internet connection or try a different mirror.
Q7: Can I use apt update instead of apt-get update?
A: Yes, apt update is a newer, more user-friendly command that does the same thing as apt-get update. It's part of the apt command set which is designed to be more intuitive for interactive use.
