ในระบบ Debian (และอนุพันธ์):
$ dpkg --search /bin/ls
coreutils: /bin/ls
นั่นคือไฟล์/bin/ls
เป็นแพคเกจ Debian coreutils
ชื่อ
แต่จะทำงานได้ก็ต่อเมื่อมีการติดตั้งแพ็คเกจ เกิดอะไรขึ้นถ้ามันไม่ได้?
ในระบบ Debian (และอนุพันธ์):
$ dpkg --search /bin/ls
coreutils: /bin/ls
นั่นคือไฟล์/bin/ls
เป็นแพคเกจ Debian coreutils
ชื่อ
แต่จะทำงานได้ก็ต่อเมื่อมีการติดตั้งแพ็คเกจ เกิดอะไรขึ้นถ้ามันไม่ได้?
คำตอบ:
apt-ไฟล์
apt-file
มีคุณสมบัติในการค้นหาแพคเกจที่มีไบนารี (เช่นDebianหรือUbuntu ) ซึ่งไม่ได้ติดตั้งเป็นค่าเริ่มต้น แต่อยู่ในที่เก็บ
apt-file search <path-to-file>
คุณอาจต้องการอัปเดตหนึ่งครั้งก่อนค้นหา ...
apt-file update
ตัวอย่างเช่นลองค้นหาไบนารีที่ไม่ได้ติดตั้งmysqldump
:
$ apt-file search /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldumpslow
mysql-cluster-client-5.1: /usr/bin/mysqldump
mysql-cluster-client-5.1: /usr/bin/mysqldumpslow
เป็นไปได้ที่จะแสดงรายการเนื้อหาของแพ็คเกจ (ไม่ได้ติดตั้ง):
$ apt-file list mysql-client-5.1
mysql-client-5.1: /usr/bin/innochecksum
mysql-client-5.1: /usr/bin/innotop
mysql-client-5.1: /usr/bin/myisam_ftdump
mysql-client-5.1: /usr/bin/mysql_client_test
...
yum
yum
ยอมรับคำสั่งwhatprovides
(หรือprovides
) เพื่อค้นหาไบนารีที่ติดตั้งหรือไม่ได้ติดตั้ง:
yum whatprovides <path-to-file>
อีกครั้งไม่ได้ติดตั้งmysqldump
:
$ yum whatprovides /usr/bin/mysqldump
mysql-5.1.51-2.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
mysql-5.1.51-1.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
zypper
zypper
's search
คำสั่งสามารถตรวจสอบรายชื่อไฟล์เมื่อใช้ร่วมกับ-f
ตัวเลือก
zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+------+-------------------+--------
| mksh | MirBSD Korn Shell | package
Webpin นำเสนอโซลูชัน webbased มีแม้แต่สคริปต์สำหรับบรรทัดคำสั่ง
pkgfile
พร้อมใช้งานpkgtools
สำหรับpacman
ระบบพื้นฐาน แสดงคุณลักษณะการค้นหาที่คล้ายกันเหมือนกับที่อยู่ด้านบน:
$ pkgfile -si /usr/bin/mysqldump
Name : mysql-clients
Version : 5.1.54-1
Url : http://www.mysql.com/
License : GPL
Depends : libmysqlclient
...
เครื่องมือมาตรฐานสำหรับเรื่องนี้คือapt-ไฟล์ รันapt-file update
เพื่อดาวน์โหลดไฟล์ดัชนี นี่คือผลลัพธ์:
Downloading complete file ftp://ftp.is.co.za/debian/dists/squeeze/Contents-i386.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.6M 100 16.6M 0 0 33191 0 0:08:47 0:08:47 --:--:-- 38951
apt-file search search_term
หลังจากที่ทำงาน
หากคุณไม่สามารถเข้าถึงเครื่องหรือไม่สามารถใช้คำสั่งที่ให้ไว้ในคำตอบก่อนหน้านี้คุณสามารถค้นหาสิ่งนี้ได้โดยใช้เครื่องมือค้นหาบนเว็บแพ็คเกจ Debian (รูปแบบที่สอง " ค้นหาเนื้อหาของแพ็คเกจ " )
apt-file search protoc
ตัวอย่างเช่นให้ผลลัพธ์มากกว่าหกพันรายการ แต่จบผลในชื่อไฟล์จึงมี grepapt-file search protoc | grep 'protoc$'
คุณจริงสามารถค้นหาชื่อไฟล์ที่คุณกำลังมองหา: มันใช้งานได้เพราะกรองสิ่งที่ลงท้ายด้วย "protoc" แน่นอนคุณควรแทนที่ "protoc" ด้วยสิ่งที่คุณกำลังค้นหา