apt-cache search kullanarak


11

Uygun kullanmayı öğreniyorum. Bir ne zaman apt-cache search git budala eşleşen tüm paketleri görmek için, ben açıklamaları git ile ilgisi olmayan paketlerin ardına sıralanmış. Neden böyle ve nasıl düzeltebilirim? (Ubuntu 12.04.2 LTS).

Ayrıca, arama işlevi neden adında "önbellek" bulunan bir komutta bulunur? Arama işlevinin önbelleklerle ne ilgisi var?

Teşekkürler.

Yanıtlar:


13

Yalnızca ada göre arama yapmak istiyorsanız, --names-onlybağımsız değişkeni kullanın . Daha fazla bilgi için man apt-cache, yararlı olacağını okuyun .


6

Bir apt-cache search <package name>komut gerçekleştirdiğinizde , kullanılabilir paketler için yerel makinenizde depolanan bilgilere karşı bir sorgu gerçekleştirirsiniz. Bu "abone olunan" depolarınızın önbelleğidir. Yani, komut USC (Ubuntu Yazılım Merkezi) veya Synaptic'te ayarladığınız depolara karşı bir sorgu gerçekleştiriyor.

apt-cacheMan sayfasına göre /etc/apt/sources.list, sorgudan bilgi alınacak konumdur. Diğer paket bilgileri türleri için birkaç ek yer vardır. Daha man apt-cachefazla bilgi için bakınız.

Esasen, çalıştırma apt-cache search git, paket adında ve paket açıklamasında "git" dizisini içeren tüm kullanılabilir paket örneklerini döndürür.

Örneğin bu , açıklamasında "di git al" sözcüğü gibi içinde "git" sözcük dizisini içerebilecek herhangi bir paketin de sonuç olarak döndürüleceği anlamına gelir. Lütfen önceki cümledeki kalın harflere dikkat edin.

Yalnızca git - kaynak kontrol yöneticisi ile ilgilenen paketlerle ilgileniyorsanız, arama sonuçlarını daha kısıtlayıcı hale getirmek için sorgunuzu normal bir ifade ile sınırlandırmanız gerekir.

Örneğin:

sudo apt-cache search ^git$

paket adında yalnızca "git" ifadesini içeren sonuçları döndürür.

Örneğin:

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

Komuta: sudo apt-cache search ^git

"git" ifadesi ile başlayan paketler için sonuçlar döndürür:

Örneğin:

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)
...

Bununla birlikte, ilgilendiğiniz konuya daha açık olması için paket önbelleği sorgularınızı ayarlamanız gerekir. Bu yardımcı olur umarım.


" apt-cache search ^git$yalnızca paket adında" git "içeren sonuçları döndürür". Bunu anlamıyorum, çünkü, örneğin git-man(yayınladığınız ikinci çıktıdan) da içerir git. Düzeltme işareti ve $ sembollerinin ne anlama geldiğini açıklayabilir misiniz? Düzeltmenin "ile başlar" anlamına geldiğini biliyorum, ancak daha sonra bu, gönderdiğiniz ikinci çıktıyla (çıktısı ^git) çelişiyor , çünkü easygit= döndürüyor .
Alaa Ali

Oooh. ^Araçlar paketleri ve açıklamaları ile başlar git. Tamam, ikinci çıktı anlaşılıyor. Peki ne ^git$dönüyor? İle başlayan paketler gitve ...?
Alaa Ali

@Alaa Sorgunuza bağlantı olarak "^" ve "$" karakterlerini düşünün. apt-cache search ^git$özellikle git paketini döndürür. apt-cache search ^git"git" ifadesiyle başlayan ve daha az spesifik olan paketleri döndürür.
Kevin Bowen

Biri apt-cache search ^ git? `Sorgusunu çalıştırarak daha genel bir arama sonucu elde edebilir
Kevin Bowen

Daha renkli bir çıktı elde etmek için, komutunuzu geliştirebilirsinizapt-cache search ^git | grep --color git
georg

0

Bu, sorunuzun dolaylı bir yanıtıdır ancak paket yönetimi ile ilgili olduğu için hala bununla ilgilidir. Şahsen apt-get yerine yetenek kullanıyorum. yetenek olan sinaptik terminal eşdeğeri.

Aramak,

sudo aptitude search $keyword

Diğer komutlar

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

Yetenek yüklemek için,

sudo apt-get install aptitude

Çok kanallı sistemlerde yeteneklerin hala sorunlu olabileceğini aklınızda bulundurun; bu nedenle, sorgular / aramalar için kullanmak sorun değil, paketleri yüklemek / kaldırmak için kullanmayın.
guntbert

help.ubuntu.com/community/MultiArch yetenek multiarch endişeleri nasıl kullanılabileceğini açıklar
LLT

Bu sayfa sadece aptitude why- "sorgular için kullan" dediğim gibi - sayfa da oldukça eski (düzenlenmiş 2012-02-08) - bu yüzden uyarım hala duruyor.
guntbert

Anlıyorum. Ben yetenekli bir kullanıcıyım, bu yüzden çok amaçlı sistemde sorunlu olduğunu söyleyen bir makaleye yönlendirebilir misiniz? O zaman apt-get'e geri dönmem gerekebilir.
llt

bugs.launchpad.net/ubuntu/+source/aptitude/+bug/831768 , son zamanlarda düzeltilmiş gibi görünüyor. Hala temkinliyim. Debian, apt-
get'i

0

Apt-xapian-index'i kurun ve apt - cache yerine arama yaparken axi-cache aramasını kullanın. Çok daha iyi sonuçlar alacaksınız

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.