menggunakan pencarian apt-cache

10

Saya belajar cara menggunakan apt. Ketika saya melakukan a apt-cache search git untuk melihat semua paket yang cocok dengan git, saya melihat banyak paket yang deskripsinya tidak ada hubungannya dengan git. Mengapa begitu dan bagaimana saya bisa memperbaikinya? (Ubuntu 12.04.2 LTS).

Juga, mengapa fungsi pencarian ditemukan dalam perintah yang memiliki "cache" dalam namanya? Apa hubungan fungsi pencarian dengan cache?

Terima kasih.

Jason Posit
sumber

Jawaban:

12

Jika Anda hanya ingin mencari berdasarkan nama, gunakan --names-onlyargumen. Untuk informasi lebih lanjut, baca man apt-cache, ini akan berguna.

ssoto
sumber
6

Saat Anda melakukan apt-cache search <package name>perintah, Anda melakukan kueri terhadap informasi yang tersimpan di mesin lokal Anda untuk paket yang tersedia. Ini adalah cache dari repositori "langganan" Anda. Artinya, perintah tersebut melakukan kueri terhadap repositori yang telah Anda atur di USC (Ubuntu Software Center) atau Synaptic.

Menurut apt-cachehalaman manual, /etc/apt/sources.listadalah lokasi untuk mengambil informasi dari dalam kueri. Ada beberapa lokasi tambahan untuk jenis informasi paket lainnya. Lihat man apt-cacheuntuk lebih jelasnya.

Pada dasarnya, menjalankan apt-cache search gitakan mengembalikan semua instance dari paket yang tersedia yang berisi urutan kata "git" dalam nama paket, serta dalam deskripsi paket.

Misalnya, ini berarti bahwa setiap paket yang mungkin berisi urutan kata "git" di dalamnya, seperti kata "di git al", dalam uraiannya juga akan dikembalikan sebagai hasilnya. Harap perhatikan huruf tebal dalam kalimat sebelumnya.

Jika Anda hanya tertarik pada paket-paket yang secara khusus berkaitan dengan git - manajer kontrol sumber, Anda perlu membatasi kueri Anda untuk menggunakan ekspresi reguler untuk membuat hasil pencarian lebih ketat.

Sebagai contoh:

sudo apt-cache search ^git$

akan mengembalikan hasil yang secara eksplisit hanya berisi frasa "git" dalam nama paket.

Sebagai contoh:

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

Perintah: sudo apt-cache search ^git

akan mengembalikan hasil untuk paket yang dimulai dengan frasa "git":

Sebagai contoh:

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

Karena itu, Anda perlu menyesuaikan kueri cache paket Anda agar lebih spesifik dengan minat Anda. Semoga ini membantu.

Kevin Bowen
sumber
" apt-cache search ^git$hanya akan mengembalikan hasil yang mengandung" git "dalam nama paket". Saya tidak mengerti ini, karena, misalnya git-man(dari output kedua yang Anda posting) juga mengandung git. Bisakah Anda jelaskan apa arti tanda sisipan dan simbol $? Saya tahu bahwa tanda sisipan berarti "dimulai dengan", tetapi kemudian ini bertentangan dengan output kedua yang Anda posting (output dari ^git), karena itu mengembalikan easygit=).
Alaa Ali
Oooh. Paket ^sarana dan deskripsi yang dimulai dengan git. Oke, output kedua dipahami. Jadi apa yang ^git$kembali? Paket yang dimulai dengan gitdan ...?
Alaa Ali
@Alaa Pikirkan karakter "^" dan "$" sebagai jangkar untuk permintaan Anda. apt-cache search ^git$akan kembali, khususnya, paket git. apt-cache search ^gitakan mengembalikan paket yang dimulai dengan frasa "git" dan kurang spesifik.
Kevin Bowen
Orang bisa mendapatkan hasil pencarian yang lebih umum dengan menjalankan kueri apt-cache search ^ git? `
Kevin Bowen
Untuk mendapatkan hasil yang lebih berwarna, Anda dapat meningkatkan perintah Anda denganapt-cache search ^git | grep --color git
georg
0

Ini adalah jawaban tidak langsung untuk pertanyaan Anda tetapi masih terkait karena itu tentang manajemen paket. Saya pribadi menggunakan aptitude daripada apt-get. aptitude adalah ekuivalen sinaptik dengan terminal.

Untuk mencari,

sudo aptitude search $keyword

Perintah lainnya

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

Untuk menginstal aptitude,

sudo apt-get install aptitude
llt
sumber
Perlu diingat bahwa aptitude mungkin masih bermasalah pada sistem multiarch - jadi tidak masalah untuk menggunakannya untuk permintaan / pencarian tetapi tidak demikian untuk menginstal / menghapus paket.
guntbert
help.ubuntu.com/community/MultiArch menjelaskan bagaimana aptitude dapat digunakan untuk masalah multiarch
llt
Halaman itu hanya menyebutkan aptitude why- seperti yang saya katakan "gunakan untuk pertanyaan" - halamannya juga agak lama (diedit 2012-02-08) - jadi peringatan saya masih berlaku.
guntbert
Saya melihat. Saya pengguna yang mahir jadi bisakah Anda mengarahkan saya ke artikel yang katanya bermasalah pada sistem multiarch? Saya mungkin perlu beralih kembali ke apt-get.
llt
bugs.launchpad.net/ubuntu/+source/aptitude/+bug/831768 , tampaknya telah diperbaiki baru-baru ini. Saya masih waspada. Debian merekomendasikan apt-get too (docs for
wheezy
0

Instal apt-xapian-index dan gunakan pencarian axi-cache saat mencari alih-alih apt-cache. Anda akan mendapatkan hasil yang lebih baik

zonline
sumber