Newbie

Cách sửa lỗi “E: Unable to locate package” trên Ubuntu

Bài viết hướng dẫn cách sửa lỗi E: Unable to locate package (Không định vị được package) trên Ubuntu Linux.

Một trong những cách thông dụng để cài đặt phần mềm trên Ubuntu là dùng apt-get hoặc apt command. Mở terminal và dùng chính tên của chương trình để cài đặt chúng, ví dụ như sau:

sudo apt install package_name

Đôi lúc, bạn sẽ gặp một số lỗi trong khi cài đặt theo các này. Cụ thể như sau:

Rất rõ ràng, Linux không thể tìm thấy package mà bạn muốn cài đặt. Nhưng tại sao nhỉ? Dưới đây sẽ là một vài cách hữu dụng để bạn có thể giải quyết vấn đề này.

1. Kiểm tra lại tên package (không đùa đâu!!).

Tên package là điều đầu tiên bạn nên kiểm tra lại. Liệu có lỗi chính tả nào đó không, ví dụ bạn muốn cài package “vlc” nhưng lại gõ thành “vcl”, đương nhiên hệ thống sẽ báo lỗi. Điều này xảy ra khá thường xuyên nên bạn hãy chắc chắn mình đã gõ đúng tên package của mình nhé

2. Cập nhật repository cache

Nếu đây là lần đầu bạn sử dụng hệ điều hành Linux thì bạn nên sử dụng câu lệnh sau:
sudo apt update
Câu lệnh này thực ra không cập nhật Ubuntu ngay lập tức. Bạn có lẽ nên sử dụng bộ Ubuntu repositories. Còn về cơ bản thì câu lệnh ‘apt update’ này cung cấp chỉ bộ nhớ cho các package có sẵn trên hệ thống mà thôi.
Khi bạn sử dụng câu lệnh cài đặt, trình quản lí sẽ tìm kiếm bộ nhớ cache để lấy thông tin package, sau đó tải package từ repository. Nếu package không có trong bộ nhớ cache này, thì hệ điều hành sẽ không thể cài đặt phần mềm được.
Khi bạn mới cài đặt Ubuntu, bộ nhớ cache hoàn toàn trống. Đó là lí do vì sao bạn nên cập nhật cache sau khi cài Ubuntu hay bất kì bản phát hành nào dựa trên nền tảng Ubuntu (như Linux Mint chẳng hạn).
Ngay cả khi đã cài đặt Ubuntu được một thời gian, bạn vẫn nên cập nhật lại bộ nhớ cache nhé!

3.Kiểm tra xem package có tồn tại trên phiên bản Ubuntu hiện tại không

Giả sử thế này, bạn đã kiểm tra tên package – hoàn toàn đúng, đã thực hiện lệnh cập nhật cache, nhưng sau đó, vẫn mắc phải lỗi không tìm được package.

Package hoàn toàn có thể không tồn tại. Thực sự là bạn đã làm theo hướng dẫn trên Internet, và dường như mọi người đều có thể cài đặt bằng cách đó. Vậy thì chuyện gì đã xảy ra?

Có hai vấn đề ở đây. Hoặc là package có sẵn nhưng hệ thống không kích hoạt, hoặc là package không có sẵn trong phiên bản Ubuntu được cài đặt. Đừng lo, chúng tôi sẽ giải thích ngay sau đây.

Đầu tiên,  kiểm tra phiên bản Ubuntu bạn đang sử dụng. Mở terminal và dùng câu lệnh sau:

lsb_release -a

Màn hình sẽ hiển thị số hiệu phiên bản Ubuntu, và quan trọng hơn là tên mã của hệ điều hành:

Như bạn thấy, hệ điều hành đang được sử dụng là Ubuntu 18.04 và tên mã là bionic. Sẽ có thêm nhiều thông tin khác nhưng đây là những gì bạn cần. Khi đã có được phiên bản và tên mã của Ubuntu, truy cập vào package websites:

