Saya melihat bahwa dpkg memiliki bidang "Menyediakan" untuk paket.
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
Bagaimana saya tahu paket mana yang menyediakan "editor" yaitu?
sumber
Saya melihat bahwa dpkg memiliki bidang "Menyediakan" untuk paket.
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
Bagaimana saya tahu paket mana yang menyediakan "editor" yaitu?
Anda dapat mencapai efek yang diinginkan tanpa aptitude
(yang tampaknya tidak disarankan hari ini) dengan menggunakan apt-cache showpkg
, yang mencakup daftar Reverse Provides
. Memipipkannya melalui sed
skrip kecil akan menghilangkan hal-hal lain:
apt-cache showpkg <package> | sed '/Reverse Provides/,$!d'
Contoh yang sedikit lebih cantik (tetapi lebih lama untuk diketik) (hanya mencantumkan nama paket, bukan versi, dan mengurutkannya menurut abjad) dapat dicapai dengan awk
:
apt-cache showpkg httpd | awk '/Pa/, /Reverse P/ {next} {print $1 | "sort"}'
... dan ini dapat disalurkan melalui uniq
untuk menghapus duplikat (yang mungkin ada karena beberapa versi paket yang disediakan terbalik). Perhatikan bahwa penggunaan uniq
tidak akan membantu dengan versi pertama, karena uniq
hanya menghapus duplikat jika mereka berada di baris yang berdekatan dan sed
versi tidak mengurutkan output.
Akhirnya, seseorang dapat mendefinisikan suatu fungsi untuk penggunaan yang lebih mudah, sebagai berikut:
provides () { apt-cache showpkg $1 | awk '/Pa/, /Reverse P/ {next} {print $1 | "sort"}' | uniq;}
Tempelkan ini pada (misalnya) .bashrc
, sehingga itu akan memuat ketika shell melakukannya, dan menjadi mungkin untuk menjalankan provides <package>
untuk mendapatkan paket-balik yang disediakan.
sort -u
akan menghapus duplikat, sehingga panggilan keuniq
tidak diperlukan. Tapi apa pun, solusi yang bagus, ini jauh lebih cepat.aptitude
akan cocokdoom-wad-editor
juga, jadi mereka tidak sepenuhnya setara.sort -u
. Tidak tahu itu. Saya bertanya-tanya mengapa itu tidak mengambildoom-wad-editor
...? Itu sangat menarik karenaapt-cache showpkg
menunjukkan itu sebagai tidak tergantung sama sekali.aptitude
pencarian akan cocok dengan substring diProvides:
lapangan (sehingga mengambildeutex
), di manaapt-cache showpkg
metode ini menggunakan nama paket yang tepat. Keduanya, oleh karena itu, mungkin memiliki tempat mereka.<package>
ini adalah paket virtual di sini. Sepertieditor
,.Provides:
baris dalam repositori. Dengan cara yang sama sepertiapt-cache search
, kemudian, hasil yang benar ketika tidak ada adalah kurangnya output - yang disediakan oleh opsi-opsi ini. Mungkin ada versi konkret dan virtual dari paket yang sama, dan saya kira kita bisa meningkatkan ini untuk menunjukkan versi konkret di mana itu ada, tetapi hanya itu.Aptitude menyediakan fungsi ini juga. Jadi perintah seperti ini akan menampilkan semua paket yang menyediakan editor.
Anda bahkan dapat menambahkan kendala lain. Suka tunjukkan hanya editor yang diinstal.
sumber
sumber
Membaca database secara langsung:
Pemakaian:
sumber
berdasarkan contoh Anda. Saya dapat mendaftar paket yang disediakan
editor
dengan menggunakanapropos
sumber
apropos
cari melalui halaman manual, jadi ini hanya akan mencantumkan perintah yang diinstal ... Plus, OP ingin daftar paket .