มีวิธีที่ดีกว่าในการติดตั้งเฉพาะการพึ่งพาที่จำเป็นของแพคเกจแทนที่จะติดตั้งโดยตรงกับ apt-get (หรือส่วนหน้าของ dpkg อื่น ๆ ) จากนั้นนำออกทันทีโดยไม่ต้องพึ่งพามันหรือไม่
มีวิธีที่ดีกว่าในการติดตั้งเฉพาะการพึ่งพาที่จำเป็นของแพคเกจแทนที่จะติดตั้งโดยตรงกับ apt-get (หรือส่วนหน้าของ dpkg อื่น ๆ ) จากนั้นนำออกทันทีโดยไม่ต้องพึ่งพามันหรือไม่
คำตอบ:
apt-cache depends pkgname
จะแสดงการพึ่งพาของแพ็คเกจ
หากคุณต้องการทุกอย่างในคำสั่งเดียวคุณสามารถทำได้แย่กว่า:
apt-get install `apt-cache depends pkgname | awk '/Depends:/{print$2}'`
apt-get มีคำสั่งสำหรับ ...
apt-get build-dep <package name>
จากหน้าคนที่คุณได้รับ
build-dep ทำให้ apt-get เพื่อติดตั้ง / ลบแพ็กเกจในความพยายามที่จะสร้างการอ้างอิง build สำหรับแพ็กเกจซอร์ส โดยค่าเริ่มต้นการพึ่งพามีความพึงพอใจในการสร้างแพคเกจโดยกำเนิด หากต้องการสถาปัตยกรรมโฮสต์สามารถระบุได้ด้วยตัวเลือก - โฮสต์สถาปัตยกรรม
ความถนัดจะช่วยให้คุณระบุแบบสอบถามแทนชื่อแพ็คเกจเมื่อติดตั้ง หากคุณต้องการติดตั้งการขึ้นต่อกันของแพ็คเกจที่มีชื่อfoo
คุณสามารถติดตั้งแพ็กเกจที่มีการพึ่งพาย้อนกลับได้ในfoo
:
aptitude install '?reverse-depends(foo)'
หรือ
aptitude install '~Rfoo'
ปัญหาเกี่ยวกับการติดตั้งแพคเกจแล้วลบมันคือทั้งหมดของแพคเกจที่ได้รับการติดตั้งเป็นอ้างอิงจะถูกระบุว่าเป็น "ติดตั้งโดยอัตโนมัติ" และจะถูกลบออกจากการกระทำใด ๆ ที่ติดตั้ง / ลบ / อัพเกรดโดยความถนัดหรือเมื่อคุณเรียกapt-get autoclean
เว้นแต่คุณ ทำเครื่องหมายว่าติดตั้งด้วยตนเองโดยใช้aptitude mark
หรือapt-mark
คำสั่ง
อย่างไรก็ตามสิ่งนี้ทำให้เกิดคำถามว่าทำไมคุณถึงต้องการทำสิ่งที่ฉันคาดเดาได้ดีที่สุดคือคุณกำลังพยายามติดตั้งการพึ่งพาสำหรับซอฟต์แวร์บางตัวที่คุณจะรวบรวมด้วยมือ ในกรณีดังกล่าวคุณจะต้องติดตั้ง build dependencies ก่อนด้วยapt-get build-dep packagename
แต่คุณควรสร้างแพ็คเกจจำลองที่มีการพึ่งพารันไทม์ (ซึ่งโดยทั่วไปแตกต่างจาก build dependencies) โดยใช้equiv
แพ็คเกจเพื่อสร้างแพ็คเกจจำลองด้วยการอ้างอิงที่ถูกต้องสำหรับ โปรแกรมที่คอมไพล์ด้วยตนเอง ดูข้อมูลเกี่ยวกับequivs
ในAPT HOWTO
build dependencies
และdependencies
? เช่นเดียวกับในกรณีที่คุณติดตั้งโปรแกรมตามปกติคุณจะได้รับการอ้างอิงว่ามันต้องใช้งานจริงและด้วยการพึ่งพาแบบ build-down ฉันคิดเกี่ยวกับไลบรารีคอมไพเลอร์สิ่งต่าง ๆ เช่นนั้น ดังนั้นในขณะที่ฉันไม่แน่ใจ (คำตอบนี้มี upvotes) แต่สำหรับฉันแล้วมันไม่สำคัญเลยว่าการสร้าง build-dependencies นั้นเหมือนกับการได้รับ (run) dependencies ที่แพ็คเกจมี?