โมโนเสียหลังจากพยายามอัปเกรดไม่สามารถใช้ apt ได้


10

ฉันมีmono-completeและmono-develติดตั้งบน Ubuntu Server 18.10 เป็นเวลาสองสามเดือนแล้วเพื่อเรียกใช้แอพพลิเคชั่นบางอย่างที่ขึ้นอยู่กับมัน ฉันใช้ Mono 5.18.0.225 ก่อนที่จะมีสิ่งที่จะหมดผมได้มาตรฐานเห็นแพคเกจขาวดำจำนวนมากในรายการเพื่ออัปเกรดจากนั้นได้sudo apt update sudo apt upgradeมันเป็นไปตามปกติสำหรับการติดตั้งส่วนใหญ่แล้วเทอร์มินัลก็แยกข้อผิดพลาดและข้อผิดพลาดและข้อผิดพลาดออกมา ข้อผิดพลาดเกือบจะไม่มีที่สิ้นสุดจะถูกพิมพ์ออกมาหลายต่อหลายวินาทีโดยไม่คำนึงถึงสิ่งที่ฉันพยายามทำ:

  • sudo apt upgrade
  • sudo apt - ติดตั้งที่ใช้งานไม่ได้
  • sudo apt ลบ mono-devel โมโนที่สมบูรณ์
  • sudo apt autoremove

ดูเหมือนจะไม่สามารถอัพเกรดหรือลบ หากการอัพเกรดเป็นไปไม่ได้ฉันพยายามลบแล้วลองติดตั้งใหม่ แต่การลบล้มเหลวด้วย

ในข้อผิดพลาดมันกล่าวถึงไม่สามารถหา gdb หรือ lldb จากนั้นฉันพยายามที่จะสร้างและติดตั้ง gdb ด้วยตนเองเพราะฉันไม่สามารถใช้ apt ... พยายามทำเช่นนั้นจะขอให้คุณเรียกใช้sudo apt --fix-broken installที่พ่นข้อผิดพลาดเดียวกัน การติดตั้ง gdb-8.2 สำเร็จแล้ว ข้อผิดพลาดที่พิมพ์ออกมาเปลี่ยนไปเล็กน้อยและมีการอ้างอิงถึง gdb (เพราะตอนนี้มันถูกติดตั้งแล้ว) แต่ยังไม่ได้รับที่ใดเลย

  • ขาวดำแตกตั้งแต่แรกอย่างไร?
  • เหตุใดจึงพยายามลบแพคเกจที่ทำให้เกิดข้อผิดพลาด
  • วิธีที่ดีที่สุดในการแก้ไขสถานการณ์นี้คืออะไร ฉันไม่ต้องการติดตั้งเซิร์ฟเวอร์ Ubuntu อีกครั้งและตั้งค่าทุกอย่างสำรอง

สำหรับสิ่งที่พิมพ์ออกมาในข้อผิดพลาด (ก่อนการติดตั้ง gdb):

Aborted (core dumped)
E: installing Assembly /usr/share/cli-common/policies.d/libgtk2.0-cil/policy.2.8.gtk-sharp.dll failed
E: Installation of policy.2.8.gtk-sharp with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from policy.2.8.pango-sharp into Mono
Stacktrace:

/proc/self/maps:
41308000-41338000 rwxp 00000000 00:00 0
55b153398000-55b1537e1000 r-xp 00000000 08:02 3159129                    /usr/bin/mono-sgen

... cutting some of this out ...

