• Hakkımda
  • İletişim
/home/ras0ir there are no girls on the internet

Arch Linux (testing) glibc güncellemesi

08 Temmuz 2012 13:35 / 3 Comments / ras0ir

Yakın zamanda çoğu dağıtım /lib, /bin, /lib32, /lib64 gibi dizinlerin içeriklerini /usr altına taşımaya başladı. “usrmove” olarak adlandırılan bu hareket neticesinde artık kitaplık ve uygulamaların tek konumu /usr dizini olacak. Dolayısıyla dosya hiyerarşisi bakımından bir standart olacak. (Şimdilik /bin, /sbin gibi dizinler sembolik bağ olarak kalıyor). Çekirdek modülleri de artık /usr/lib/modules altında tutulmaya başladı bile.

usrmove’un başlıkla olan alakası ise, dün akşam sistem güncelleyeyim derken Arch Linux’un testing deposundaki glibc’yi güncellerken paket yöneticisinin hata vermesi üzerine aslında hiç yapmamam gereken “-f” force bayrağını çektim ve sistemin bana olan tepkisi gecikmedi: newfags cant triforce.

glibc’nin ilgili kitaplıkları /usr/lib altına gittiği için ve mevcut /lib dizininin içeriği boş kaldığı için hiçbir uygulama çalışmamaya başladı. (kabuk dahil)

Herneyse, bu durumla karşılaşma ihtimaliniz olursa eğer chroot vs. yapmadan sisteminizi kurtarmanız mümkün. Eğer henüz reboot atmamışsanız:

/usr/lib/ld-2.16.so /bin/mv /lib /libbackup
/usr/lib/ld-2.16.so /bin/ln -s /usr/lib /lib

komutlarını vererek sisteminizi kurtarabilirsiniz.

Eğer reboot atmışsanız, init açılırken kernel panic alıyorsunuz zaten. Bu durumda sistem önyükleyicinizde Arch Linux ile ilgili satırı düzenleyerek (grub için e, syslinux için tab’a basmanız yeterli) kernel parametresi olarak şunu yazmanız gerekiyor:

init=/usr/lib/ld-2.16.so /bin/sh

Bu şekilde “single user mode” ile sisteminizi açmış oluyorsunuz. Bu aşamadan sonra öncelikle dosya sisteminizi yazılabilir (rw) olarak bağlamalı, ardından da sembolik bağ işlemini yapmanız gerekiyor:

/usr/lib/ld-2.16.so /bin/mount -o remount,rw /
/usr/lib/ld-2.16.so /bin/mv /lib /libbackup
/usr/lib/ld-2.16.so /bin/ln -s /usr/lib /lib

Bu şekilde sisteminizi kurtarabilirsiniz, ilgili işlemleri yaptıktan sonra reboot atıp tekrar pacman -S glibc demenizde fayda var tabii.

Not: Bu işlem sadece 64 bitte gerekiyor olabilir, sorunun kaynağı lib32-glibc paketi aslında. Ancak yine de herhangi bir şekilde glibc patlarsa bu şekilde kurtarabileceğinizi bilin istedim :) .

Paylaş:

Posted in: Genel / Tagged: arch, glibc, linux

3 Thoughts on “Arch Linux (testing) glibc güncellemesi”

  1. Haluk Kaya on 08 Temmuz 2012 at 17:30 said:

    iyiki testing kullanmıyormuşum.

    Reply↓
  2. Hakiki Archer on 15 Temmuz 2012 at 21:31 said:

    Arch Linux web sayfasından konuyla ilgili duyuru geldi. Buradan bakabilirsin: http://www.archlinux.org/news/the-lib-directory-becomes-a-symlink/

    Reply↓
  3. kalamarr on 27 Temmuz 2012 at 14:23 said:

    şimdi testing olmayan 32 bit archtada geçerli ama ben çözmeye çalışırken yaptığım hatalar nedeniyle chrootla tam anlamadığım bir biçimde kurtardım. chrootsuz çözümler bile bende hata veriyordu

    Reply↓

Bir Cevap Yazın Cevabı iptal et

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation

← Previous Post
Next Post →

Etiket

arch cheatsheet git github gitolite glibc graylog2 iptables java jboss jira ldap leap second linux log4j lvm openkm postfix rake redmine rhel ruby sane scientific ssh ssl sslh wordpress

Son Yazılar

  • sslh: beşi bir yerde!
  • JIRA 5.x’den Redmine proje yönetim sistemine geçiş
  • Redmine, SVN ve SSL Sertifikaları
  • JBoss loglarını graylog’a göndermek
  • tık tık… kim o?

Son Yorumlar

  • JIRA 5.x’den Redmine proje yönetim sistemine geçiş için ras0ir
  • JIRA 5.x’den Redmine proje yönetim sistemine geçiş için necdet yucel
  • tık tık… kim o? için Gökhan
  • Arch Linux (testing) glibc güncellemesi için kalamarr
  • Arch Linux (testing) glibc güncellemesi için Hakiki Archer
(ɔ) Copyleft 2012 - /home/ras0ir
Infinity Theme by DesignCoral / WordPress