Introduction

APT update fails when repository unreachable or GPG key issue. This guide provides step-by-step diagnosis and resolution.

Symptoms

Typical error output:

bash
Err:1 http://archive.ubuntu.com/ubuntu focal InRelease
Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal/InRelease

Common Causes

  1. 1.Configuration syntax or path incorrect
  2. 2.Host unreachable or authentication failed
  3. 3.Dependency or version conflict
  4. 4.Permission or resource not found

Step-by-Step Fix

Step 1: Check Current State

bash
# Check tool status
ansible --version
git --version
# View logs
journalctl -xe
# Verify configuration
cat /etc/ansible/ansible.cfg

Step 2: Identify Root Cause

bash
# Check configuration
cat /etc/ansible/ansible.cfg
# Verify inventory
cat /etc/ansible/hosts
# Test connectivity
ansible all -m ping -u <user>

Step 3: Apply Primary Fix

```bash # Primary fix: Check and reconfigure # Verify installation which ansible git

# Check configuration cat /etc/ansible/ansible.cfg

# Test connectivity ansible all -m ping ```

Step 4: Apply Alternative Fix

```bash # Alternative: Debug verbose # Run with verbose ansible-playbook playbook.yml -vvv

# Check inventory ansible-inventory --list

# Validate syntax ansible-playbook --syntax-check playbook.yml ```

Step 5: Verify the Fix

bash
# Test the operation
ansible all -m ping
# Or
git status
# Should complete without errors

Common Pitfalls

  • Not validating syntax before running
  • Using incorrect host patterns in inventory
  • Forgetting to gather facts before conditionals
  • Not handling errors in playbooks

Best Practices

  • Use ansible-playbook --syntax-check
  • Test playbooks in check mode first
  • Keep inventory organized
  • Use roles for reusability
  • Host Unreachable
  • Playbook Syntax Error
  • Variable Undefined
  • Module Not Found