Cách khắc phục "sudo apt-get update" không hoạt động

2024-11-12 · Đã cập nhật 2026-07-06

Khắc phục nhanh: "sudo apt-get update" không hoạt động

Nếu sudo apt-get update báo lỗi trên Ubuntu (24.04 LTS "Noble Numbat", 22.04 LTS "Jammy Jellyfish", hay Debian) vào năm 2026, dưới đây là những cách khắc phục thường gặp nhất, theo thứ tự nên thử:

  1. Xác nhận bạn có internet và DNS hoạt động tốt. Chạy ping -c 3 archive.ubuntu.com. Nếu không phân giải được tên máy chủ, vấn đề nằm ở mạng hoặc DNS chứ không phải ở APT — hãy khắc phục việc đó trước.

  2. Kiểm tra /etc/apt/sources.list xem có URL kho sai hoặc đã chết không. Mở tệp bằng sudo nano /etc/apt/sources.list (trên bản 24.04 hãy kiểm tra thêm /etc/apt/sources.list.d/ubuntu.sources) rồi chú thích (comment) bất kỳ mục nào gõ sai, không truy cập được, hoặc đã hết vòng đời.

  3. Dựng lại bộ nhớ đệm danh sách gói bị hỏng. Thao tác này dọn sạch các tệp chỉ mục cũ hoặc tải về dở dang, rồi lấy lại chúng:

    sudo rm -rf /var/lib/apt/lists/*
    sudo apt update
    
  4. Sửa các khóa kho (GPG) đã hết hạn hoặc bị thiếu. Nếu bạn thấy lỗi NO_PUBKEY hoặc "the following signatures were invalid: EXPSIG", hãy nhập khóa còn thiếu vào. Cách hiện đại là dùng gpg cùng một tệp keyring:

    curl -fsSL https://<repo-domain>/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/<repo>.gpg
    

    Thay URL bằng địa chỉ lấy từ tài liệu của kho bạn dùng. (Lệnh apt-key cũ đã bị ngưng dùng trên Ubuntu 22.04 trở lên và bị loại bỏ ở các bản mới hơn.)

  5. Giải phóng dung lượng đĩa nếu bản cập nhật thất bại với lỗi "No space left on device" — chạy df -h, sau đó dọn bộ nhớ đệm bằng sudo apt clean.

Nếu không cách nào trong số này giải quyết được, hãy làm theo phần chẩn đoán chi tiết bên dưới. Phần còn lại của hướng dẫn sẽ đi sâu vào từng nguyên nhân, kèm theo các biện pháp phòng ngừa và một mục FAQ đầy đủ.

Giới thiệu

Trong thế giới Linux, đặc biệt là các bản phân phối dựa trên Ubuntu và Debian, lệnh sudo apt-get update là một công cụ nền tảng để bảo trì hệ thống. Nó làm mới danh sách gói, đảm bảo hệ thống của bạn có thông tin mới nhất về phần mềm có sẵn và phiên bản của chúng. Tuy nhiên, đôi khi người dùng gặp tình huống mà lệnh quan trọng này không hoạt động đúng.

Bài viết này sẽ hướng dẫn bạn qua quá trình chẩn đoán và xử lý các vấn đề với lệnh sudo apt-get update. Các bước ở đây áp dụng cho những bản Ubuntu LTS hiện hành năm 2026 — 24.04 LTS ("Noble Numbat") và 22.04 LTS ("Jammy Jellyfish") — cũng như Debian 12 ("Bookworm") và các bản phân phối dựa trên Debian khác. Dù bạn mới làm quen Linux hay đã là người dùng dày dạn, việc hiểu cách xử lý sự cố này là điều cần thiết để giữ cho hệ thống luôn khỏe mạnh và được cập nhật.

Tại sao điều này lại quan trọng?

  1. Bảo mật hệ thống: Các bản cập nhật định kỳ thường bao gồm những bản vá bảo mật quan trọng.
  2. Tương thích phần mềm: Giữ cho danh sách gói luôn mới giúp tránh xung đột khi cài phần mềm mới.
  3. Tiếp cận tính năng mới nhất: Thông tin gói được cập nhật cho phép bạn tiếp cận các phiên bản phần mềm mới nhất.
  4. Ổn định hệ thống: Cập nhật hệ thống đúng cách góp phần mang lại sự ổn định và hiệu năng tổng thể.

Trong những phần tiếp theo, chúng ta sẽ tìm hiểu các nguyên nhân phổ biến khiến sudo apt-get update thất bại và đưa ra giải pháp từng bước để đưa hệ thống của bạn trở lại đúng quỹ đạo.

Mô tả vấn đề: Triệu chứng và Tác động

Khi lệnh sudo apt-get update không chạy đúng, người dùng có thể gặp nhiều triệu chứng khác nhau. Hiểu được những triệu chứng này là bước đầu tiên để chẩn đoán và xử lý vấn đề.

Triệu chứng phổ biến

  1. Thông báo lỗi: Người dùng thường thấy các thông báo lỗi như:

    • "Failed to fetch"
    • "Could not resolve hostname"
    • "Connection failed"
    • "404 Not Found"
  2. Chạy chậm: Quá trình cập nhật có thể trở nên cực kỳ chậm hoặc trông như bị treo.

  3. Cập nhật một phần: Một số kho cập nhật thành công trong khi số khác thì thất bại.

  4. Lỗi GPG: Các thông báo cho thấy vấn đề với khóa hoặc chữ ký của kho.

  5. Lỗi liên quan đến mạng: Hết thời gian chờ hoặc không thể kết nối tới máy chủ.

Tác động của vấn đề

Việc sudo apt-get update thất bại có thể kéo theo một số hậu quả tiêu cực:

  1. Không thể cài phần mềm mới: Nếu không có danh sách gói được cập nhật, bạn có thể không cài được chương trình mới hoặc phiên bản mới nhất của chúng.

  2. Lỗ hổng bảo mật: Bỏ lỡ các bản cập nhật bảo mật quan trọng có thể khiến hệ thống của bạn phơi mình trước những mối đe dọa đã biết.

  3. Vấn đề phụ thuộc: Thông tin gói lỗi thời có thể dẫn tới xung đột khi bạn cố cài hoặc nâng cấp phần mềm.

  4. Mất ổn định hệ thống: Trong một số trường hợp, cập nhật một phần hoặc các phiên bản gói không khớp nhau có thể khiến hệ thống mất ổn định.

  5. Bực bội và tốn thời gian: Việc xử lý vấn đề này có thể tốn thời gian và gây khó chịu, nhất là với những người dùng còn ít kinh nghiệm.

Hiểu được những triệu chứng và tác động này giúp bạn thấy rõ tầm quan trọng của việc xử lý vấn đề một cách kịp thời và hiệu quả. Ở phần tiếp theo, chúng ta sẽ tìm hiểu các nguyên nhân phổ biến đứng sau những vấn đề này.

Phân tích các nguyên nhân phổ biến

Hiểu được nguyên nhân gốc rễ khiến sudo apt-get update thất bại là điều then chốt để xử lý sự cố hiệu quả. Dưới đây là những lý do phổ biến nhất khiến lệnh này có thể không hoạt động:

  1. Vấn đề kết nối Internet

    • Kết nối internet kém hoặc chập chờn
    • Sự cố phân giải DNS
    • Cài đặt tường lửa hoặc proxy chặn truy cập
  2. Sự cố với máy chủ kho

    • Máy chủ tạm ngừng hoạt động
    • Máy chủ quá tải vào giờ cao điểm
    • Các máy chủ mirror không đồng bộ hoặc ngoại tuyến
  3. Danh sách nguồn bị hỏng hoặc lỗi thời

    • URL kho không chính xác trong tệp sources.list
    • Các kho đã lỗi thời hoặc không còn được hỗ trợ
    • Các mục trùng lặp gây xung đột
  4. Vấn đề với khóa GPG

    • Thiếu hoặc hết hạn khóa GPG cho các kho
    • Chữ ký của kho đã thay đổi
  5. Chênh lệch thời gian hệ thống

    • Thời gian hệ thống sai gây lỗi xác thực chứng chỉ SSL
  6. Vấn đề về dung lượng đĩa

    • Không đủ dung lượng trong thư mục /var/lib/apt/lists/
    • Phân vùng gốc đã đầy
  7. Xung đột phần mềm

    • Phần mềm khác can thiệp vào quá trình cập nhật
    • Bản cập nhật trước đó chưa hoàn tất hoặc tiến trình nâng cấp bị gián đoạn
  8. Trình quản lý gói lỗi thời

    • Dùng phiên bản apt hoặc apt-get cũ vốn có thể chứa lỗi
  9. Hạn chế mạng

    • Mạng doanh nghiệp hoặc Wi-Fi công cộng chặn truy cập tới một số máy chủ nhất định
  10. Vấn đề bản địa hóa

    • Thiết lập ngôn ngữ gây trục trặc khi lấy thông tin kho

Bằng cách xác định nguyên nhân nào phù hợp với tình huống của mình, bạn sẽ áp dụng được giải pháp thích hợp một cách hiệu quả hơn. Ở phần tiếp theo, chúng tôi sẽ cung cấp hướng dẫn từng bước để xử lý từng vấn đề tiềm ẩn này.

Các bước giải quyết

Hãy cùng đi qua quy trình từng bước để khắc phục vấn đề "sudo apt-get update":

1. Kiểm tra kết nối Internet

Trước tiên, hãy đảm bảo kết nối internet của bạn ổn định và hoạt động bình thường.

  • Mở trình duyệt web và thử truy cập một vài trang web.
  • Nếu các trang không tải được, hãy khắc phục kết nối mạng trước khi tiếp tục.

2. Kiểm tra tệp sources.list

Tệp sources.list chứa thông tin về các kho. Hãy kiểm tra và sửa nếu cần:

a. Mở tệp:

sudo nano /etc/apt/sources.list

b. Tìm những lỗi dễ thấy như gõ sai trong các URL.

c. Xóa hoặc chú thích (comment) bất kỳ kho nào bạn không còn cần.

d. Lưu thay đổi và thoát (trong nano, nhấn Ctrl+X, rồi Y, rồi Enter).

3. Đổi máy chủ tải xuống

Đôi khi, chuyển sang một máy chủ mirror khác có thể giải quyết vấn đề:

a. Mở Software & Updates (hoặc công cụ tương đương trong bản phân phối của bạn).

b. Trong tab "Ubuntu Software", nhấp vào "Download from" và chọn "Other".

c. Chọn "Select Best Server" hoặc tự chọn thủ công một máy chủ mirror khác.

d. Đóng lại và tải lại khi được nhắc.

4. Xóa bộ nhớ đệm APT

Xóa bộ nhớ đệm APT có thể giải quyết nhiều vấn đề:

sudo rm -rf /var/lib/apt/lists/*
sudo apt clean

5. Kiểm tra các tiến trình xung đột

Đảm bảo không có tiến trình nào khác đang dùng APT:

a. Kiểm tra xem dpkg có bị khóa không:

sudo lsof /var/lib/dpkg/lock-frontend

b. Nếu có, hãy chờ tiến trình đó hoàn tất hoặc kết thúc nó một cách thận trọng.

6. Sửa các khóa GPG của kho

Nếu bản cập nhật thất bại với lỗi NO_PUBKEY hoặc thông báo về chữ ký đã hết hạn (EXPKEYSIG / EXPSIG), tức là cần nhập vào hoặc gia hạn một khóa của kho.

Trên các bản Ubuntu hiện hành (22.04 LTS và 24.04 LTS) cùng Debian 12, công cụ apt-key đã bị ngưng dùng (và bị loại bỏ ở các bản mới hơn). Cách được khuyến nghị là tải khóa của kho về thư mục /usr/share/keyrings/:

curl -fsSL https://<repo-domain>/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/<repo>.gpg

Thay <repo-domain><repo> bằng các giá trị lấy từ tài liệu chính thức của kho, sau đó đảm bảo dòng tương ứng trong /etc/apt/sources.list.d/ tham chiếu tới keyring đó bằng signed-by=/usr/share/keyrings/<repo>.gpg.

Trên các hệ thống cũ nơi apt-key vẫn còn dùng được, bạn có thể làm mới khóa bằng:

sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com

7. Kiểm tra thời gian hệ thống

Đảm bảo thời gian hệ thống của bạn chính xác:

date

Nếu sai, hãy cập nhật lại:

sudo timedatectl set-ntp true

8. Kiểm tra dung lượng đĩa

Xác nhận bạn còn đủ dung lượng đĩa trống:

df -h

Nếu cần, hãy giải phóng dung lượng bằng cách xóa các tệp không cần thiết hoặc những kernel cũ.

9. Vô hiệu hóa IPv6 (nếu cần)

Nếu bạn nghi ngờ IPv6 đang gây ra vấn đề:

a. Chỉnh sửa tệp sysctl.conf:

sudo nano /etc/sysctl.conf

b. Thêm các dòng sau:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

c. Lưu lại, thoát và áp dụng thay đổi:

sudo sysctl -p

10. Thử cập nhật lần cuối

Sau khi đã thử những bước trên, hãy chạy lại lệnh cập nhật:

sudo apt-get update

Nếu bạn vẫn gặp vấn đề, hãy cân nhắc tìm trợ giúp trên các diễn đàn Linux hoặc liên hệ kênh hỗ trợ của bản phân phối bạn đang dùng.

Các biện pháp phòng ngừa

Biết cách khắc phục các vấn đề "sudo apt-get update" là điều quan trọng, nhưng ngăn không cho chúng xảy ra ngay từ đầu còn tốt hơn nữa. Dưới đây là một số biện pháp phòng ngừa bạn có thể áp dụng:

1. Cập nhật hệ thống thường xuyên

  • Lên lịch cập nhật hệ thống định kỳ để giữ hệ thống luôn mới.
  • Dùng các lệnh sau một cách định kỳ:
sudo apt-get update
sudo apt-get upgrade

2. Giữ danh sách nguồn gọn gàng

  • Thường xuyên rà soát tệp /etc/apt/sources.list của bạn cùng mọi tệp trong /etc/apt/sources.list.d/.
  • Xóa hoặc chú thích (comment) những kho bạn không còn dùng.
  • Thận trọng khi thêm kho mới.

3. Sao lưu danh sách nguồn

  • Tạo một bản sao lưu cho tệp sources.list đang hoạt động của bạn:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
  • Nhờ đó bạn có thể nhanh chóng khôi phục lại cấu hình đang chạy tốt nếu cần.

4. Dùng các kho chính thức

  • Nên ưu tiên dùng các kho chính thức khi có thể.
  • Thận trọng với các PPA (Personal Package Archives) và kho của bên thứ ba.

5. Giữ các khóa GPG luôn được cập nhật

  • Giữ các khóa của kho luôn mới để việc kiểm tra chữ ký không bị thất bại.
  • Trên các bản Ubuntu hiện đại (22.04 / 24.04) và Debian 12, hãy lưu khóa của từng kho trong /usr/share/keyrings/ và tham chiếu tới nó bằng signed-by= trong mục nguồn của kho, thay vì dùng apt-key vốn đã bị ngưng dùng.
  • Trên các hệ thống cũ vẫn còn kèm apt-key, bạn có thể làm mới khóa bằng:
sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com

6. Giám sát dung lượng đĩa

  • Thường xuyên kiểm tra dung lượng đĩa còn trống:
df -h
  • Thiết lập cảnh báo khi dung lượng đĩa xuống thấp nếu có thể.

7. Duy trì kết nối Internet ổn định

  • Đảm bảo có kết nối internet ổn định khi cập nhật.
  • Cân nhắc dùng kết nối có dây cho những bản cập nhật hệ thống quan trọng.

8. Dùng Trình quản lý cập nhật

  • Với môi trường máy tính để bàn, hãy dùng trình quản lý cập nhật tích hợp sẵn để có trải nghiệm thân thiện hơn.

9. Đọc nhật ký cập nhật

  • Để ý mọi cảnh báo hoặc lỗi xuất hiện trong quá trình cập nhật.
  • Xử lý các vấn đề nhỏ trước khi chúng trở thành vấn đề lớn.

10. Giữ thời gian hệ thống luôn được đồng bộ

  • Đảm bảo đồng hồ hệ thống của bạn luôn được đồng bộ:
sudo timedatectl set-ntp true

Cách khắc phục sudo apt-get update không hoạt động

Kết luận

Giữ cho một hệ thống Linux luôn khỏe mạnh và được cập nhật là điều tối quan trọng đối với bảo mật, sự ổn định và hiệu năng tối ưu. Lệnh sudo apt-get update đóng một vai trò thiết yếu trong quá trình này, và biết cách xử lý sự cố khi nó thất bại là một kỹ năng không thể thiếu với bất kỳ người dùng Linux nào.

Hãy nhớ rằng, dù các giải pháp nêu ở đây xử lý được nhiều vấn đề phổ biến, hệ thống Linux vẫn có thể rất phức tạp và những tình huống đặc thù vẫn có thể phát sinh. Nếu bạn đã thử những bước này mà vẫn gặp vấn đề, đừng ngần ngại tìm sự trợ giúp từ cộng đồng Linux thông qua các diễn đàn, danh sách gửi thư (mailing list) hoặc các kênh hỗ trợ chính thức của bản phân phối bạn dùng.

Bằng cách chủ động bảo trì hệ thống và trang bị cho mình kiến thức để xử lý các vấn đề thường gặp, bạn có thể yên tâm rằng hệ thống Linux của mình vẫn là một công cụ đáng tin cậy và hiệu quả cho nhu cầu của bạn.

Cuối cùng, hãy luôn nhớ sao lưu dữ liệu quan trọng trước khi thực hiện những thay đổi lớn đối với hệ thống. Với sự chăm chút và cẩn thận đúng mực, trải nghiệm Linux của bạn có thể diễn ra suôn sẻ, an toàn và thú vị.

Các câu hỏi thường gặp (FAQ)

Q1: Tôi nên chạy sudo apt-get update bao lâu một lần?

A: Bạn nên chạy sudo apt-get update trước khi cài phần mềm mới, hoặc ít nhất mỗi tuần một lần. Với máy chủ hay hệ thống đòi hỏi bảo mật cao, nên cập nhật hằng ngày.

Q2: Khác biệt giữa apt-get updateapt-get upgrade là gì?

A: apt-get update làm mới danh sách các gói có sẵn cùng phiên bản của chúng, nhưng không cài hay nâng cấp bất kỳ gói nào. Còn apt-get upgrade thực sự cài các phiên bản mới hơn cho những gói bạn đang có.

Q3: Ngắt apt-get update khi nó đang chạy có an toàn không?

A: Ngắt apt-get update thường thì an toàn, nhưng không được khuyến khích. Việc ngắt có thể để lại danh sách gói ở trạng thái không nhất quán. Nếu bị ngắt, chỉ cần chạy lại lệnh để đảm bảo nó hoàn tất.

Q4: Tại sao tôi cần quyền sudo để chạy apt-get update?

A: Quyền sudo là bắt buộc vì việc cập nhật danh sách gói cần ghi vào các thư mục hệ thống vốn được bảo vệ vì lý do an ninh. Chỉ quản trị viên mới được phép sửa đổi những tệp hệ thống quan trọng này.

Q5: apt-get update có thể gây mất ổn định cho hệ thống không?

A: Bản thân apt-get update không gây mất ổn định vì nó chỉ cập nhật thông tin gói. Tuy nhiên, nếu sau đó bạn tiến hành nâng cấp các gói, vẫn có một rủi ro nhỏ về việc không tương thích hoặc lỗi trong các phiên bản mới.

Q6: apt-get update chạy lâu có bình thường không?

A: Thời gian chạy phụ thuộc vào tốc độ internet và số lượng kho của bạn. Mất vài phút là chuyện bình thường, nhưng nếu lâu bất thường, hãy kiểm tra kết nối internet hoặc thử một máy chủ mirror khác.

Q7: Tôi có thể dùng apt update thay cho apt-get update không?

A: Có, apt update là một lệnh mới hơn và thân thiện hơn với người dùng, làm đúng công việc như apt-get update. Nó thuộc bộ lệnh apt vốn được thiết kế để trực quan hơn khi dùng tương tác.