ใน Arch Linux ฉันจะหาแพ็คเกจที่จะติดตั้งซึ่งจะมีไฟล์ X ได้อย่างไร


92

ฉันกำลังมองหาแพคเกจที่มีไบนารีเฉพาะดังนั้นฉันสามารถติดตั้งได้ ฉันจะค้นหาเพื่อค้นหาว่าแพ็คเกจใดมีไบนารีนี้ (หมายเหตุ: ฉันรู้ว่ามีอย่างน้อยหนึ่งเครื่องมือที่ทำสิ่งนี้ แต่ฉันลืมชื่อ)


นอกจากนี้ไบนารีที่ฉันกำลังมองหาคือ/usr/sbin/ipsetถ้ามีคนต้องการให้ทิปฉันในสิ่งที่แพคเกจให้มันแม้ว่าพวกเขาไม่ทราบคำตอบของคำถาม
xenoterracide

คำตอบของ Gilles เป็นคำตอบที่ถูกต้อง เกี่ยวกับ ipset ฉันพบได้เฉพาะใน AUR aur.archlinux.org/packages.php?ID=16553
jasonwryan

คำตอบ:


118

ตั้งแต่ pacman 5.0 มีฟังก์ชันการทำงานในตัวสำหรับค้นหาฐานข้อมูลด้วย-Fตัวเลือก อัปเดตฐานข้อมูลครั้งแรก:

sudo pacman -Fy

จากนั้นคุณสามารถดูที่แพคเกจประกอบด้วย$filenameด้วย

pacman -Fs $filename

หรือ

pacman -Fos $path

เพื่อค้นหาเส้นทางที่สมบูรณ์

เมื่อคุณรู้ว่าคุณกำลังมองหาเทียบเท่าของapt-fileคุณอาจจะมองว่ามันขึ้นมาในPacman Rosetta

หรือคุณสามารถใช้pkgfile ติดตั้งด้วยpacman -S pkgfileแล้วเรียกใช้

sudo pkgfile -u

เพื่ออัพเดทฐานข้อมูล หากต้องการดูแพ็คเกจที่มี$filenameให้เรียกใช้

pkgfile $filename

1
ขอบคุณสำหรับหิน Rosetta! ฉันจะใช้สิ่งนี้สำหรับ distros รอบต่อนาทีเช่นเดียวกับ Pacman
jpaugh

3
มันเป็นที่น่าสังเกตว่าpacman -Fsการค้นหาโดย basename pacman -Fosถ้าคุณต้องการค้นหาการใช้เส้นทางแบบเต็ม ตัวอย่าง: pacman -Fs /usr/bin/mount.cifsส่งกลับไม่มีอะไรที่เป็นpacman -Fs mount.cifsอย่างถูกต้องส่งกลับ CIFS-utils เช่นpacman -Fos /usr/bin/mount.cifs
Dev

27

วิธีของ Google:

site:www.archlinux.org/packages/ bin/filename

และในกรณีที่อยู่ใน AUR แทนที่จะเป็นแพ็คเกจอย่างเป็นทางการ:

site:aur.archlinux.org/packages/ bin/filename

ไม่เลวเลย
ychaouche

เคล็ดลับที่ดีดูเหมือนว่าจะให้ผลลัพธ์ที่ดี ฉันสร้าง "เครื่องมือค้นหา" ใน Chrome ด้วย URL https://www.google.com/search?q=site%3Awww.archlinux.org%2Fpackages%2F+%sนี้:
Borek Bernard

22

จากArchWiki :

$ pacman -Qo df

สิ่งนี้จะให้ผลตอบแทนแพ็คเกจการเป็นเจ้าของของโปรแกรมdf(ณ เวลาที่เขียนนี่คือcoreutils)

-Qo ทำงานบนแพ็คเกจที่ติดตั้งและโปรแกรมของพวกเขาเท่านั้น

คุณสามารถที่จะเห็นการขัดแย้งมากขึ้นในการสอบถามฐานข้อมูลแพคเกจ


4
สิ่งนี้บอกเพียงว่าคุณเป็นเจ้าของไฟล์อะไรแพคเกจจะไม่บอกคุณว่าคุณต้องติดตั้งอะไรเพื่อรับมัน
David C. Bishop

@ DavidC.Bishop นั่นมันไม่เหมือนกันเหรอ?
Victor

6
@Victor ไม่ต้องติดตั้งแพ็กเกจในระบบอยู่แล้วเพื่อสอบถาม
David C. Bishop

@ DavidC.Bishop อาฉันเห็นคุณหมายถึง "สิ่งที่ติดตั้งแพคเกจเป็นเจ้าของหมัด" ขอบคุณ!
Victor

1
โปรดแก้ไขโพสต์ของคุณเพื่อสะท้อนสิ่งที่กล่าวถึงในความคิดเห็น
Pompei2
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.