7fb557c3b000-7fb557c88000 r--p 00000000 08:02 3160431                    /usr/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll
Memory around native instruction pointer (0x7fb5556e2c8f):
0x7fb5556e2c7f  20 48 09 d6 41 0f b6 53 05 48 c1 e2 28 48 09 f2   H..A..S.H..(H..
0x7fb5556e2c8f  66 41 0f 38 32 4b 06 66 0f 6f 05 b2 82 49 00 66  fA.82K.f.o...I.f
0x7fb5556e2c9f  0f 38 00 c8 66 48 0f 7e c8 66 48 0f 3a 16 ce 01  .8..fH.~.fH.:...
0x7fb5556e2caf  48 09 c6 48 09 d6 41 0f b6 c2 41 0f b6 53 09 48  H..H..A...A..S.H

Native stacktrace:

    /usr/bin/mono(+0x129f8d) [0x55b1534c1f8d]
    /usr/bin/mono(+0x12a295) [0x55b1534c2295]
    /usr/bin/mono(+0xbfd2f) [0x55b153457d2f]
    /usr/bin/mono(+0x414e8) [0x55b1533d94e8]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x12dd0) [0x7fb558343dd0]
    /usr/lib/mono/aot-cache/amd64/mscorlib.dll.so(+0x123c8f) [0x7fb5556e2c8f]

Waiting for dumping threads to resume


Debug info from gdb:

mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb

=================================================================
Got a SIGILL while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Aborted (core dumped)
E: installing Assembly /usr/share/cli-common/policies.d/libgtk2.0-cil/policy.2.8.pango-sharp.dll failed
E: Installation of policy.2.8.pango-sharp with /usr/share/cli-common/runtimes.d/mono failed
^[[1mdpkg:^[[0m error processing package mono-gac (--configure):
installed mono-gac package post-installation script subprocess returned error exit status 29

คำตอบ:


6

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

  1. sudo apt remove mono-complete mono-devel

    • แพคเกจบางอย่างควรถูกลบออก (ไปถึงประมาณ 15-25%) ก่อนที่ข้อผิดพลาดจะเริ่มพ่นออกและคุณจะไม่สามารถเรียกใช้ได้อีก
  2. sudo apt autoremove

    • ควรลบบางแพคเกจก่อนที่ข้อผิดพลาดจะเริ่มพ่นออกและคุณจะไม่สามารถเรียกใช้ได้อีก
  3. sudo apt remove mono-gac mono-runtime-common
    • ควรลบบางแพคเกจก่อนที่ข้อผิดพลาดจะเริ่มพ่นออกและคุณจะไม่สามารถเรียกใช้ได้อีก
  4. sudo apt autoremove
    • ส่วนที่เหลือของแพ็คเกจ Mono ควรลบอย่างสมบูรณ์ในครั้งนี้โดยไม่มีข้อผิดพลาดเกิดขึ้น
    • จะต้องมีแพคเกจบางอย่างที่เป็นสาเหตุของข้อผิดพลาดในคำสั่งก่อนหน้านี้และเมื่อมันถูกลบออกข้อผิดพลาดหยุดเกิดขึ้นและส่วนที่เหลือสามารถลบได้โดยไม่มีปัญหา
  5. ติดตั้ง Mono อีกครั้ง

1
แต่ฉันไม่สามารถทำงานได้apt removeเพราะมันบอกว่า dpkg ถูกขัดจังหวะและฉันต้องเรียกใช้ด้วยตนเองsudo dpkg --configure -aแต่คำสั่งนี้ทำให้เกิดข้อผิดพลาดด้านบน
Aaron Franke

สำคัญสำหรับฉัน (วันที่ 18.04.1-Ubuntu) เป็นsudo dpkg --force-all -P ca-certificates-monoและเนื่องจากsudo apt --fix-broken installไม่มีสูตรอื่น ๆ 'แก้ไข' ไม่ได้ฉันลบทุกอย่างขาวดำในแบบข้างต้น โดยเฉพาะอย่างยิ่งเช่นsudo dpkg --force-all -P mono-common mono-develและsudo dpkg --force-all -P mono-4.0-gac mono-gacหลังจากการอัปเดตอัปเกรดและการแก้ไขใด ๆ ในรูปแบบ '- การติดตั้งที่ไม่สมบูรณ์' และ 'autoremove' จะล้างส่วนที่เหลือ คะแนนสุดท้าย: $ mono --version คอมไพเลอร์ Mono JIT เวอร์ชัน 6.0.0.319 (tarball ศุกร์ 9 ส.ค. 16:23:57 UTC 2019) ....
309383

1

โอเคถ้าคุณหมดหวังมากพอที่จะลองทำสิ่งใด ๆ เพียงแค่อายในสิ่งที่ดูเหมือนจะเป็นเรื่องเศร้าการแก้ปัญหาที่พบบ่อยเกินไป - การเช็ดฮาร์ดไดรฟ์และติดตั้งระบบปฏิบัติการใหม่อีกครั้งตั้งแต่เริ่มต้น ...

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

sudo dpkg - ลบ - บังคับลบ - ลบ - reinstreq โมโนเสร็จสมบูรณ์
มันกลับไปที่พรอมต์คำสั่งอย่างรวดเร็วโดยไม่มีข้อความ จริง ๆ แล้วมันทำอะไร? ใครจะรู้. ¯ \ _ (ツ) _ / ¯

sudo dpkg - ลบ - บังคับลบ - ลบ - reinstreq mono-devel
มันกลับมาอย่างรวดเร็วเพื่อรับคำสั่งที่ไม่มีข้อความ จริง ๆ แล้วมันทำอะไร? ใครจะรู้. ¯ \ _ (ツ) _ / ¯

sudo dpkg - ลบ --force-remove-reinstreq mono-gac
มันบอกว่ามันไม่สามารถลบมันได้เนื่องจากการพึ่งพา

sudo dpkg - ลบ - บังคับ - ลบ - reinstreq โมโน - รันไทม์ - ทั่วไป
มันบอกว่ามันไม่สามารถลบมันได้เนื่องจากการพึ่งพา

สำหรับ shits และ giggles ฉันลองใช้ Synaptic Package Manager เพื่อลบ mono-devel มันถูกทำเครื่องหมายว่าไม่ได้ติดตั้ง (ดูด้านบน) แต่มีการลบ COMPLETE เลือกและนำไปใช้ สร้างข้อผิดพลาด dpkg ที่คุ้นเคยในขณะนี้และล้มเหลว

ฉันพยายามใช้มันเพื่อลบ mono-runtime-common และมันก็สร้างส่วนหนึ่งของข้อผิดพลาด dpkg ที่คุ้นเคยในขณะนี้และล้มเหลว

จากนั้นฉันก็วิ่ง

sudo apt-get purge mono-gac
และด้วยเหตุผลบางอย่างคราวนี้มันเป็น 'การเรียงลำดับ' ทำงาน มันถอนการติดตั้งก้นของสิ่งต่าง ๆ แต่ข้อผิดพลาดออกบนก้นของสิ่งที่โหลด Yay อย่างน้อยก็ทำให้มีความคืบหน้าบางอย่าง

sudo apt-get update
sudo apt-get upgrade
ตอนนี้แสดงเพียงสามรายการที่ฉันไม่สามารถอัพเกรดได้เพราะ Mono มีส่วนเกี่ยวข้อง ตอนนี้ฉันสามารถอัพเกรดได้สำเร็จ

จากนั้นฉันทำตามคำแนะนำในการติดตั้ง Mono สำหรับ ubuntu 18.04 ที่ https://www.mono-project.com/download/stable/#download-lin
อย่างไรก็ตามที่ขั้นตอนที่ 2 แทนที่จะติดตั้ง mono-devel ฉันติดตั้ง mono-complete

มันติดตั้งโดยไม่มีข้อผิดพลาดและรวบรวมบางสิ่ง หลังจากรีบูตแอพ 2 ใน 3 แอพโมโนของฉันแล้วก็กลับมาทำงานใหม่ ครั้งที่สามที่ฉันเพิ่งจะติดตั้งในสถานที่และมันก็กลับมาหลังจากรีบูต

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


ผลลัพธ์ของการapt policy mono-complete mono-develแสดงว่าฉันติดตั้งทั้ง 18.04 และขาวดำทำงานบน 18.04 ดังนั้นฉันสงสัยว่ามีปัญหาการจัดการแพคเกจในคำถาม แพ็คเกจ mono-complete และ mono-devel ยังคงมีอยู่ในที่เก็บเริ่มต้นสำหรับ 18.10 และ 19.04
karel

ขอบคุณสำหรับการตอบกลับ แต่ฉันไม่แน่ใจว่าฉันสามารถลองทำตามคำแนะนำเหล่านี้ได้ไหมหลังจากที่ฉันลองเมื่อคืนที่แล้ว ฉันจะทราบว่าเมื่อฉันเริ่มต้นsudo apt remove mono-complete mono-develและsudo apt autoremoveบางแพคเกจได้ถูกลบออกก่อนที่ข้อผิดพลาดเริ่มพ่นออก เมื่อคืนฉันวิ่งsudo apt remove mono-gac mono-runtime-commonและแพ็คเกจอื่น ๆ ที่เรานำออกไปก่อนที่ข้อผิดพลาดจะปะทุออกมา จากนั้นอย่างแปลกใจเมื่อฉันวิ่งsudo apt autoremoveหลังจากนั้นไม่มีข้อผิดพลาดส่วนที่เหลือของแพคเกจจะถูกลบออกและฉันคิดว่าโมโนประสบความสำเร็จและถอนการติดตั้งอย่างสมบูรณ์
Matthew Wright

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

ฉันไม่แน่ใจว่าเป็นหนึ่งหรือหลายแพ็คเกจที่เป็นสาเหตุ แต่สิ่งที่ถูกลบออกก่อนที่ข้อผิดพลาดที่เริ่มต้นพ่นออกในครั้งที่สองapt removeจะต้องแก้ไขปัญหา มันจะเป็นการสะดวกหากจะทราบว่าแพคเกจใดเป็นสาเหตุเฉพาะในการแก้ไขอีกครั้งในอนาคต อย่างไรก็ตามฉันไม่ทราบว่าปัญหานี้สามารถทำซ้ำได้ง่ายเพียงใด
Matthew Wright

ถ้าใช่การติดตั้งขาวดำซ้ำก็ประสบความสำเร็จและแอปพลิเคชันของฉันจะทำงานตามปกติอีกครั้ง!
Matthew Wright

0

ฉันมีปัญหาเดียวกันกับลินุกซ์กล่องลินุกซ์ 18.3 ของฉัน ต้องใช้การเปลี่ยนเวลาเพื่อติดตั้งระบบใหม่ สิ่งที่ฉันทำไปแล้วคือการลบโมโน ppa ออกจากที่เก็บและในขณะนี้ฉันสามารถอัปเดต / อัปเกรดแพ็คเกจได้ ฉันรอตัวแก้ไขโมโนใหม่เพื่อเปิดใช้งานที่เก็บอีกครั้ง ฉันรู้ว่ามันไม่ใช่การแก้ไขปัญหา แต่อย่างน้อยก็เป็นวิธีที่จะเอาชนะปัญหาที่รอให้ geeks จริงจัดเรียงมันออกมา


ขอบคุณสำหรับคำตอบ! ฉันไม่เคยได้ยินหรือเคยใช้การเปลี่ยนเวลามาก่อน แต่ฉันจะดู ฉันคิดว่าฉันสามารถถอนการติดตั้งขาวดำจากระบบของฉันเมื่อคืนได้สำเร็จ นี่เป็นเครื่องมือที่คุณอ้างถึงใช่ไหม . มันเป็นรุ่นเซิร์ฟเวอร์ แต่บรรทัดคำสั่งเท่านั้น ฉันไม่เห็นว่าคุณสามารถใช้งานได้ทันทีผ่าน CLI
Matthew Wright

0

ฉันมีปัญหาที่คล้ายกัน ในกรณีของฉัน mono-devel ขึ้นอยู่กับ mono-roslyn และด้วยเหตุผลบางอย่าง mono-roslyn ขึ้นอยู่กับ mono-devel ดังนั้นการลบแพ็คเกจอย่างอิสระจึงไม่ได้ผล แต่สิ่งนี้ทำ:

sudo dpkg --remove --force-remove-reinstreq mono-roslyn mono-devel

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