ฉันจะลบการขึ้นต่อสร้างทั้งหมดสำหรับแพ็คเกจเฉพาะได้อย่างไร


10

เมื่อฉันต้องการคอมไพล์บางอย่างจากซอร์สใน Ubuntu / Debian ฉันมักจะได้รับ build-dependencies โดยรัน " sudo apt-get build-dep PACKAGE_NAME" ในเทอร์มินัล

พวกเขามักจะไร้ประโยชน์เมื่องานรวบรวมเสร็จสิ้น

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

คำตอบ:


5

เพื่อหาข้อมูลการสร้างการอ้างอิงของโปรแกรมที่คุณสามารถเรียกใช้apt-cache showsrc pkgnameและรายชื่อพระทัยว่าท่ามกลางข้อมูลอื่น ๆBuild-Dependsซึ่งเป็นไฟล์ที่ลงท้ายมักจะ-dev; แม้ว่าจะคุ้มค่าที่จะตรวจสอบว่ามีโปรแกรมใด ๆ (โดยเฉพาะไฟล์ที่ไม่ได้ทำเครื่องหมาย-dev) ใด ๆ คุณสามารถหาข้อมูลนี้โดยใช้และapt-cache depends file apt-cache rdepends fileตัวอย่างต่อไปนี้สำหรับShotwell:

apt-cache showsrc shotwell

Build-Depends: debhelper (> = 7.0.50 ~), m4, valac-0.16 (> = 0.15), libgee-dev (> = 0.5.0), libgtk-3-dev (> = 3.0.11), libexif -dev (> = 0.6.16), libsqlite3-dev (> = 3.5.9), libgexiv2-dev (> = 0.4.1-1build1), libgnomevfs2-dev (> = 2.24.2), libgphoto2-2-dev (> = 2.4.2), libsoup2.4-dev (> = 2.26.0), libxml2 (> = 2.6.32), libunique-3.0-dev (> = 1.0.0), libwebkitgtk-3.0-dev (> = 1.1.5), libgudev-1.0-dev (> = 145), libdbus-glib-1-dev (> = 0.80), libraw-dev (> = 0.13.1-2), libusb-dev, libjson-glib -dev (> = 0.7.6), libgstreamer0.10-dev (> = 0.10.28), libgstreamer-plugins-base0.10-dev (> = 0.10.32), งูหลาม, libunity-dev, liblaunchpad- Integration-3.0-dev (> = 0.1.36), librest-dev

มีคำสั่งที่จะทำทุกอย่างในหนึ่งไปที่เป็นเว็บไซต์ webupd8 , แต่ฉันได้พบว่ามันไม่ได้ดูเหมือนจะทำงานได้อย่างน่าเชื่อถือกับรุ่นปัจจุบันของอูบุนตูที่ดูเหมือนว่าจะลบมากเกินไป ฉันลองกับ Pinta และแนะนำให้ลบไลบรารีโมโนทั้งหมด มีการอภิปรายปัญหาดังกล่าวด้วยการใช้คำสั่งเช่นเดียว webupd8 ที่เป็นLaunchpad ระวังให้มากเมื่อทำการทดลองกับ 'โซลูชัน' ใด ๆ ที่คุณอาจพบ

เป็นความอัปยศที่ไม่มีautoremoveคำสั่งสำหรับbuild-depแพ็คเกจที่ติดตั้ง


1
ฉันลองใช้ความถนัดและใช่คุณพูดถูกมันลบมากเกินไป ... อาจเป็นเพราะการพึ่งพาข้าม หนึ่ง mothod อื่นที่ผมพบคือการผ่านตัวเลือกต่อไปนี้ (ในขณะที่การใช้คำสั่งสร้าง sudo apt-get build-dep -o APT::Get::Build-Dep-Automatic=true PACKAGE_NAMEDEP): apt-get autoremoveตอนนี้พวกเขาสามารถลบออกด้วย แต่ใช้งานได้หลังจากลบแพ็คเกจหลักเท่านั้น
Khurshid Alam

2
pbuilderอย่างไรก็ตามผมเพิ่งรู้ว่าทางที่เหมาะสมที่จะทำมันคือการใช้ ดังนั้นจึงไม่มีใครต้องกังวลเกี่ยวกับการติดตั้ง / ถอนการติดตั้งการพึ่งพา
Khurshid Alam

6

Tumbleweed เขียน :

สำหรับอนาคตผมขอแนะนำให้ใช้mk-build-deps... aptitude build-depแทน ที่เหลือแพ็คเกจ ... ในระบบของคุณ [ซึ่งมีการพึ่งพา] บนบิลล์ที่คุณสามารถถอนการติดตั้งได้ในภายหลัง

mk-build-deps สามารถติดตั้งได้ด้วย sudo apt install devscripts


4

ตัวเลือกที่ 1:

จำแพคเกจที่ติดตั้งโดยsudo apt-get build-dep PACKAGE_NAMEและลบออกหลังจากการสร้าง

ตัวเลือก 2:

apt-cache showsrc ให้ข้อมูลเกี่ยวกับแพ็กเกจซอร์สจำนวนมากรวมถึงรายการบิลด์ที่ต้องพึ่งพา

apt-cache showsrc PACKAGE_NAME

ตัวอย่างเช่น:

$ apt-cache showsrc pithos
Package: pithos
Binary: pithos
Version: 0.3.17~git07dcbd86a1
Section: python
Maintainer: Kevin Mehall <km@kevinmehall.net>
Build-Depends: cdbs (>= 0.4.43), debhelper (>= 6), python, python-central (>= 0.6.11), python-distutils-extra (>= 2.10)
Architecture: all
Standards-Version: 3.8.2
Format: 1.0
Directory: pool/main/p/pithos
Files:
 cdf2129923e62bb62c246965453b40bd 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
 97689e8ada8be527d689f2c83415d3b0 1544 pithos_0.3.17~git07dcbd86a1.dsc
Python-Version: current
Checksums-Sha1: 35cbf3ae52922e50a0b81afcce2cd97a86afb254 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
Package-List: pithos deb python extra
Checksums-Sha256: 2b704d86f3dc1d36d180177d11e578bdcf74ea97b09b530144afe754e570b262 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
$ sudo apt-get remove cdbs debhelper python python-central python-distutils-extra

ความเสี่ยงในตัวเลือกนี้คือคุณสามารถลบแพ็คเกจที่มีความสำคัญต่อบางสิ่งนอกเหนือจากการสร้าง PACKAGE_NAME เพียงอ่านรายชื่อแพ็คเกจที่จะลบก่อนดำเนินการต่อ

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