Ana Sayfa » *nix » FreeBSD Upgrade Prosedürü (7.x’ten 7.2’ye)

FreeBSD Upgrade Prosedürü (7.x’ten 7.2’ye)


BerbatKötüİdare EderGüzelHarika (Toplam 1 oy. 5 puan üzerinden ortalama 5,00 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...
freebsd-logo FreeBSD sistemleri güncellemek için izlenebilecek iki yol var. Bunlardan birisi klasik olarak freebsd kaynak kodlarını sisteme çekip rebuild işlemini yapmak; İkincisi ise 6.3 versiyonundan beri kullanlabilen freebsd-update aracı ile binary güncellemesi yapmaktır. Bu yöntemlerden en paratik olanı süphesiz ki binary güncelleme yöntemidir. İşte bu makalede de, freebsd-update kullanarak FreeBSD 7.0'dan, 7-2'ye nasıl güncelleme yapılabildiği anlatılmaktadır.

Eğer kaynak koddan, rebuild işlemi yaparak sisteminizi güncellemek isterseniz, daha önce yayınladığım FreeBSD'de cvsup ile sistem güncellemek başlıklı yazıyı inceleyebilirsiniz.

freebsd-update(8)‘in, temel olarak iki kullanım alanı bulunuyor. İlki, güvenlik güncellemelerinin, yeniden derleme ve yükleme işlemine gerek kalmaksızın sisteme geçilebilmesi ve ikincisi ise gene aynı mantıkla sistemin üst sürümlere terfi edilmesi.  Bu açıdan oldukça kullanışlı bir araç.

Bu yöntemle sisteminizi 7.x sürümünden, 7.2 sürümüne kolayca upgrade edebilirsiniz. Ben 7.0 olan sistemimi,  7.2'ye upgrade ettim. Aşağıdaki adımları izleyerek sizde upgrade işlemini yapabilirsiniz.

Başlamadan Önce Uyarılar


Upgrade işleminin sorunsuz gitmesi ve sonrasında herşeyin düzgün çalışabilmesi için işe başlamadan önce şu konulara dikkat etmeniz gerekiyor.

  • Hali Hazırda Çalışan Programlar

    Upgrade işlemi eski paylaşılmış nesneleri (shared objects) ve  kütüphaneleri (libraries) kaldırdığı için sisteminizde çalışan 3. parti yazılımların bozulmasına neden olabilir. Bu nedenle, upgrade işleminden sonra sistmde çalışam eski yazılımların da kaldırılıp yeniden yüklenmesi ya da portupgrade yazılımı ile upgrade edilmesi gerekiyor.

    Dolayısı ile zaten çalışmakta olan uygulamalarınızın, upgrade sonrasında da sorunsuz çalışması için bu konuya dikkat etmenizi öneririm. (Tüm 3. parti uygulamaların yeni sürümde de çalışabildiğine emin olun.)

    Paketleri kaldırıp yeniden yüklemektense, portupgrade kullanarak upgrade yapmak daha mantıklıdır. portupgrade'e, ağacının ports-mgmt/portupgrade dizininde bulabilir ve kurabilirsiniz. Sisteminizde ağacı bulunmuyorsa, Portsnap ile Süratli Ports Collection Güncellemesi sayfasından yararlanarak yükleyebilirsiniz.

    İşleme başlamadan önce, ağacınızı güncellemeniz, portupgrade yazılımını kurmanız yerinde olacaktır.

    # cd /usr//-mgmt/portupgrade
    # make install clean

    portupgrade ile paket güncelleme işlemi, yazının ilerleyen bölümlerinde, ilgili başlık altında bilahare anltılacaktır.

Kernel'iniz Özelleştirilmişse (Custom Kernel)


Özelleştirilmiş kernel kullanıyorsanız, upgrade öncesi yapmanız gereken bir iki işlem bulunuyor.  (Eğer kernel derleme işlemi yapmadıysanız, BU ADIMI ATLAYABİLİRSİNİZ.)

Öncelikli olarak, upgrade işlemi GENERIC diye tabir edilen öntanımlı kernel'in bir kopyasına ihtiyaç duymakta ve bu kernel'in /boot/GENERIC dizininde olması gerekmektedir.

Bu nedenle, sisteminizde ön tanımlı kernelin bulunduğuna emin olun. Eğer yoksa, aşağıdaki yönergelerden hareketle sisteminize yükleyebilirsiniz.

    • Sadece Bir Kez Kernel Derlediyseniz

      Bu durumda, orjinal kernel dosyası /boot dizini/kernel.old ismi ile durmaktadır. Bu dizinin ismini aşağıda görüldüğü gibi GENERIC olacak şekilde set ederseniz, upgrade işlemi bu kerneli kullanabilir.

      # mv /boot/kernel.old /boot/GENERIC

Bu şekilde freebsd-update GENERIC kerneli kullanabilecektir.

    • GENERIC Kernel'in CD'den Temin Edilmesi

      Sistemde, birden fazla sefer kernel derlemesi yaptıysanız, kernel.old dizini bir önceki kernel'in yedeği olacağı için işe yaramaz. Bu durumda, GENERIC kernel'i sisteme CD'den yüklemek icap eder, aşağıdaki adımları izleyerek bu işlemi yapabilirsiniz.

      (FreeBSD 7.0 kullandığınınızı varsayarsak) 7.0 cd'sini cdrom'a yerleştirdikten sonra sonra:

      # mount /cdrom
      # cd /cdrom/7.0-RELEASE/kernels/
      # sh install.sh GENERIC

Ancak sisteminizde, cdrom olmayabilir ya da elinizde kurulum cd'si yoktur. Bu durumda, aşağıdaki yönegeleri izleyerek GENERIC kernel'i kaynak kodundan kurabilirsiniz.

  • Kaynak Koddan GENERIC Kernel Kurulumu

    Ben bu yöntemi kullanmadım ancak FreeBSD Handbook‘unda, işlem adımları şu şekilde belirtiliyor.

    # cd /usr/src
    # env DESTDIR=/boot/GENERIC make kernel
    # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC
    # rm -rf /boot/GENERIC/boot

    Kernel ile ilgili işlemleri tamamladıktan sonra upgrade işlemine başlayabilirsiniz.

Sistemin Upgrade Edilmesi


Güncelleme için ilk şu şekilde:

# freebsd-update upgrade -r 7.2-RELEASE

Sisteme bu komutu verdiğiniz zaman, freebsd-update programı sistemi inceleyerek güncelleme için gerekli olan bilgileri toplar, sonrasında da yüklü olan ve olmayan komponentlerin listelendiği şu çıktıyı veriri.

Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching public key from update5.freebsd.org... done.
Fetching metadata signature for 7.0-RELEASE from update5.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic src/base src/bin src/cddl src/compat src/contrib
src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib
src/libexec src/release src/rescue src/sbin src/secure src/share src/sys
src/tools src/ubin src/usbin world/base world/dict world/doc world/games
world/info world/manpages

The following components of FreeBSD do not seem to be installed:
world/catpages world/proflibs

Does this look reasonable (y/n)? y

“y” diyerek geçtiğimiz bu sorudan sonra, güncelleme için gerekli olan tüm paketler download edilmeye başlanır.

Özel Kernel Kullanıyorsanız

Kernel'iniz özel olarak derlenmişse, ek olarak aşağıdaki çıktıyı da görürsünüz.

WARNING: This system is running a "testkern" kernel, which is not a
kernel configuration distributed as part of FreeBSD 7.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install"

(Uyarıda belirtilen “testkern” benim kullandığım kernel'in ismidir.)

Bu noktada, update işlemi şimdilik GENERIC kernel üzerinde yapılacağından, uyarıyı dikkate almanıza gerek yoktur. “y” diyerek devam edebilirsiniz.

Download işleminin bitmesinin ardından, indirilen tüm dosyalar sisteme uygulanacaktır, donanımınızın özelliklerine göre bu işlem biraz uzun sürebilir. Ayrıca, bu işlem sırasında yapılandırma dosyaları eski sürüm dosyaları ile birleştirilecektir. (merge)

Ayrıca, bazı dosyalar için da onayınız istenecek ve manuel merge yapmanız gerekecektir.

İkinci adımda, download edilen dosyaları sisteme uyguluyoruz.

# freebsd-update install

Bu komutla ilk olarak kernel ve kernel modülleri patchleniyor. Ardından sistemi reboot etmeniz gerekiyor.

Özel Kernel Kullanıyorsanız

Bu durumda sisteminizi aşağıda görüldüğü şekilde nextboot komutunı vererek GENERIC kernel ile boot edilecek şekilde reboot etmeniz gerekiyor.

# nextboot -k GENERIC

Böylece sisteme restart komutunu verdiğiniz zaman, açılılşta (upgrade edilen) GENERIC kernel kullanılacaktır.

Warning UYARI: Sisteminizi GENERIC kernel ile boot etmeden önce, GENERIC kernel'in özelleştirilmiş kernel'da kullanılan ve sistemin açılabilmesi için gereken tüm driverlar içerdiğinden emin olun. Ayrıca, özelleştirilmiş kernelde kullanılan tüm kernel modüllerini de GENERIC kernel'e boot/loader.conf dosyasında belirtmek sureti ile yükleyin.

Şimdi sistemi restart edebiliriz.

# shutdown -r now

Sistem açıldıktan sonra, bir kez daha freebsd-update install komutunu vermemiz gerekiyor.

# freebsd-update install

Bu işlem, sistemin upgrade aşamasında nerede olunduğunu kaydetmesinden dolayı, upgrade prosedürünü baştan başlatmayacak, sadece eski paylaşılmış nesneler ve kütüphaneler sistemden kaldırılmasını sağlayacak.

Upgrade işlemi tamamlandı sayılır. Son olarak sistemde daha önceden kurulu olan paketlerin upgrade edilmesi gerekiyor. (Bu yazılımlar upgrade edilmemeleri durumunda, bir önceki işlemle sistemden kaldırılan nesne ve kütüphaneleri kullanıyor olabilecekleri için çalışmayabilirler.)

Upgrade işlemini yazının başında da belirttiğim üzere portupgrade yazılımı ile kolayca yapabiliriz. Sistemde kurulu olan tüm paketleri upgrade etmek için aşağıdaki adımları izleyebilirsiniz.

# portupgrade -f 
# rm /var/db/pkg/pkgdb.db
# portupgrade -f ruby18-bdb
# rm /var/db/pkg/pkgdb.db /usr//INDEX-*.db
# portupgrade -af

Paketlerin upgrade edilmesinin ardından, bir freebsd-update'i bir kez daha çalıştırıyoruz.

# freebsd-update install

Son olarak sistemi yeniden reboot etmek gerekiyor, ancak eğer custom kernel kullanıyorsanız, bu aşamada kernelinizi herzamanki gibi yeniden derleyerek kurmalısınız.  Sonrasında reboot edebilirsiniz.

Eğer, kernel'iniz custom değilse direk  olarak reboot edin.

# shutdown -r now

Upgrade işlemi tamamlandı. uname -a komutunu verdiğiniz zaman FreeBSD'nin 7.2'ye upgrade edilmiş olduğunu görmeniz gerekir.

# uname -a

Çıktı aşağıdakine benzer olacaktır.

FreeBSD freebsd.ebiuniverse.com 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Fri May  1 08:49:13 UTC 2009 [email protected]:/usr/obj/usr/src/sys/TESTKERN  i386

Herşeyin yolunda gittiğinden emin olmak için, sistem üzerindeki tüm uygulamalarınızın düzgün olarak çalışıp çalışmadığını kontrol etmenizi öneririm.

Hepsi bu kadar.

Visited 927 times, 1 visit(s) today
Kategoriler: *nix |

Bu yazılar da ilginizi çekebilir:


- FreeBSD Sistemlerde Kurulu Paketlerin Update Edilmesi
- FreeBSD – pkg_add: File unavailable (file not found, no access)
- Custom Kernel Kurulumu.
- FreeBSD’de cvsup ile sistem güncellemek.
- FreeBSD 6.2 Kurulumu – Part I: Başlangıç

Yorumlar


  1. Kenan | (Haziran 2nd, 2009 10:11 pm)

    Bende 6.4-RELEASE var ve kerneline dokunulmamış yani generic. Elimde 7.2 CD’ler var yeni indirdim ve bu CD’ler ile sistemi 7.2’ye güncellemek istiyorum, nasıl yaparım acaba? Yukarıdaki prosedürde int. bağlantısı oldugu varsayılıyor fakat FreeBSD makinamın bulunduğu yerde int. yok. dolayısı ile “update.FreeBSD.org” e bağlanma yerine CD’den okutarak devam etmek mümkün müdür, mümkünse, nasıl yapılır, yardımcı olursanız sevinirim.

    Teşekkürler.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Merhaba,

    Yapmak istediğiniz major upgrade’e giriyor. İnternet bağlantınız yoksa kaynak koddan rebuild world yaparak upgrade yapabilirsiniz.

    Ben denemedim ama şöyle olabilir;

    sysinstall ile 7.2’nin kaynak kodlarını sisteminize aktardıktan sonra rebuilding world işlemi yapabilirsiniz. Bu konuyla ilgili bir yazı yazmıştım: http://www.syslogs.org/2007/12/freebsdde-cvsup-ile-sistem-guncellemek/ (siz kaynak kodları cd’den temin edeceğiniz için cvsup adımlarını geçip buildworld ve sonrasındaki işlemleri yapmalısınız.)

    Ayrıca, FreeBSD Handbook’unu takip ederek upgrade yapmanızı öneririm.
    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html

    Son olarak, upgrade yapmadan önce muhakkak backup alın.

    Kolay gelsin.

    [Cevapla]

  2. Nevzat | (Ekim 20th, 2011 3:48 am)

    Merhaba,

    freebsd-update install kodunu girince şöyle bişeyler çıkıyor

    No updates arc available to install.
    Run /usr/sbin/freebsd-update fetch first.

    Yazıyor hiç birşey anlamadım ve

    # portupgrade -f ruby
    # rm /var/db/pkg/pkgdb.db
    # portupgrade -f ruby18-bdb
    # rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db
    # portupgrade -af

    Bu komutlarıda girmiyor 7.2 ‘ye güncelliyemiyorum YARDIM !!!

    [Cevapla]

  3. cem karaca | (Mayıs 9th, 2013 6:55 am)

    Harika döküman, hatasız ilerledim teşekkür ederim

    [Cevapla]

Trackbacks

Yorumda bulunun.