บอกความสามารถในการเพิกเฉยหีบห่อที่ชำรุด


9

ฉันติดตั้ง Amsynth จาก Lucid ใน Karmic โดยใช้:

dpkg --force-depends-version -i amsynth_1.2.2-1_i386.deb

เหตุผลในการติดตั้งรุ่น Lucid นั้นเป็นเพราะรุ่น Karmic นั้นมีอายุ 3 ปีและเกิดปัญหากับเครื่องของฉัน แพ็คเกจ Lucid Amsynth ขึ้นอยู่กับรุ่นใหม่กว่าของ libatk1 และ libjack0 ที่ Karmic มี แต่ฉันคิดว่าฉันจะเสี่ยงและเปลี่ยน Amsynth ทำงานได้ดี

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


ตอนนี้ฉันเพิ่งถอนการติดตั้ง ฉันจะติดตั้งใหม่ทุกครั้งที่ฉันต้องการมันอีกครั้งมันใช้เวลาไม่นานจนกว่ามันจะทำให้ฉันพอที่จะรวบรวมมันอีกครั้ง

หากคุณต้องการอะไรจากรีลีสที่ใหม่กว่าและมันต้องการไลบรารี่ที่ใหม่กว่าคุณก็สามารถดึงมันออกมาหรือดาวน์โหลดแพ็กเกจซอร์สและสร้างมันใหม่บนระบบของคุณ อย่างไรก็ตามฉันได้พบกับความพยายามที่จะใช้แพคเกจของบุคคลที่สามและต้องการแฮ็กมากกว่า
Jan Hudec

คำตอบ:


7

หากคุณติดตั้งโปรแกรมผ่านไฟล์ deb และ dpkg คุณสามารถแก้ไขการขึ้นต่อกันของไฟล์. deb ที่ติดตั้งด้วยตนเอง ฉันถูกผลักดันให้ไปถึงจุดสุดยอดครั้งนี้ ...

ar x foo.deb
vim control.tar.xz  # see below
ar r foo.deb control.tar.xz
dpkg -i foo.deb

และ dpkg ไม่ทราบเกี่ยวกับการพึ่งพาของ foo อีกต่อไป ในเสียงเรียกเข้าคุณต้องเลือก. / ควบคุม (ฉันใช้เสียงเรียกเข้าเพื่ออ่านไฟล์ที่บรรจุ - แกะและใช้ตัวแก้ไขอื่นและบรรจุใหม่หากคุณต้องการ) และเอาการอ้างอิงที่ไม่ต้องการออกจากบรรทัด

Depends: foo bar

1
คุณดีกว่าการใช้มากกว่าdpkg-deb เป็นรายละเอียดการใช้งาน dpkg ที่อาจมีการเปลี่ยนแปลงในอนาคต arar
jmtd

ขอบคุณโซลูชันนี้ใช้งานได้สำหรับฉัน แต่เมื่อฉันอัปเกรด apt-get ฉันได้รับข้อความ "แพคเกจต่อไปนี้ได้รับการเก็บรักษาไว้: numptyphysics: i386" (apt-get dist-upgrade บอกว่าไม่มีอะไร) ข้อความนี้เป็นเรื่องปกติและเราไม่สามารถกำจัดมันได้หรือไม่
baptx

7

มีวิธีการแก้ปัญหาที่ถูกแฮ็กที่เป็นUbuntuforums ~ แก้ปัญหาของต้มตุ๋นดีกว่า แต่ทำงานได้มากขึ้น

ฉันไม่พบสิ่งใดใน google เกี่ยวกับสิ่งนี้บันทึกการรวบรวม 'ชุดจำลอง' ของคุณเอง (เป็นไปไม่ได้โดยไม่ต้องถอนการติดตั้งแพคเกจที่เสียถ้าคุณโชคดีพอที่มีเครื่องมืออยู่แล้ว) แต่การค้นหาฮาร์ดไดรฟ์ของฉันเอง คำตอบในที่สุด!

สำหรับผู้ที่ต้องการทราบต่อไปนี้เป็นวิธี "unbreak" แพ็คเกจใน synaptic / aptitude / apt-get โดยไม่ต้องถอนการติดตั้ง

