[Çözüldü] Linux Çekirdek Kaldırma Sorunu 5.4.0-99

Başlatan Øguz, 17 Mart 2022 - 20:24:47

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Øguz

Forum'da arama yaptım benzer 1 tane konu buldum ancak sorun çözülmedi.
Linux Mint kullanıyorum.
Program yöneticisinden eski kurulmuş çekirdekleri düzenli olarak kaldırırım. Fakat bu kez linux-image-5.4.0-99-generic çekirdeğini kaldırırken sistem hata verdi.

E: linux-image-5.4.0-99-generic: linux-image-5.4.0-99-generic paketi post-removal betiği kuruldu alt süreci 1 hatalı çıkış kodu ile sona erdi

Kaldırılıyor: linux-image-5.4.0-99-generic (5.4.0-99.112) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-5.4.0-99-generic
/etc/kernel/postrm.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/50_linuxmint.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Grub yapılandırma dosyası oluşturuluyor ...
Bulunan linux kalıbı: /boot/vmlinuz-5.4.0-104-generic
Bulunan initrd kalıbı: /boot/initrd.img-5.4.0-104-generic
Bulunan linux kalıbı: /boot/vmlinuz-5.4.0-100-generic
Bulunan initrd kalıbı: /boot/initrd.img-5.4.0-100-generic
/etc/grub.d/30_os-prober: 324: printf: %2$: invalid directive
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 2
dpkg: linux-image-5.4.0-99-generic paketi işlenirken sorun yaşandı (--remove):
linux-image-5.4.0-99-generic paketi post-removal betiği kuruldu alt süreci 1 hatalı çıkış kodu ile sona erdi
dpkg: çok fazla hata oldu, işlem durduruluyor
İşleme sırasında hatalarla karşılaşıldı:
linux-image-5.4.0-99-generic
Çok fazla hatayla karşılaşıldığı için işlem yarıda kesildi.
E: Sub-process /usr/bin/dpkg returned an error code (1)
Bir paket kurulamadı. Geri alınmaya çalışılıyor:


yakusha

Artık bu forumu kullanmıyor.

grayloop

Bypass deneyebilirsiniz.

var/lib/dpkg/info dizini içerisinde "linux-image-5.4.0-99-generic" şeklinde arayıp silebilirsiniz. Daha sonra

sudo apt autoremove ve sudo apt clean komutlarını çalıştırabilirsiniz.
hüzün ki en çok yakışandır bize
belki de en çok anladığımız
                                 H. Yavuz

speakerXXL

Şu komutu kullanmayı denersin.

LC_ALL=C apt install -f

Øguz

#4
Format attım. Linux Mint 20.3 Cinnamon kurdum. 5.4.0-91 çekirdeği ile kurulu geldi. Kurulum bittikten sonra günceleme işlemini yaptım. Son sürüm çekirdeğe (5.4.0-104) güncelleme yaparken hata verdi.



Şuan eski çekirdek ile çalışıyor Linux Mint. Aktif olmayan son sürüm çekirdeği kaldırmak istediğimde hata veriyor.



Ayrıntılara tıkladığımda çıkan kod satırı


(Veritabanı okunuyor ... 315647 dosya veya dizin kurulu durumda.)
Kaldırılıyor: linux-generic (5.4.0.104.108) ...
Kaldırılıyor: linux-image-generic (5.4.0.104.108) ...
Kaldırılıyor: linux-modules-extra-5.4.0-104-generic (5.4.0-104.118) ...
Kaldırılıyor: linux-image-5.4.0-104-generic (5.4.0-104.118) ...
I: /boot/vmlinuz is now a symlink to vmlinuz-5.4.0-91-generic
I: /boot/initrd.img is now a symlink to initrd.img-5.4.0-91-generic
/var/lib/dpkg/info/linux-image-5.4.0-104-generic.postrm ... removing pending trigger
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-5.4.0-104-generic
/etc/kernel/postrm.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/50_linuxmint.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Grub yapılandırma dosyası oluşturuluyor ...
Bulunan linux kalıbı: /boot/vmlinuz-5.4.0-91-generic
Bulunan initrd kalıbı: /boot/initrd.img-5.4.0-91-generic
/etc/grub.d/30_os-prober: 324: printf: %2$: invalid directive
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 2
dpkg: linux-image-5.4.0-104-generic paketi işlenirken sorun yaşandı (--remove):
linux-image-5.4.0-104-generic paketi post-removal betiği kuruldu alt süreci 1 hatalı çıkış kodu ile sona erdi
dpkg: çok fazla hata oldu, işlem durduruluyor
İşleme sırasında hatalarla karşılaşıldı:
linux-image-5.4.0-104-generic
Çok fazla hatayla karşılaşıldığı için işlem yarıda kesildi.
E: Sub-process /usr/bin/dpkg returned an error code (1)
Bir paket kurulamadı. Geri alınmaya çalışılıyor:


Linux Mint sunucusunun Hard Diskinden yada SSD'den kaynaklı çekirdek dosyasının hasar görmesi gibi bir durum söz konusu olabilir mi?

speakerXXL

#5
Alıntı YapLinux Mint sunucusunun Hard Diskinden yada SSD'den kaynaklı çekirdek dosyasının hasar görmesi gibi bir durum söz konusu olabilir mi?

Sorunun bununla bir ilgisi yok, Ubuntu tabanının genelinde yakın zamanda ortaya çıkan bir sorun.

Yaklaşık 1 haftadır bende de vardı ve kaynağını araştırıyordum. Aşağıdaki komutla yerel dil gözardı edilerek paket yönetimini onarınca, hatalı kurulum düzeliyordu.

