Yükseltme denemesinden sonra mono bozuldu, uygun değil


10

Buna bağlı olarak bazı uygulamaları çalıştırmak için birkaç aydır Ubuntu Sunucum 18.10'u kurdum mono-completeve mono-develyükledim. Mono 5.18.0.225 kullanıyorum. İşler kırılmadan önce, bir standart yaptım sudo apt update, yükseltmek için listede birçok mono paket gördüm, sonra bir sudo apt upgrade. Çoğu kurulum için normal gitti ve sonra terminal hataları ve hataları ve hataları tükürmeye devam etti. Neredeyse sonsuz hatalar, ne yapmaya çalıştığımdan bağımsız olarak birkaç saniye boyunca tekrar tekrar yazdırılacaktı:

  • sudo uygun yükseltme
  • sudo apt - bozuk düzeltme
  • sudo apt kaldır mono-complete mono-devel
  • sudo apt otomatik çalıştırma

Yükseltme veya kaldırma işlemi yapılamıyor gibi görünüyor. Yükseltme mümkün değilse, yeniden yüklemeyi kaldırmayı denedim ama kaldırma da başarısız oldu.

Hatada gdb veya lldb bulamadığından bahsedilir. Daha sonra el ile yapmak ve gdb yüklemeye çalıştı çünkü ben apt kullanamıyorum ... bunu yapmaya çalışıyorum sudo apt --fix-broken installaynı hataları tükürüyor çalıştırmak isteyecektir . Gdb-8.2 kurulumu başarılı. Yazdırılan hatalar biraz değişir ve gdb'ye referanslar içerir (çünkü şimdi yüklüdür), ancak yine de hiçbir yere ulaşamamıştır.

  • İlk etapta mono nasıl kırıldı?
  • Neden hata üreten paketleri kaldırmaya çalışıyorsunuz?
  • Bu durumu düzeltmek için en iyi yol hangisidir? Ubuntu Sunucusunu yeniden kurmak ve her şeyi yeniden ayarlamak zorunda kalmamayı tercih ederim.

Hatada yazdırılanlar için (gdb kurulumundan önce):

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

Yanıtlar:


6

Bu sırayla bu komutların her seferinde sorunu çözeceğinden% 100 emin değilim ama bu oldu ve tekrar çalışmasına bağlı olan uygulamaları almak için Mono'yu başarıyla yeniden yükleyebildim.

  1. sudo apt remove mono-complete mono-devel

    • Hatalar tükenmeye başlamadan önce bazı paketler kaldırılmalıdır (yaklaşık% 15-25'e ulaşır) ve bunu tekrar çalıştıramazsınız.
  2. sudo apt autoremove

    • Hatalar tükenmeye başlamadan önce bazı paketler kaldırılmalıdır ve bunu tekrar çalıştıramazsınız.
  3. sudo apt remove mono-gac mono-runtime-common
    • Hatalar tükenmeye başlamadan önce bazı paketler kaldırılmalıdır ve bunu tekrar çalıştıramazsınız.
  4. sudo apt autoremove
    • Mono paketlerinin geri kalanı, hatalar tükenmeden bu sefer tamamen kaldırılmalıdır.
    • Önceki komutlardaki hataların nedeni olan belirli paket (ler) olmalıdır ve kaldırıldığında hatalar durur ve geri kalanı sorunsuz bir şekilde kaldırılabilir.
  5. Mono'yu yeniden yükleyin.

1
Ama çalıştıramıyorum apt removeçünkü dpkg kesildi ve manuel olarak çalıştırmam gerekiyor sudo dpkg --configure -a, ancak bu komut sadece yukarıdaki hatalara neden oluyor.
Aaron Franke

benim için çok önemli (18.04.1-Ubuntu üzerinde) oldu sudo dpkg --force-all -P ca-certificates-monove sudo apt --fix-broken installne de başka bir 'düzeltme' tarifleri işe yaramadı beri yukarıdaki moda mono her şeyi kaldırıldı. Özellikle gibi şeyler de sudo dpkg --force-all -P mono-common mono-develve sudo dpkg --force-all -P mono-4.0-gac mono-gacbu güncellemenin, yükselttikten sonra, ve geri kalanı temizlenmiş herhangi bir tarzda sabitleme 'install --fix-kırık' ve 'autoremove'. Son Skor: $ mono - sürüm Mono JIT derleyici sürümü 6.0.0.319 (tarball Cum Ağu 16 16:23:57 UTC 2019) ....
user309383

1

Tamam, ne yazık ki, çok yaygın bir çözünürlük gibi görünen utangaç bir şeyi denemek için yeterince çaresizseniz - sabit sürücüyü silmek ve işletim sistemini sıfırdan yeniden yüklemek ...

Bir şekilde gemimi tamir etmeyi başardım. Nasıl ve emin değilim neden emin değilim, ama bu denedim son birkaç şey nedense olumlu sonuç verdi:

sudo dpkg --remove --force-remove-reinstreq mono-complete Mesajsız
komut istemine hızla döndü. Aslında bir şey yaptı mı? Kim bilir. ¯ \ _ (ツ) _ / ¯

sudo dpkg --remove --force-remove-reinstreq mono-devel
Komut istemine mesajsız hızla döndü. Aslında bir şey yaptı mı? Kim bilir. ¯ \ _ (ツ) _ / ¯

sudo dpkg --remove --force-remove-reinstreq mono-gac
Bağımlılıklar nedeniyle kaldıramadığını söyledi

sudo dpkg --remove --force-remove-reinstreq mono-runtime-common
Bağımlılıklar nedeniyle kaldıramadığını söyledi

Boklar ve kıkırdamalar için mono-devel'i kaldırmak için Synaptic Package Manager'ı kullanmayı denedim. Yüklü değil (yukarıya bakın) olarak işaretlendi, ancak TAMAMLANDIRMA sundu. Bunu seçti ve uyguladı. Şimdi bilindik dpkg hatalarıyla yüklendi ve başarısız oldu.

Mono-çalışma zamanı-ortak kaldırmak için kullanmayı denedim ve o da, şimdi tanıdık dpkg hatalarının bir popo üretti ve başarısız oldu.

Sonra koştum,

sudo apt-get purge mono-gac
ve bir sebepten dolayı BU zaman biraz ', sorta' çalıştı. Bir sürü yükü kaldırdı, ama bir sürü yüke büründü. Yay, en azından BAZI bir ilerleme kaydetti.

sudo apt-get güncelleme
sudo apt-get yükseltme
şimdi sadece Mono imploded çünkü daha önce yükseltme mümkün değildi üç ürün gösterdi. Artık bunları başarıyla yükseltebiliyordum.

Daha sonra ubuntu 18.04 için https://www.mono-project.com/download/stable/#download-lin adresindeki Mono kurulum talimatlarını izledim
Ancak 2. Adımda mono-devel kurmak yerine mono-complete yükledim

Hatasız olarak kurulmuş ve bazı şeyleri önceden derlemiştir. Yeniden başlattıktan sonra 3 Mono tabanlı uygulamalarımdan 2'si tekrar çalışmaya başladı. Üçüncüsü, yerinde yeniden yükleme yapmak zorunda kaldım ve yeniden başlattıktan sonra da geri geldi.

İçtenlikle yukarıdaki saçmalıktan biraz yardım toplayabileceğinizi umuyoruz ve burada aksi takdirde mutlu tatiller, harika bir yeni yıl ve diğer şeyler için. :)


