FreeBSD – pkg_add: File unavailable (file not found, no access)

Herhangi bir nedenle son sürüme upgrade edemediğiniz (etmek istemediğiniz) eski sürüm bir FreeBSD’de pkg_add kullanarak paket yüklemek istediğiniz zaman aşağıdaki gibi bir hata ile karşılaşabilirsiniz:

Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.0-release/Latest/xxx.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.0-release/Latest/xxx.tbz' by URL

Bu problemin nedeni eski sürüm FreeBSD’lere ait paketlerin FreeBSD ftp sunucularında sürüm ismi ile bulunmamasıdır.

Yukarıdaki örneğe bakarsanız, FreeBSD 8.0 i386 bir sistem için kurulmak istenen paket ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.0-release/Latest/ adresinde aranmaktadır. Oysa ftp sunucusunda 8-0 sürümü için paketler ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/ dizininde bulunmaktadır.

Böyle bir durumda pkg_add aracı ile paket yüklemek için PACKAGESITE değişkenini doğru ftp dizinine bakacak şekilde set etmek gerekmektedir.

Bu işlem setenv komutu ile yapılabilir:

Yazinin devami icin tiklayin.


FreeBSD Sistemlerde Kurulu Paketlerin Update Edilmesi

FreeBSD sistemlerde, halihazırda kurulu olan paketlerin yeni versiyonlara kolayca update edilebilmesi için kullanılabilecek portupgrade, portmanager ve portmaster gibi yazılımlar bulunuyor. Malum, FreeBSD port ağacı sürekli güncellendiği için hali hazırda kurulu paketler kısa zaman sonra out-of-date oluyorlar. Dolayısı ile sürekli güncelleme yapılması gerekiyor.

Ben paketlerin update işlemleri için yukarıda bahsettiğim yazılımlardan portupgrade’i kullanıyorum. Aslında blogdaki bazı konularda portupgrade lafı geçiyor ancak detaylı olarak hiç değinmemiştim. Bu nedenle bu yazıda, portupgrade kullanarak halihazırda kurulu olan paketlerin nasıl update edilebileceğine değinmek istiyorum.

Yazinin devami icin tiklayin.


FreeBSD Ports Reinstall – FORCE_PKG_REGISTER

Üzerinde FreeBSD çalışan sisteminizde, daha önceden ports collection üzerinden kurmuş olduğunuz bir paketin ek bir modülünü, eski kuruluma ait dosyaları silmeden üzerine yazmak sureti ile devreye almak isteyebilirsiniz. Bunun için gerekli düzenlemeleri yapıp ilgili ports dizininde “make install” komutunu çalıştırdığınız zaman aşağıdaki hatayı almanız muhtemeldir.

FreeBSD

An older version of lang/php5-extensions is already installed (php5-extensions)
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of lang/php5-extensions
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Yazinin devami icin tiklayin.