Cara mencari file dalam paket apk

13

Saya ingin tahu, diberi nama biner, paket mana yang harus saya instal di Alpine Linux.

Bagaimana saya bisa melakukan itu?

Antoine
sumber

Jawaban:

11

Pada dasarnya Anda memiliki tiga cara.

Pertama: Paket harus diinstal dan Anda harus menentukan path lengkap:

apk info --who-owns /path/to/the/file

Kedua: Gunakan situs web pkgs.alpinelinux.org

Ketiga: Gunakan API api.alpinelinux.org dengan memfilter output json. Untuk ini, Anda memerlukan parser json seperti jq:

apk add jq

kemudian gunakan API dengan instruksi yang disediakan di sini

.: Francesco

Francesco Colista
sumber
apk infotampaknya lebih dekat dpkg -S. Dalam kasus saya, saya mencoba menjawab pertanyaan "Paket apa yang menyediakan biner ini yang saya tahu nama", daripada dari mana file yang sudah ada ini berasal.
Att Righ
karena itu, apk info --who-owns /with/th/full/pathadalah alat jika Anda memiliki paket yang diinstal, jika tidak dari CLI tidak mungkin. Anda harus memeriksa situs web [pkgs.alpinelinux.org/contents] ( pkgs.alpinelinux.org/contents ). Anda menulis nama biner di sana, dan mengembalikan paket yang berisi biner itu.
Francesco Colista
Menggunakan apk info --who-owns, bagaimana Anda melakukannya jika Anda tidak tahu path lengkap file?
Elouan Keryell-Even
Tidak, Anda belum bisa ... maaf
Francesco Colista
2

Anda sedang mencari yang setara dengan Debian apt-fileuntuk Alpine. Mencari file apk yang dihasilkan .

Pada dasarnya apt-file tetapi untuk alpine.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Itu yang saya cari. Tampaknya file apk bukan paket alpine, Anda dapat menginstalnya go get github.com/jessfraz/apk-file(itu berjalan dengan senang hati pada sistem non alpine). Biner itu kemungkinan statis sehingga mungkin dapat disalin ke dalam wadah buruh pelabuhan dll.
Att Righ
1
apt-file pada dasarnya mem-parsing situs pkgs.alpinelinux.org ... jadi menggunakan decode JSON seperti yang saya tulis sebelumnya akan lebih baik, karena tidak perlu software kembung untuk mencapai tujuan yang sama.
Francesco Colista