LC_ALL=C apt install -f

Buradan hareketle bir güncellemenin regresyona sebep olduğunu düşündüm. update-grub komutunun varsayılan dilinde çalışması için bir yapılandırma hazırladım, update-grub komutu bu şekilde tek başına çalışınca sorun yaşanmıyordu. Fakat paket yönetimi içinden kurulum sonrası ya da kaldırma sonrası işlemleri ile çalışınca, bu sorun yaşanmaya devam ediyordu. İlişkili olabilecek tüm güncellemeleri inceledim, Grub yapılandırma dosyaları bozulmuş olabilir diye düşünüp tamamen kaldırıp yeniden kurdum, ama nafile oldu.

Alıntı Yap
/etc/grub.d/30_os-prober: 324: printf: %2$: invalid directive
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 2

Sonunda hataya neden olan 30_os-prober dosyasını ve printf ile ilgili satırları incelemeye başladım. Hataya neden olabilecek kısımlara bakarken aşağıdaki satıra rastladım.

  gettext_printf "Found %s on %s\n" "${LONGNAME}" "${DEVICE}" >&2

gettext_printf, bu satır ve başka satırlarda  yerelleştirme dosyasından çevirileri çağırıp basıyordu. Aklıma bir kaç gün önce gelen yerel dil çevirileri geldi. Eski ve güncellenmiş grup.po çeviri dosyalarını nemo-meld eklentisi ile karşılaştırma yaptım ve yukarıda alıntıladığım kısımdaki hataya sebep olan aşağıdaki çeviri hatasını fark ettim.

Alıntı Yap#: util/grub.d/30_os-prober.in:161
msgid "Found %s on %s\\n"
msgstr "%2$s üstünde %1$s bulundu\\n"

Bu kısım olması gerektiği gibi çevrilmemişti ve hatalı çeviri gettext_printf komutu çalışırken soruna sebep oluyordu. Teyit etmek için grub.mo Türkçe yerel dosyasını sildim ve bir çekirdek sürümü kurdum, bunun sonucunda sorunun çözüldüğünü gördüm. Hatalı çeviriyi Launchpad üzerinden düzelttim. Yani bir sonraki dil güncelleme paketleri ile bu sorun kendiliğinden düzelecek.

Bununla birlikte şu an için bu sorunun çözümüne gelirsek, 3 farklı şekilde bu sorunu kalıcı olarak çözebilirsiniz. Not: Çözümlerden sadece bir tanesini uygulamanız yeterli.

Alıntı YapÖncelikle aşağıdaki komutla paket yönetimini onarın ve sorunu çözün.

LC_ALL=C apt install -f

Sorunun bir daha yaşanmaması için kalıcı çözümler.

1. çözüm; aşağıdaki komutla Grub Türkçe dil çeviri dosyasını silmek. Bir sonraki dil güncellemesinde dil dosyası yeniden yüklenecektir.

sudo rm -f /usr/share/locale-langpack/tr/LC_MESSAGES/grub.mo

2. çözüm; düzeltilmiş dil paketini PPA deposundan güncellemek. Düzeltilmiş dil paketlerini PPA deposuna yükledim. Daha önce burada paylaştığım PPA deposunu ekleyerek dil paketini güncelleyebilirsiniz. PPA deposunu ekleyerek, ayrıca bağlantıda belirtilen sorunu da güncelleme ile çözülebilirsiniz.

3. çözüm; aşağıdaki komutlarla önceki dil paketlerini yükleyebilirsiniz. Bu şekilde dil paketi güncellemesinden önceki sorunlu çeviri bulunmayan dil paketi sürümleri yüklenecektir.

sudo apt install language-pack-tr=1:20.04+20200416 language-pack-tr-base=1:20.04+20200416

Bu durumda, sonrasında aşağıdaki komutlarla dil paketlerini kilitlemeniz gerekir.

sudo apt-mark hold language-pack-tr language-pack-tr-base

İleride bu paketlerin kilidini açmak isterseniz, aşağıdaki komutu kulanırsınız. Dil paketlerinin daha yeni sürümü gelmeden paketlerin kilidini açmamalısınız.

sudo apt-mark unhold language-pack-tr language-pack-tr-base

sudo apt install language-pack-tr=1:20.04+20200416 language-pack-tr-base=1:20.04+20200416




Mevcut çekirdek sonrası kaldırma kurulum işlemleri hatasının çözümü için yine aşağıdaki komutu çalıştırmalısınız. Sonrasında yukarıdaki işlemler ile sorun kalıcı olarak çözülecektir.

LC_ALL=C apt install -f

Øguz

Çok Teşekkür ederim. "speakerXXL"


Anlatmış olduğun 1nci yöntem ile sorunu çözdüm. Bilgisayarımın SSD'de Windows 7 ve Linux Mint kurulu her ikisinede format attım. Eğer sorunu çözen bir cevap gelmeseydi farklı bir ssd takıp yeniden format atmayı deneyecektim. Bilgisayarımda takılı olan ssd'nin arızalı olmasından şüphelenmiştim.  ;D

SSD değişimi ile de sorun çözülmeseydi ki, çözülmeyecekti malum sorun dil paketinin yanlış çevirisinden kaynaklıymış son çare olarak Ubuntu kuracaktım.  Yardımcı olan ve yardımcı olmaya çalışan tüm arkadaşlarıma teşekkür ediyorum.  :)


Rapit

Vallahi düzeldi, arkadaş resmen nokta atışı yapmış, çok ama çok teşekkürler <3