apt policy mono-complete mono-develBen hem 18.04 yüklü hem de mono 18.04 üzerinde çalıştığını göstermek sonuçları , bu yüzden soruda bir paket yönetimi sorunu olduğundan şüpheleniyorum. mono-complete ve mono-devel paketleri 18.10 ve 19.04 varsayılan depolarında hala mevcuttur.
karel

Yanıt için teşekkürler ama dün gece denedikten sonra bu önerilerden herhangi birini deneyebiliyor muyum emin değilim. Başlangıçta kaçtığımda sudo apt remove mono-complete mono-develve sudo apt autoremovehatalar tükenmeden önce bazı paketlerin kaldırıldığını not edeceğim . Dün gece koştum sudo apt remove mono-gac mono-runtime-commonve hatalar tükenmeden daha fazla paket kaldırıldı. Daha sonra, şaşırtıcı bir şekilde, sudo apt autoremovedaha sonra koştuğumda hiçbir hata yoktu, geri kalan paketler kaldırıldı ve mono'nun başarıyla ve tamamen kaldırıldığını düşünüyorum.
Matthew Wright

Ancak, mono yeniden yükleme sonraki adımdır ve bu uygulamaları tekrar çalıştırabilirsiniz böylece sorunsuz gider umuyoruz.
Matthew Wright

Nedeni bir veya birkaç paket olup olmadığından emin değilim, ancak ikinciye tükenmeye başlayan hatalar apt removesorunu çözmeden önce kaldırılan her şey . Gelecekte hangi paketlerin düzeltilmesinin belirli bir nedeni olduğunu bilmek kullanışlı olacaktır. Ancak, bu sorunun ne kadar kolay tekrarlanabilir olduğunu bilmiyorum.
Matthew Wright

Evet, mono'nun yeniden kurulumu başarılı oldu ve uygulamalarım tekrar normal çalışıyor!
Matthew Wright

0

Aynı sorunu linux nane kutum 18.3 Sylvia'da da yaşadım. Sistemi yeniden yüklemek için timeshift kullanmak zorunda kaldım. Şimdiye kadar yaptığım tek şey mono ppa'yı depodan kaldırmak ve şu an için paketleri güncelleyebiliyor / yükseltebiliyorum. Yeni mono düzeltmenin depoyu yeniden etkinleştirmesini bekliyorum. Sorunun bir çözümü olmadığını biliyorum, ama en azından, gerçek meraklıların çözmesini bekleyen sorunun üstesinden gelmenin bir yoludur.


Yanıtınız için teşekkürler! Daha önce timeshift'i duymamıştım ya da kullanmamıştım ama bir göz atacağım. Sanırım dün gece mono'yu sistemimden başarıyla kaldırabildim. Bahsettiğimiz araç bu mu? . Sadece komut satırı olsa sunucu sürümü. CLI aracılığıyla kullanabileceğinizi hemen görmüyorum.
Matthew Wright

0

Benzer bir sorun yaşadım. Benim durumumda mono-devel mono-roslyn'e bağlıydı ve bir sebepten mono-roslyn mono-devel'e bağlı. Yani paketleri bağımsız olarak kaldırmak işe yaramadı. Ancak bu:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.