จะค้นหาแพ็คเกจที่คำสั่งบางอย่างเป็นของ CentOS ได้อย่างไร


19

ตัวอย่างเช่นฉันสามารถค้นหาคำสั่ง find เป็นของแพ็คเกจ mlocate.i386 ได้ง่าย

yum search locate
mlocate.i386 : An utility for finding files by name
[mirror@home /]$ rpm -qa | grep locate
mlocate-0.15-1.el5.1

yum search updatedb
Loaded plugins: fastestmirror, protectbase
0 packages excluded due to repository protections
=========================================== Matched: updatedb ===========================================
mlocate.i386 : An utility for finding files by name

แต่มันไม่ง่ายนักที่จะหาคำสั่ง package free ซึ่งเป็นของ:

yum search free   // this command just returns too much informationy 
rpm -qa | grep free
freetype-2.2.1-31.el5_8.1   // obviously not the package by which free command is installed

ดังนั้นจะมีวิธีใดที่เชื่อถือได้ที่จะรู้ว่าแพ็คเกจใดที่เป็นคำสั่งเฉพาะบน Linux? เช่น CentOS หรือดิสทริบิวชันอื่น ๆ

คำตอบ:



24

ตัวอย่างUbuntu / Debianเพื่อตรวจสอบแพ็คเกจของfreeคำสั่ง:

dpkg -S $(which free)

ใช้งานได้กับแพ็คเกจที่ติดตั้งเท่านั้น ฉันพบที่นี่สิ่งที่ใช้งานได้กับแพ็คเกจที่ไม่ได้ติดตั้ง$ dpkg -S */free$*
bobrobbob

@bobrobbob ฉันกลัวว่าไม่ถูกต้อง ฉันทดสอบด้วยdpkg -S */firefox$*ซึ่งให้ผลลัพธ์หลายรายการบนเซิร์ฟเวอร์ที่ติดตั้ง Firefox ไม่มีบนเซิร์ฟเวอร์ที่ไม่มี Firefox ฉันคิดว่ามันใช้งานไม่ได้เพราะdpkgเป็นคำสั่งที่ทำงานบนแพ็คเกจที่ติดตั้งในเครื่อง หากต้องการค้นหาแพ็คเกจที่ไม่ได้ติดตั้งคุณสามารถไปที่packages.ubuntu.com/…
Jeroen Vermeulen - MageHost

พุทโธ่. คุณพูดถูกขอโทษด้วย
bobrobbob

1
ถ้าคุณได้รับdpkg แบบสอบถาม: เส้นทางไม่พบรูปแบบการจับคู่ ลองนี้dpkg -S "$(readlink -fn "$(which free)")" :
Pablo A

7

สำหรับ CentOS แล้ว yum ให้บริการอย่างไร

ใช้

which free 

เพื่อค้นหาว่ามันอยู่ที่ไหน

สำหรับฉันมันอยู่ที่

/ usr / bin / ฟรี

ดังนั้นคุณสามารถเรียกใช้

yum provides /usr/bin/free

และมันจะบอกคุณว่ามีแพ็คเกจใดบ้าง


หากthe commandไม่มีการติดตั้งหรือให้บริการใน centos ของคุณคุณสามารถใช้yum provides <command>เพราะwhich <command>จะส่งคืนnot <command> in ...
Lane Ouyang

1

สำหรับการแจกแจงแบบหมวกสีแดงทั้งหมดคุณสามารถใช้ยูทิลิตีการจัดการแพ็คเกจ yum

yum provides `which free`

จัดให้มีการโต้แย้งระบุแพคเกจที่มีคุณสมบัติหรือไฟล์บางอย่าง

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