Lỗi “E: Unable to locate package Ubuntu” nghĩa là APT không tìm thấy gói có tên “Ubuntu” trong các kho phần mềm đang được cấu hình trên hệ thống, nên không thể cài đặt gói đó. Tròng bài viết này, mình sẽ cùng bạn tìm hiểu nguyên nhân và hướng dẫn bạn cách khắc phục lỗi nhanh chóng, chi tiết nhất.
Những điểm chính
- Định nghĩa lỗi “E: Unable to locate package Ubuntu”: Hiểu rõ ý nghĩa của lỗi, cho biết công cụ APT không tìm thấy gói phần mềm bạn yêu cầu trong các kho lưu trữ đã cấu hình.
- Nguyên nhân gây lỗi: Nắm được các nguyên nhân phổ biến, từ việc chưa cập nhật danh sách gói, sai tên, đến thiếu kho phụ trợ hoặc PPA.
- Cách khắc phục lỗi: Thành thạo 5 phương pháp chính để xử lý lỗi, bao gồm cập nhật danh sách gói, kiểm tra tên, bật kho phụ trợ và kiểm tra file
sources.list. - Lưu ý quan trọng khi xử lý lỗi: Nắm được các nguyên tắc an toàn để tránh làm hỏng hệ thống, như sao lưu file cấu hình và cẩn trọng khi thêm PPA.
- Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề thực tế như cách kiểm tra sự tồn tại của gói, các lưu ý khi sửa
sources.listvà tầm quan trọng của việc phân biệt chữ hoa/thường.
Lỗi “E: Unable to locate package” trên Ubuntu là gì?
Lỗi “Unable to locate package” trên Ubuntu xuất hiện khi công cụ APT không tìm ra gói phần mềm bạn muốn cài, thường vì danh sách gói chưa được làm mới, tên gói viết sai hoặc gói đó chưa có trong các nguồn lưu trữ đã thiết lập.

Kết quả báo lỗi sẽ hiển thị như dưới đây:

Cụ thể, khi cài đặt phần mềm trên Ubuntu hoặc các bản phân phối dựa trên Debian bằng apt, bạn có thể gặp lỗi:
E: Unable to locate package <tên-gói>Kết quả báo lỗi sẽ hiển thị như dưới đây:
Nguyên nhân phổ biến gây lỗi “E: Unable to locate package Ubuntu”
Dưới đây là những nguyên nhân phổ biến gây ra lỗi “E: Unable to locate package” trên Ubuntu:
- Cơ sở dữ liệu gói chưa đồng bộ: Hệ thống chưa chạy lệnh
apt update, dẫn đến việc máy tính không nắm được thông tin về các gói phần mềm mới nhất đang có trên máy chủ. - Sai tên gói phần mềm: Người dùng nhập sai chính tả, nhầm lẫn giữa chữ hoa/thường hoặc tên gói cũ đã được thay đổi trong các phiên bản Ubuntu mới.
- Chưa kích hoạt kho mở rộng: Gói phần mềm nằm trong các kho phụ trợ nhưng hệ thống chưa được bật tính năng truy cập các kho này.
- Thiếu nguồn PPA (Personal Package Archives): Phần mềm thuộc bên thứ ba yêu cầu phải thêm nguồn kho riêng biệt từ nhà phát triển nhưng người dùng chưa thêm vào hệ thống.
- Không tương thích phiên bản hệ điều hành: Gói phần mềm không được phát triển cho phiên bản Ubuntu bạn đang dùng hoặc phiên bản Ubuntu đó đã quá cũ và hết vòng đời hỗ trợ.
- Sai lệch kiến trúc phần cứng: Gói phần mềm không hỗ trợ cấu trúc chip của máy tính.
- Lỗi file cấu hình nguồn: File cấu hình
/etc/apt/sources.listbị trống, hỏng nội dung hoặc trỏ đến các máy chủ đã ngừng hoạt động.

Cách kiểm tra và khắc phục lỗi “E: Unable to locate package Ubuntu” hiệu quả
1. Cập nhật danh sách gói
Một trong những nguyên nhân phổ biến nhất khiến hệ thống không tìm thấy gói là do danh sách gói chưa được cập nhật. Điều này thường xảy ra khi bạn vừa cài đặt Ubuntu hoặc sau khi thêm một PPA mới mà chưa chạy apt update. Để khắc phục, bạn chạy lệnh sau:
sudo apt updateLệnh trên sẽ tải về danh sách gói mới nhất từ các kho phần mềm được khai báo.