Ubuntu Packages Search

Chọn phần Search trên trang web, nhập tên package mà hệ thống của bạn không thể tìm kiếm và đặt tên mã (nên là ‘any’) của bản phát hành. Sau đó thực hiện tìm kiếm.

Màn hình sẽ cho biết liệu package này có sẵn trên phiên bản Ubuntu của bạn không. Và nếu có, thì nó nằm trong repository nào. Ở ví dụ này, màn hình cho ra kết quả của Shutter screenshot với phiên bản Ubuntu 18.04 Binonic:

Trong trường hợp này, tên của package hoàn toàn trùng khớp. Điều này có nghĩa là package Shutter có sẵn trên Ubuntu 18.04 Bionic, nhưng lại thuộc ‘Universe repository’. Nếu bạn thắc mắc ‘Universe repository’ là gì, có thể xem lại các bài viết trước về các repository của Ubuntu.

Nếu package cần tìm có sẵn trên Ubuntu nhưng lại ở trong universe hoặc multiverse package,  bạn sẽ cần phải kích hoạt những repository này:

sudo add-apt-repository universe multiverse

Bạn cũng sẽ phải cập nhật cache để hệ thống có thông tin về các package có sẵn trong repository mới thêm vào:

sudo apt updateBây giờ việc cài đặt sẽ không còn gặp vấn đề gì nữa rồi

Kết quả tìm kiếm không trùng khớp, vậy thì vấn đề là gì?

Nếu kết quả trả về cho thấy package không có sẵn trong phiên bản Ubuntu, vậy bạn sẽ phải cài đặt nó bằng một cách khác.
Lấy Shutter làm ví dụ. Đây là một ứng dụng rất hữu dụng để chụp màn hình trên Linux nhưng đã lâu rồi ứng dụng này không được cập nhật. Do đó Ubuntu đã xóa nó khỏi các phiên bản từ Ubuntu 18.10 trở đi. Vậy thì cài đặt nó như thế nào? Rất may, các nhà phát triển bên thứ ba đã tạo ra một repository cá nhân (PPA) và bạn sẽ dùng nó để cài đặt Shutter. [Hãy đọc hướng dẫn chi tiết để hiểu rõ hơn PPA trên Ubuntu.] Bạn có thể tìm package cũng như PPA tương ứng trên website Launchpad của Ubuntu. Và nhớ rằng, bạn không nên thêm các PPA một cách tùy tiện vào danh sách các repository của mình.
Nếu không có PPA nào, kiểm tra website chính thức của phần mềm xem có cách nào khác để cài đặt ứng dụng không. Một vài ứng dụng cung cấp các file .DEB và AppImage. Một vài ứng dụng khác thì chuyển sang Snap packages. Ngoài ra, bạn cũng có thể kiểm tra xem liệu nhà phát triển có thay đổi phương thức cài đặt của ứng dụng hay không.
Nếu mọi thứ vẫn không hoạt động theo ý bạn, có lẽ ứng dụng đã dừng hoạt động. Và trong trường hợp này, tốt nhất là bạn nên tìm một ứng dụng khác thay thế.

Nếu bạn là người mới sử dụng Ubuntu và Linux, những điều trên đây nghe có vẻ khá choáng ngợp. Đây là lí do vì sao bạn nên đọc những bài viết với những chủ đề cơ bản như thế này để có thể hiểu thêm về cách hoạt động của hệ điều hành.
Mong rằng những bước hướng dẫn trên sẽ giúp bạn xử lí được lỗi package trên Ubuntu.

Bài viết gốc: [Solved] “E: Unable to locate package” Error on Ubuntu

Bài hay nên đọc

8 Điểm Linux vượt trội hơn Windows

Long Term Support (LTS) là gì

App Outlet – kho ứng dụng “phổ cập” cho các distro Linux

Visits: 23923