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


401

ฉันต้องการทราบว่าฉันจะหาแอปพลิเคชั่นที่ติดตั้งของฉันได้ที่ไหนเมื่อฉันติดตั้งบน Ubuntu โดยใช้ตัวจัดการแพ็คเกจ

ฉันติดตั้ง RabbitMQ และรันlocate rabbitmqซึ่งให้ผลลัพธ์ต่อไปนี้:

/home/anupamg/.m2/repository/com/rabbitmq
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/_maven.repositories
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar.lastUpdated
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar.sha1
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom.lastUpdated
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom.sha1
/home/anupamg/Downloads/rabbitmq-server-generic-unix-2.4.0.tar.gz

แอปพลิเคชันอะไร บางคนสามารถเข้าถึงได้ผ่าน commandline และอื่น ๆ จะได้รับไอคอนสวยในเมนูแอปพลิเคชัน เฉพาะเจาะจงมากขึ้น.
Ragnar123

คุณต้องการที่จะรู้ว่าไฟล์ปฏิบัติการและไฟล์กำหนดค่าอยู่ที่ไหนหรือคุณต้องการใช้งานและไม่ทราบว่าจะทำอย่างไร?

ตกลง!!! จริง ๆ แล้วฉันต้องการทราบว่าใน windows ถ้าฉันติดตั้งแอปพลิเคชันฉันสามารถดูได้ในไฟล์โปรแกรมใน Ubuntu ที่จะค้นหาแอพพลิเคชั่นที่ติดตั้ง ... ฉันเพิ่งติดตั้ง RabbitMq และต้องการที่จะรู้ว่ามันอยู่ที่ไหน ไฟล์. sh

@ das_weezul: - ใช่ฉันต้องการที่จะรู้ว่าทุกสิ่งที่ทำกับกล่องของฉันเมื่อฉันคลิกติดตั้งจากผู้จัดการแพคเกจ synaptic ... ฉันเป็นมือใหม่ในอูบุนตู ... ดังนั้นการเชื่อมโยงใด ๆ ยินดี

1
หนึ่งในคำตอบแนะนำต่อไปนี้dpkg-query -c <package_name.deb>คุณไม่สามารถทำได้กับไฟล์ deb ฉันสงสัยว่าโปสเตอร์จะหมายถึงการใช้งานdpkg-debเหมือนกันparams dpkg-deb -c <filename.deb>ซึ่งจะแสดงรายการไฟล์ตามที่คาดไว้
gazhay

คำตอบ:


600

ในการดูไฟล์ทั้งหมดที่ติดตั้งบนระบบของคุณให้ทำดังนี้

dpkg-query -L <package_name>

หากต้องการดูไฟล์ไฟล์. deb จะติดตั้ง

dpkg-deb -c <package_name.deb>

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

sudo apt-get install apt-file
sudo apt-file update

แล้วก็

apt-file list <package_name>

ดูคำถามนี้เพิ่มเติม


2
ตามที่ gazhay แสดงความคิดเห็นข้างต้นdpkg-query -c foo.debล้มเหลว แต่dpkg-deb -c foo.debใช้ได้ผล
Camille Goudeseune

4
การอัปเดตapt-fileเป็นเรื่องเจ็บปวด
sjsam

1
โปรดทราบว่าไม่ได้ใช้เวลาลงไปในแฟ้มบัญชีที่อาจได้รับการยกเว้นด้วยdpkg -L --path-exclude=มันจะแสดงรายการแม้ว่าจะไม่ได้ติดตั้ง
Steve

24

@drysdam dpkg -L <package_name>อาจจะดีที่สุดสำหรับปัญหาที่เกิดขึ้นทันที แต่คุณอาจต้องการอ่านFilesystem Hierarchy Standardซึ่งอธิบายว่าไฟล์ประเภทต่าง ๆ อยู่ในระบบไฟล์ได้อย่างไร

มันไม่ชัดเจน มันเป็นเพียงบัญชีที่สื่อความหมายถึงสิ่งที่ "ส่วนใหญ่" เป็น

เฉพาะเจาะจงกับ Ubuntu มากขึ้นคือUbuntu Server Guideซึ่งจะอธิบายทุกอย่างอย่างละเอียด (คำแนะนำอื่น ๆ มากมายทำให้มีเงามากกว่ารายละเอียดมากเกินไป แต่ควรจะดีกว่า)


13

หากคุณต้องการแพ็คเกจที่ติดตั้งเพียงชุดเดียวคุณสามารถค้นหาชื่อแพ็คเกจได้

$ apt-cache search rabbitmq
...
librabbitmq-dev
...

จากนั้นใช้ dpkg --listfiles

$ dpkg --listfiles librabbitmq-dev
/usr/lib/x86-64/librabbit... 
. . . 

อาจขึ้นอยู่กับรุ่น แต่ฉันต้องใช้dpkg -L <package>
JimB

dpkg -Lใช้ได้กับแพ็คเกจที่ติดตั้งเท่านั้น
kenorb

11

คำตอบที่ได้รับจาก @Gilles นั้นมีประโยชน์มาก (จริงๆแล้วคำตอบนั้นได้รับการปรับปรุงเมื่อเวลาผ่านไป )

นอกจากนี้ฉันมีเคล็ดลับสำหรับคนที่ไม่ต้องการติดตั้งแพ็คเกจเสริม (เช่นapt-file):

  • ไปที่http://packages.ubuntu.com/ ;
  • ไปที่เซสชันไดเรกทอรีแพ็คเกจค้นหา
  • ใส่ชื่อแพ็คเกจของคุณในฟิลด์คำหลักและเลือกแสดงเฉพาะรายการที่ตรงกันเท่านั้น
  • เลือกการกระจายของคุณและคลิกที่ปุ่มค้นหา
  • เลือกแพ็คเกจที่ต้องการในหน้าจอถัดไป
  • ในตอนท้ายของหน้าคลิกในลิงค์รายการไฟล์ถัดจากชื่อสถาปัตยกรรมของคุณ
  • หน้าถัดไปจะแสดงรายการไฟล์ของแพ็คเกจของคุณ

ตัวอย่างเช่น: http://packages.ubuntu.com/trusty/amd64/multipath-tools/filelist


1
curl -s https://packages.ubuntu.com/$(lsb_release -cs)/$(dpkg --print-architecture)/<<PACKAGE NAME>>/filelist | sed '1,/pfilelist/d;/<\/div>/,$d' :-)
Nicolas Melay

0

ต่อไปนี้เป็นวิธีหนึ่งสำหรับแพ็คเกจที่คุณยังไม่ได้ติดตั้ง เพียงแค่เปลี่ยน "autoconf" ด้านล่างสำหรับแพ็คเกจที่คุณต้องการรับรายชื่อไฟล์สำหรับ:

mkdir tmp
cd tmp
apt-get download autoconf
ar x *.deb
tar tf data.*
cd ..
rm -r tmp

0

ใช้synaptic-package-manager:

ป้อนคำอธิบายรูปภาพที่นี่

สมมติว่าเราต้องการค้นหาไฟล์ของแพ็คเกจ autotools-dev ภายใต้ 'ตัวกรองด่วน' ให้ป้อน autotools-dev เพื่อค้นหา แพ็คเกจ autotools-dev จะปรากฏขึ้นโดยอัตโนมัติ เลือกโดยคลิกที่มันแล้วกด 'คุณสมบัติ' ในช่องโต้ตอบที่ปรากฏขึ้นให้เลือกแท็บ 'ไฟล์ที่ติดตั้ง'

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