2. Kiểm tra tên gói có đúng không
Trong nhiều trường hợp, lỗi phát sinh có thể do bạn nhập sai tên gói hoặc sử dụng chưa đúng cú pháp lệnh cài đặt. Để kiểm tra gói có tồn tại và tên gói có chính xác hay không, bạn có thể sử dụng lệnh tìm kiếm của apt như sau:
apt search <tên-gói>Ví dụ, để kiểm tra gói steghide, bạn chạy lệnh:
apt search steghide
Nếu lệnh không có kết quả, nguyên nhân có thể là do:
- Gói không tồn tại trong các kho phần mềm hiện đang được bật trên hệ thống.
- Tên gói không chính xác do gõ sai, dùng nhầm tên cũ hoặc nhầm biến thể/phiên bản của gói.
Thao tác kiểm tra trước bằng apt search giúp bạn tránh mất thời gian thử cài đặt nhiều lần và nhanh chóng xác nhận gói có thực sự tồn tại trong hệ thống hay không.
3. Bật các kho phụ trợ
Một số gói phần mềm không nằm trong kho mặc định mà được phân phối thông qua các kho phụ trợ như universe hoặc multiverse. Các kho này có thể chưa được kích hoạt sẵn trên hệ thống Ubuntu nên hệ thống sẽ không tìm thấy gói dù tên gói và cú pháp lệnh đều chính xác. Để bật các kho phụ trợ này, có thể sử dụng các lệnh sau:
sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt updateSau khi kích hoạt và cập nhật lại danh sách gói bằng sudo apt update, hệ thống sẽ đồng bộ thông tin từ các kho mới bật, giúp lệnh apt install nhận diện và cài đặt được nhiều gói hơn, đặc biệt là các phần mềm từ cộng đồng hoặc bên thứ ba.
4. Kiểm tra phiên bản Ubuntu
Một số gói phần mềm cũ có thể đã ngừng được hỗ trợ trên các phiên bản Ubuntu mới, dẫn đến việc không thể cài đặt dù tên gói và kho phần mềm đều đúng. Do đó, bạn cần xác định chính xác phiên bản Ubuntu đang sử dụng trước khi tiếp tục xử lý lỗi.
Để kiểm tra phiên bản, bạn thực hiện lệnh sau:
cat /etc/os-releaseSau đó bạn hãy tra cứu tài liệu hoặc trang chủ của gói để xem gói đó còn được hỗ trợ trên phiên bản Ubuntu tương ứng hay không. Nếu gói đã bị ngừng hỗ trợ, bạn cần cân nhắc sử dụng phiên bản Ubuntu phù hợp hơn, tìm gói thay thế hoặc cài đặt phần mềm bằng phương thức khác.
5. Kiểm tra lại file sources.list
Trên các hệ thống Ubuntu cài đặt tối giản hoặc bản server, file cấu hình nguồn gói có thể chưa được thiết lập đầy đủ, dẫn đến việc apt không tìm thấy các gói cần cài đặt. Trong trường hợp này, bạn hãy kiểm tra file cấu hình nguồn gói bằng lệnh sau:
cat /etc/apt/sources.listTrong file, cần có các dòng tương tự như:
deb http://archive.ubuntu.com/ubuntu focal main universe multiverse restricted
Nếu các dòng này bị thiếu hoặc file gần như trống, bạn có thể thêm thủ công hoặc khôi phục file gốc. Sau khi chỉnh sửa, hãy chạy sudo apt update để hệ thống của bạn tải lại danh sách gói từ các kho mới được cấu hình.
Những lưu ý quan trọng khi xử lý lỗi “E: Unable to locate package”
Việc khắc phục lỗi cài đặt phần mềm liên quan trực tiếp đến sự ổn định và bảo mật của hệ thống. Dưới đây là những lưu ý quan trọng bạn cần ghi nhớ để tránh làm hỏng hệ điều hành trong quá trình sửa lỗi:
- Sao lưu file cấu hình trước khi chỉnh sửa: Nếu bạn cần can thiệp thủ công vào file /etc/apt/sources.list, hãy luôn tạo một bản sao lưu (backup) trước đó để có thể khôi phục lại trạng thái ban đầu nếu xóa nhầm dòng quan trọng.
- Cẩn trọng khi thêm PPA: Bạn chỉ nên thêm các nguồn PPA từ những nhà phát triển uy tín hoặc trang chủ chính thức của phần mềm. Các PPA không rõ nguồn gốc có thể chứa mã độc hoặc gây xung đột thư viện hệ thống nghiêm trọng.
- Không trộn lẫn kho lưu trữ của các phiên bản khác nhau: Bạn không thêm kho phần mềm của phiên bản Ubuntu mới vào máy đang chạy phiên bản cũ (ví dụ 20.04) và ngược lại. Hành động này sẽ gây ra lỗi “Dependency Hell” khiến hệ thống mất ổn định.
- Kiểm tra kỹ chính tả và phân biệt hoa/thường: Hệ điều hành Linux phân biệt tuyệt đối chữ hoa và chữ thường, do đó cần đảm bảo bạn đã gõ chính xác từng ký tự.
- Đọc kỹ thông báo khi chạy apt update: Lệnh apt install có thể báo lỗi không tìm thấy gói do lệnh apt update trước đó đã thất bại, vì vậy bạn cần đảm bảo rằng quá trình cập nhật danh sách gói kết thúc mà không có dòng “Error” hay “Failed”.

Câu hỏi thường gặp
Làm sao kiểm tra xem gói mình muốn cài có tồn tại trên hệ thống không?
Bạn có thể kiểm tra bằng lệnh apt search, nếu lệnh không có kết quả, thì gói đó không tồn tại hoặc tên bạn gõ sai.
Nếu chỉnh sửa file /etc/apt/sources.list cần lưu ý những gì?
Bạn hãy luôn tạo bản sao lưu trước khi chỉnh sửa. Đồng thời kiểm tra cú pháp cẩn thận vì sai lệch dù nhỏ cũng gây lỗi và không trộn lẫn kho của các phiên bản Ubuntu khác nhau.
Tại sao cần phân biệt chữ hoa/thường khi gõ lệnh?
Hệ điều hành Linux (bao gồm Ubuntu) phân biệt tuyệt đối chữ hoa và chữ thường. Vì vậy khi bạn gõ apt install Steghide sẽ khác với apt install steghide, dẫn đến lỗi không tìm thấy gói.
Lỗi “E: Unable to locate package Ubuntu” là một trong những lỗi phổ biến và dễ gặp khi quản trị hệ thống Ubuntu. Tuy nhiên, đây cũng là lỗi dễ khắc phục nếu bạn nắm rõ cách cập nhật danh sách gói, kiểm tra và bật các kho cần thiết, đồng thời bạn cũng đảm bảo tên gói chính xác và tương thích với phiên bản Ubuntu đang dùng.




