sử dụng tìm kiếm apt-cache


10

Tôi đang học cách sử dụng apt. Khi tôi làm một apt-cache search git để xem tất cả các gói khớp với git, tôi thấy một loạt các gói có mô tả không liên quan gì đến git. Tại sao điều này là như vậy và làm thế nào tôi có thể sửa chữa nó? (Ubuntu 12.04.2 LTS).

Ngoài ra, tại sao chức năng tìm kiếm được tìm thấy trong một lệnh có "bộ đệm" trong tên của nó? Chức năng tìm kiếm có liên quan gì đến cache?

Cảm ơn.

Câu trả lời:


12

Nếu bạn chỉ muốn tìm kiếm theo tên, sử dụng --names-onlyđối số. Để biết thêm thông tin, đọc man apt-cache, nó sẽ hữu ích.


6

Khi bạn thực hiện một apt-cache search <package name>lệnh, bạn đang thực hiện một truy vấn đối với thông tin được lưu trữ trên máy cục bộ của bạn cho các gói có sẵn. Đây là bộ đệm từ kho "đã đăng ký" của bạn. Đó là, lệnh đang thực hiện một truy vấn đối với các kho lưu trữ mà bạn đã thiết lập trong USC (Trung tâm phần mềm Ubuntu) hoặc Synaptic.

Theo apt-cachetrang man, /etc/apt/sources.listlà vị trí để lấy thông tin từ trong truy vấn. Có một vài vị trí bổ sung cho các loại thông tin gói khác. Xem man apt-cacheđể biết thêm chi tiết.

Về cơ bản, việc chạy apt-cache search gitsẽ trả về tất cả các phiên bản của các gói có sẵn chứa chuỗi từ "git" trong tên gói, cũng như trong mô tả gói.

Ví dụ, điều này có nghĩa là bất kỳ gói nào có thể chứa chuỗi từ "git" trong đó, như từ "di git al", trong mô tả của nó cũng sẽ được trả về. Xin lưu ý in đậm trong câu trước.

Nếu bạn chỉ quan tâm đến các gói đặc biệt quan tâm đến git - trình quản lý kiểm soát nguồn, bạn sẽ cần hạn chế truy vấn của mình bằng cách sử dụng biểu thức chính quy để làm cho kết quả tìm kiếm hạn chế hơn.

Ví dụ:

sudo apt-cache search ^git$

sẽ trả về kết quả rõ ràng chỉ chứa cụm từ "git" trong tên gói.

Ví dụ:

sudo apt-cache search ^git$
git - fast, scalable, distributed revision control system

Lệnh: sudo apt-cache search ^git

sẽ trả về kết quả cho các gói bắt đầu bằng cụm từ "git":

Ví dụ:

sudo apt-cache search ^git
git - fast, scalable, distributed revision control system
git-core - fast, scalable, distributed revision control system (obsolete)
git-doc - fast, scalable, distributed revision control system (documentation)
git-man - fast, scalable, distributed revision control system (manual pages)
gitk - fast, scalable, distributed revision control system (revision tree visualizer)
easygit - git for mere mortals
gforge-plugin-scmgit - Git plugin for FusionForge (transitional package)
git-all - fast, scalable, distributed revision control system (all subpackages)
git-annex - manage files with git, without checking their contents into git
git-arch - fast, scalable, distributed revision control system (arch interoperability)
...

Điều đó nói rằng, bạn sẽ cần điều chỉnh các truy vấn của bộ đệm gói để cụ thể hơn theo sở thích của bạn. Hi vọng điêu nay co ich.


" apt-cache search ^git$sẽ chỉ trả về kết quả có chứa" git "trong tên gói". Tôi không hiểu điều này, vì, ví dụ git-man(từ đầu ra thứ hai bạn đã đăng) cũng chứa git. Bạn có thể giải thích dấu mũ và ký hiệu $ có nghĩa là gì không? Tôi biết rằng dấu mũ có nghĩa là "bắt đầu bằng", nhưng sau đó điều này mâu thuẫn với đầu ra thứ hai mà bạn đã đăng (đầu ra của ^git), bởi vì nó trở lại easygit=).
Alaa Ali

Ôi. Các ^gói có nghĩa là và mô tả bắt đầu với git. Được rồi, đầu ra thứ hai được hiểu. Vì vậy, những gì ^git$trở lại? Các gói bắt đầu bằng gitvà ...?
Alaa Ali

@Alaa Hãy nghĩ về các ký tự "^" và "$" là điểm neo cho truy vấn của bạn. apt-cache search ^git$sẽ trả lại, cụ thể, gói git. apt-cache search ^gitsẽ trả về các gói bắt đầu bằng cụm từ "git" và sẽ ít cụ thể hơn.
Kevin Bowen

Người ta có thể có được kết quả tìm kiếm tổng quát hơn bằng cách chạy truy vấn tìm kiếm apt-cache ^ git? `
Kevin Bowen

Để có đầu ra nhiều màu sắc hơn, người ta có thể tăng cường lệnh của bạn vớiapt-cache search ^git | grep --color git
georg

0

Đây là một câu trả lời gián tiếp cho câu hỏi của bạn nhưng vẫn liên quan đến nó vì đó là về quản lý gói. Cá nhân tôi sử dụng năng khiếu thay vì apt-get. năng khiếu là khớp thần kinh tương đương với thiết bị đầu cuối.

Tìm kiếm,

sudo aptitude search $keyword

Các lệnh khác

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

Để cài đặt năng khiếu,

sudo apt-get install aptitude

Hãy nhớ rằng khả năng vẫn có thể có vấn đề trên các hệ thống multiarch - vì vậy bạn có thể sử dụng nó cho các truy vấn / tìm kiếm nhưng không phải để cài đặt / gỡ bỏ các gói.
guntbert

help.ubfox.com/community/MultiArch giải thích cách sử dụng năng khiếu cho các mối quan tâm của nhiều người
sẽ vào

Trang đó chỉ đề cập aptitude why- như tôi đã nói "sử dụng nó cho các truy vấn" - trang này cũng khá cũ (đã được chỉnh sửa 2012/02/08) - vì vậy cảnh báo của tôi vẫn đứng vững.
guntbert

Tôi hiểu rồi. Tôi là một người dùng có năng khiếu, vì vậy bạn có thể chỉ cho tôi một bài viết mà nó nói nó có vấn đề trên hệ thống multiarch không? Tôi có thể cần phải quay lại apt-get sau đó.
sẽ vào

bug.launchpad.net/ubfox/+source/aptitude/+orms/831768 , có vẻ như nó đã được sửa gần đây. Tôi vẫn cảnh giác. Debian khuyên dùng apt-get too (docs for
wheezy

0

Cài đặt apt-xapian-index và sử dụng tìm kiếm axi-cache khi tìm kiếm thay vì apt - cache. Bạn sẽ nhận được kết quả tốt hơn nhiều

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.