รายชื่อไฟล์ที่ติดตั้งจากแพ็คเกจ apt


36

ฉันจะรับรายการไฟล์ที่ติดตั้งหรือจะติดตั้งได้เมื่อฉันได้รับแพ็คเกจหรือไม่ ในทางกลับกันฉันสามารถค้นหาแพ็คเกจที่ทำให้ไฟล์บางไฟล์ติดตั้งได้หรือไม่


คำตอบ:


61

หมายเหตุ:ในคำสั่งต่อไปนี้คำสั่งที่ขึ้นต้นด้วย 'root #' หมายความว่าต้องรันเป็น root

ในการค้นหาไฟล์ที่ติดตั้งโดยแพ็คเกจให้ใช้dpkg -L:

$ dpkg -L $package

apt-file สามารถบอกคุณได้ว่าไฟล์ใดที่จะถูกติดตั้งโดยแพ็คเกจก่อนทำการติดตั้ง:

root# apt-get install apt-file
root# apt-file update
$ apt-file list $package

หรือถ้าคุณมีแพ็กเกจเป็น.debไฟล์ในเครื่องอยู่แล้วคุณสามารถรันdpkgมันได้:

$ dpkg --contents $package.deb

ในการค้นหาแพ็คเกจที่ให้ไฟล์ที่มีอยู่ในระบบของคุณแล้วให้ใช้:

$ dpkg -S /path/to/file

ในการค้นหาแพ็คเกจที่ให้ไฟล์ที่ไม่ได้อยู่ในระบบของคุณให้ใช้apt-fileอีกครั้ง:

$ apt-file search /path/to/file

4
โปรดทราบว่าในขณะที่สิ่งนี้จะทำให้คุณได้รับประโยชน์สูงสุดจากสิ่งที่คุณต้องการจะไม่ให้ทุกสิ่งกับคุณ แพ็คเกจจำนวนมากสร้างไฟล์กำหนดค่าซึ่งเป็นส่วนหนึ่งของสคริปต์การตั้งค่า ไฟล์เหล่านี้จะไม่ถูกรายงานโดย dpkg
Zoredache

$ dpkg -L packageการไม่$ dpkg -L $packageใส่ $ ด้านหน้าชื่อแพ็กเกจส่งคืนข้อผิดพลาด
Alecz

1
เงินดอลลาร์นั้นจะถูกเข้าใจว่าเป็นตัวแปรซึ่งหมายความว่าคุณต้องแทนที่$packageด้วยชื่อจริงของแพ็คเกจ
inkaphink

1
conffiles ของแพคเกจ (ถ้ามี) dpkg --status $packageจะปรากฏตามคำสั่ง grep $filename /var/lib/dpkg/info/*.conffilesสำหรับการใช้งานการดำเนินงานย้อนกลับ
Uwe Geuder

4
dpkg -S /path/to/file/in/question

เท่าที่ฉันกังวล dpkg เป็นเครื่องมือระดับต่ำที่ฉลาดรับขึ้นอยู่กับ


ใช่ dpkg เป็นคำสั่งที่เพิ่มและลบซอฟต์แวร์และไฟล์ออกจากคอมพิวเตอร์ของคุณ apt (รวมถึง apt-get, aptitude, synaptic และอื่น ๆ ) เป็นโปรแกรมที่เรียก dpkg
Rory

1

หากคุณติดตั้งdlocateคุณสามารถใช้วิธีเดียวกับdlocate -L dpkg -Lมันทำงานเหมือนกันทุกประการในกรณีนี้ แต่มีตัวเลือกอื่นจำนวนมาก

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