Làm cách nào để tìm kiếm các gói có sẵn từ dòng lệnh?


584

Tôi đã cài đặt thành công một số gói bằng cách sử dụng dòng lệnh 'sudo apt-get install ...' khi tôi biết trước rằng các gói đó có sẵn. Nhưng làm thế nào tôi có thể tìm kiếm hoặc có được một danh sách những gì có sẵn trong kho?

Câu trả lời:


728

Để tìm kiếm một gói cụ thể theo tên hoặc mô tả:

Từ dòng lệnh, sử dụng:

apt-cache search keyword

trong đó từ khóa tìm kiếm có thể là tất cả hoặc một phần của tên gói hoặc bất kỳ từ nào được sử dụng trong mô tả của nó.

Ví dụ, apt-cache search proxybao gồm cả hai gói này:

proxy nhỏ - Một proxy HTTP nhẹ, không lưu trữ, ẩn danh tùy chọn
tircd - proxy ircd cho API twitter

Lưu ý: danh sách có thể dài, vì vậy bạn có thể dẫn đầu ra lessđể làm cho nó có thể cuộn một dòng hoặc một màn hình tại một thời điểm, tức là apt-cache search something | less.

Để có danh sách TẤT CẢ các gói

apt-cache search .

Sử dụng Synaptic nếu bạn đã bật chuyển tiếp X hoặc trên máy tính để bàn

Synaptic thường là một cách thuận tiện hơn để làm điều này, nhưng yêu cầu ít nhất một máy chủ X ở cuối của bạn (trừ khi bạn đang chạy một môi trường máy tính để bàn). Cài đặt với sudo apt-get install synapticnếu cần thiết.

  • Synaptic trên máy chủ ssh'd thông qua chuyển tiếp X:

    nhập mô tả hình ảnh ở đây

  • Synaptic chạy cục bộ trên Ubuntu Desktop:

    nhập mô tả hình ảnh ở đây


@MarkThomas Thử apt-cache policyquá, nó cung cấp cho bạn thêm thông tin về các nguồn.
yclian

như apt-get, bạn chỉ có thể chạy apt-cachemà không có bất kỳ đối số nào và nhận được thông tin trợ giúp / áo choàng ngắn. Bạn luôn có thể đọc các trang trên đó để được trợ giúp lâu hơn. (tức là man apt-cache)
pd12

Giả sử rằng tôi đủ ngu ngốc để muốn sống kết quả apt install, liệu có cách nào thông minh để làm điều đó không? Đầu ra từ chức năng này là lộn xộn. Người ta có thể sử dụng từ đầu tiên từ mỗi dòng, nhưng nên có một cách dễ dàng hơn.
Deleet

bạn cũng có thể tìm kiếm trực tuyến. packages.ubuntu.com
activedecay

Nếu bạn chỉ cần tên của tất cả các gói có sẵn chỉ cần làmapt-cache pkgnames
flaz14

42

Sử dụng aptitude, apt-cacheapttất cả các định dạng đầu ra khác nhau. (Không ai trong số này yêu cầu sử dụng sudokhi tìm kiếm gói.) Tôi thích sử dụng aptvì tính dễ đọc của nó. Nó làm nổi bật tên gói và đặt một khoảng trắng giữa các gói khác nhau. Nó cũng [installed]được liệt kê bên cạnh mỗi gói đã được cài đặt. Sử dụng:

apt search package-name

2
nếu tôi chạy nói '$ apt search firefox' thì nó tạo ra vô số kết quả đầu ra :(
user3804598

Bạn có thể thu hẹp tìm kiếm của mình bằng một cái gì đó như:apt search firefox | grep -A 3 firefox
jbrock

1
Một tùy chọn khác để thu hẹp tìm kiếm: apt search ^firefoxhoặcapt search ^firefox$
jbrock

25

Bạn cũng có thể sử dụng aptitude từ dòng lệnh:

aptitude search xxxxxx

2
Điều khó chịu về điều này là Ubuntu dường như không cung cấp cho bạn theo mặc định. Cho đến khi tôi biết về nó apt-cache, tôi luôn luôn làm như vậy apt-get install aptitudetrên mỗi hộp mới tôi cài đặt. Tuy nhiên, vì tôi không thể tìm cách apt-cachecho tôi xem nó đã được cài đặt hay chưa, tôi đoán tôi sẽ phải tiếp tục làm điều đó một chút :-)

2
@paxdiablo Chỉ cần tạo tập lệnh shell hai dòng (dòng thứ hai đôi khi giống như dpkg --list | grep "$1") hoặc thêm chức năng shell cho hiệu ứng này vào .bash_login... :-)
FooF

5

Công cụ dòng lệnh apt-cache được sử dụng để tìm kiếm bộ đệm gói phần mềm apt. Nói một cách đơn giản, công cụ này được sử dụng để tìm kiếm các gói phần mềm, thu thập thông tin của các gói và cũng được sử dụng để tìm kiếm những gói có sẵn đã sẵn sàng để cài đặt trên các hệ thống dựa trên Debian hoặc Ubuntu.

Để tìm ra tên gói và với mô tả trước khi cài đặt, hãy sử dụng cờ 'tìm kiếm'. Sử dụng tìm kiếm trên mạng với các bộ nhớ cache apt-cache sẽ hiển thị danh sách các gói phù hợp với mô tả ngắn. Giả sử bạn muốn tìm hiểu mô tả về gói 'vsftpd', thì lệnh sẽ là.

Cú pháp:

apt-cache search SearchTerm
$ apt-cache search vsftpd

Đầu ra có thể sẽ là:

vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool

Để tìm và liệt kê tất cả các gói bắt đầu bằng 'vsftpd', bạn có thể sử dụng lệnh sau.

$ apt-cache pkgnames vsftpd

Bạn cũng có thể muốn chạy các kết quả thông qua nhiều hơn, hoặc thậm chí là một grep. Ví dụ:

apt-cache search firefox | grep plugin

3

Giả sử bạn muốn thực hiện tất cả những điều này từ thiết bị đầu cuối, hãy sử dụng như sau:

Trước tiên tôi khuyên bạn nên cập nhật các tệp chỉ mục gói để danh sách tất cả các tệp trong kho lưu trữ bạn sắp tạo được cập nhật

sudo apt-get update

sau đó sử dụng hàm "regex tìm kiếm " trong apt-cacheđó "regex" là viết tắt của Biểu thức chính quy và là mẫu được đưa ra để tìm kiếm. Để biết thêm thông tin về các mẫu tìm kiếm, bạn có thể tra cứu regex thủ công (7) bằng lệnh man 7 regexhoặc bằng tiếng Anh . Một biến regex bằng . sẽ đủ.

apt-cache search .

Ở trên sẽ cung cấp cho bạn TẤT CẢ các kết quả nhưng nó không theo thứ tự nào đặc biệt hữu ích cho việc duyệt web.

Vì vậy, cuối cùng chúng ta có thể sắp xếp theo thứ tự từ điển bằng cách sử dụng sort -dvà chỉ hiển thị một trang tại một thời điểm sử dụng less.

apt-cache search . |sort -d |less
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.