ฉันจะค้นหา build dependencies ของแพ็คเกจได้อย่างไร?


48

ฉันต้องการค้นหาแพ็คเกจไหน

sudo apt-get build-dep <package>

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


1
ฉันสับสนไม่sudo apt-get build-dep <package>แสดงรายการแพคเกจ (ถ้าแพ็กเกจมีการอ้างอิง build) มันจะติดตั้งหรือไม่
อิสยาห์

1
น่าเสียดายที่แสดงเฉพาะแพ็คเกจที่ไม่ได้ติดตั้ง
htorque

คำตอบ:


45

สำหรับรายการการพึ่งพาทั้งหมดรวมถึงการขึ้นต่อกันของการพึ่งพาคุณสามารถใช้:

apt-rdepends --build-depends openoffice.org

คำสั่งอาจเตือนให้คุณติดตั้งapt-rdependsก่อน

คุณสามารถใช้คำสั่งต่อไปนี้เพื่อแสดงเฉพาะคำสั่งที่ไม่ได้ติดตั้ง:

apt-rdepends --build-depends --print-state openoffice.org | grep NotInstalled

ดูapt-rdepends --helpตัวเลือกทั้งหมด

หมายเหตุ : นี่จะสร้างรายการจำนวนมาก
apt-rdepends -b xtermตัวอย่างเช่นสร้างเอาต์พุต 8773 บรรทัดและใช้เวลาพอสมควร

หากคุณต้องการเห็นแพ็คเกจที่จำเป็นในการสร้างแพ็คเกจสูงสุดเช่นฉันต้องติดตั้งอะไรเพื่อ build nautilus ให้รัน:

apt-rdepends --build-depends --follow=DEPENDS nautilus

นี่เทียบเท่ากับคำตอบของ Carsten Thiel ( The following NEW packages will be installed) แต่รูปแบบผลลัพธ์เป็นบิตที่ดีกว่า นอกจากนี้ยังแสดงเฉพาะแพ็คเกจสูงสุดในขณะที่ apt-get จำลองแสดงแพ็กเกจที่ติดตั้งเป็นการอ้างอิงของแพ็คเกจเหล่านั้น

สิ่งนี้ยังแสดงแพ็คเกจที่ติดตั้ง แต่มันอาจแสดงแพ็คเกจที่ติดตั้งตามค่าเริ่มต้น น่าเสียดายที่วิธีการทั้งสองวิธีไม่ได้ช่วยอะไรคุณมากนักเมื่อคุณพยายามทำความสะอาดระบบของคุณหลังจากรัน apt-get build-dep /var/log/apt/history.logเท่าที่ผมรู้ว่ามีไม่ได้เป็นวิธีการที่เชื่อถือของการค้นพบว่าคนที่มีการติดตั้งยกเว้นจากการดูที่แฟ้มบันทึกที่ฉลาด


1
ขอบคุณเวอร์ชันที่--follow=DEPENDSเป็นสิ่งที่ฉันกำลังมองหา คุณยังสามารถค้นหาสิ่งที่ต้องพึ่งพาต่อการสร้างบน Launchpad เช่น สำหรับ Nautilus: launchpad.net/ubuntu/natty/+source/nautilus (เลื่อนลง)
htorque

18

ตัวเลือก-s( --simulate) จะส่งออกทุกอย่างที่จะทำได้โดยไม่ต้องทำอะไร คุณไม่จำเป็นต้องมีสิทธิ์ใช้งานรูท

apt-get -s build-dep <package>

5
ดูความคิดเห็นของฉันด้านบน - สิ่งนี้จะไม่แสดงแพคเกจที่ติดตั้งแล้ว ขออภัยที่ไม่แม่นยำในคำถามของฉัน
htorque

ใช้งานไม่ได้ - ล้มเหลวด้วยE: Unable to find a source package for inkscape
Anatoly techtonik

16
apt-cache showsrc <pkgname> | grep ^Build-Depends

showsrcแสดงไฟล์ debian / control สำหรับแพ็กเกจซอร์สที่กำหนด จากนั้นเรา grep สำหรับบรรทัดที่เริ่มต้นด้วย 'Build-Depends' ซึ่งมีรายการแพคเกจที่จำเป็นในการสร้างจากแหล่งที่มา


+1 ถ้าคุณอธิบายสิ่งที่apt-cache showsrcและสิ่งที่| grepไม่ ยังเป็นคำตอบที่ดี ขอบคุณที่สละเวลาให้
MadMike

sudo apt-cache showsrc inkscapeไม่ทำงานinkscapeใน Ubuntu 18.10 - ให้W: Unable to locate package inkscape N: No packages found
Anatoly techtonik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.