ก่อนอื่นให้จดบันทึกแพ็คเกจที่คุณติดตั้งไว้และแพคเกจนั้นขึ้นอยู่กับสถานะที่แตกหัก ว่าฉันบังคับติดตั้งแอปเปิ้ลซึ่งขึ้นอยู่กับแพคเกจล้าสมัยซึ่งไม่ได้อยู่ในพื้นที่เก็บข้อมูล:

ในเทอร์มินัลรหัสประเภท:

sudo gedit /var/lib/dpkg/status

ค้นหาไฟล์สำหรับแอปเปิ้ลจนกว่าคุณจะพบสิ่งที่ต้องการ:

รหัส:

Package: apples
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 316
Maintainer:
Architecture: i386
Source: applesauce
Version: 1.0.10-1
Depends: packageA, packageB, obsolete
Description: Apples on your desktop!

ลบล้าสมัยออกจากแถว Depends: บันทึกไฟล์และคุณทำเสร็จแล้ว หวังว่านี่จะช่วยให้บางคนออกมา


ick หาดี แต่ฉันไม่ใช่แฟนของการโกหกผู้จัดการแพคเกจ (ซึ่งเป็นสิ่งสำคัญที่แฮ็คทำ) ดีกว่าที่จะไม่ใช้ APT เลยดีกว่าที่จะหลีกเลี่ยงมันโดยเจตนา นี่คือเหตุผลที่รวบรวมแพคเกจของคุณเองเป็นสิ่งที่ดี - ไม่มีการพึ่งพาที่ไม่สมบูรณ์และไม่โกหกผู้จัดการแพคเกจของคุณ
ต้มตุ๋น quixote

ฉันไม่มีปัญหากับการโกหกผู้จัดการแพ็คเกจโดยเฉพาะอย่างยิ่งเมื่อไม่กี่เดือนฉันจะติดตั้งระบบปฏิบัติการใหม่ แต่ฉันไม่พบไฟล์ที่อ้างอิงในเธรด

แปลก. มันควรจะมี ลองทำ "cd / var / lib / dpkg" แล้ว "สถานะ sudo nano"
Iain

1
ลิงก์ใช้งานไม่ได้อีกต่อไป ซึ่งเป็นเหตุผลที่แน่นอนว่าทำไมคำตอบสำหรับลิงค์เท่านั้นจึงไม่ได้รับการแก้ไข หากคุณอธิบายที่นี่จะเป็นคำตอบที่ถูกต้อง
Jan Hudec

ไม่ทราบว่าสิ่งนี้เป็นแบบถาวรหรือไม่ แต่ดูเหมือนว่าจะเป็นการแก้ไขที่เหมาะสมสำหรับการติดตั้งแพคเกจที่มีการขึ้นต่อกันอย่างหนักของ Java เวอร์ชันที่ไม่สามารถใช้งานได้อีกต่อไป
krispy

2

ในความถนัดของส่วนการตั้งค่า (Ctrl-T จะได้รับในเมนู; ภายใต้ตัวเลือก) ยกเลิกการเลือกตัวเลือกในการ"พึ่งพาการจัดการ"ส่วนที่บอกว่า"แพคเกจแก้ไขเสียก่อนที่จะติดตั้งหรือถอดโดยอัตโนมัติ" นั่นควรจะหยุดความพยายามที่จะแก้ไขแพ็กเกจทุกครั้งที่คุณเปลี่ยนแพ็กเกจอื่น ๆ

เพื่อเป็นการแก้ไขที่ถาวรยิ่งขึ้นคุณควรคว้าแพ็กเกจซอร์สสำหรับแพ็กเกจ Lucid Amsynth ที่คุณติดตั้งรวมถึงซอร์สแพ็กเกจสำหรับlibatk1และlibjack0และสร้างแพ็คเกจที่อัพเดตของคุณเอง คุณอาจต้องอัปเดตแพ็กเกจอื่นด้วยทั้งนี้ขึ้นอยู่กับสิ่งที่ใช้ไลบรารีเหล่านั้น แต่คุณอาจจะไปกับแพ็คเกจเหล่านั้นได้ (นี่คือการbackportingแพคเกจเหล่านั้นจาก Lucid ถึง Karmic - คุณควรตรวจสอบที่เก็บ Karmic-backports หรือ PPAs เพื่อดูว่ามีใครทำเช่นนี้หรือไม่ถ้าแพ็คเกจใหม่ของคุณใช้งานได้ลองส่งไปยัง Karmic-backport เพื่อให้ผู้อื่นใช้ )


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