ฉันกำลังพยายามติดตั้งแพ็คเกจ apt โดยไม่มีการอ้างอิงอย่างใดอย่างหนึ่ง (โดยเฉพาะ git ที่ไม่มี Perl เพื่อลดขนาดภาพ Docker ลง> 50MB)
ฉันคิดได้สองทางเลือก:
- ติดตั้งแพ็คเกจโดยไม่มีการพึ่งพาเฉพาะนี้
- ติดตั้งแพ็คเกจด้วยการพึ่งพาทั้งหมดและลบการพึ่งพา
หลังจากนั้น
และฉันได้ตรวจสอบทั้งสองอย่างแล้ว และไม่มีสิ่งใดได้ผลเลย ดังนั้นคำถามของฉันคือ: มีวิธีที่สะอาดหรือไม่?
ด้านล่างนี้คือสิ่งที่ฉันได้ลองไปแล้ว
1. การติดตั้งแพ็คเกจโดยไม่มีการพึ่งพาเฉพาะนี้
ที่สุด คำแนะนำ แนะนำ
apt ดาวน์โหลดคอมไพล์
dpkg --ignore-depends=perl -i git*.deb
น่าเสียดายที่สิ่งนี้ไม่ได้ติดตั้งการพึ่งพาอื่น ๆ ดังนั้น โคลนคอมไพล์
ล้มเหลวเนื่องจากขาด libcurl
.
ดังนั้นเพื่อแก้ไขบางอย่าง ข้อเสนอแนะอื่น ๆ แนะนำให้ใช้
apt-get -f ติดตั้ง
หลังจากนั้น แต่คำสั่งนี้พยายามติดตั้ง Perl ซึ่งเป็นสิ่งที่ฉันพยายามหลีกเลี่ยง
ตกลง ดังนั้นฉันกำลังบอกให้อย่าแตะต้อง Perl ด้วย:
apt-mark ถือ perl
แต่แล้ว apt-get -f ติดตั้ง
พยายามลบคอมไพล์
ตกลง ดังนั้นฉันจึงบอกให้ปล่อย git ไว้ตามลำพัง:
apt-mark ถือคอมไพล์
แต่แล้ว apt-get -f ติดตั้ง
ยอมแพ้เนื่องจากไม่สามารถติดตั้ง Perl และไม่สามารถถอนการติดตั้ง git ได้ ตอนจบของเรื่อง
2. การติดตั้งแพ็คเกจที่มีการขึ้นต่อกันทั้งหมดและลบการขึ้นต่อกัน
หลังจากนั้น
ฉันติดตั้งคอมไพล์ด้วย Perl:
apt ติดตั้ง -y git
จากนั้นลบ Perl ด้วย
dpkg -P --force-ขึ้นอยู่กับ perl
แต่สิ่งนี้ไม่ได้ลบการพึ่งพาอื่น ๆ ที่ Perl นำมาเช่น Perl โมดูล ความพยายามจึงไม่สำเร็จ