FreeBSD Sistemlerde Kurulu Paketlerin Update Edilmesi
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYRBpcvf' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
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.
Portupgrade Nedir?
Pkgtools da denen, Portupgrade içerisinde bir kaç aracı birden barındıran ve sistem araçlarının yeteneklerine eklemeler yapmak ve geliştirmek için kullanılan bir yazılım.
Portupgrade ile birlikte gelen araçlar ve kullanım amaçları şöyle:
- portupgrade: Kurulu portların upgrade edilmesi için kullanıluyor.
- portinstall: Yeni bir portun kurulumu için.
- pkg_deinstall: Gelişmiş pkg_delete.
- pkg_fetch: Uzak sunucudan paket çekmek için.
- pkg_which: Hangi dosyaların, hangi paketlere ait olduğunu belirlemek için.
- pkg_glob: Paketleri örneğin bağımlı paketlerine göre listelemek gibi işler için.
- portversion: pkg_version aracının süratlisi.
- portsclean: Paket workdir'ları, kullanılmayan kütüphaneleri vs. temizlenmesi için.
- portcvsweb: Paketlerin change loglarını instant olarak webden görüntülemek için.
- pkgdb: Paket veritabanını yönetmek ve arama yapmak için.
- portsdb: Port index'ini içeren binary veritabanı oluşturmak için.
- portdu: Kurulu paketlerin disk kullanımlarını belirlemek için.
Pkgtool's ile gelen paketlere ve ne iş yaptıklarına değindikten sonra kurulum ve kullanım ile ilgili bilgilere geçmek istiyorum.
Kurulum
Portupgrade default gelen bir yazılım olmadığından, port ağacının, ports-mgmt/portupgrade dizininden kurmak gerekiyor.
NOT: Kurulumu yapmadan önce port ağacınızın güncel olduğuna emin olun. Güncellemek için bkz: http://www.syslogs.org/2008/06/using-portsnap/ |
Kurulum işleminde bir enteresanlık yok, her zamanki gibi dizine girip make install clean diyoruz:
# /usr/ports/ports-mgmt/portupgrade # make install clean
Portupgrade, kurulabilir paketlerin, kurulu olan paketlerin ve paket bağımlılık bilgilerini binary bir database'de tutuyor. Bu nedenle kullanmaya başlamadan önce ilgili veritabanını oluşturmak/güncellemek gerekiyor.
Bu işlemi şu şekilde yapabilirsiniz:
# pkgdb -Fu
Ayrıca, her port agacı güncellemesinden sonra da db'yi yukarıdaki şekilde update etmek yerinde olacaktır.
Kullanım
Önce hangi paketlerin güncellenmesi gerektiğini listeleyin; bunun için aşağıdaki iki komuttan birini kullanabilirsiniz.
ya da
# pkg_version -vIL=
Update edilmesi gereken paketler belirlendikten sonra, tüm paketleri güncellemek üzere şu komutu verebilirsiniz.
# portupgrade -a
Bu komut tüm paketleri soru sormaksızın güncelleyecektir. Update işlemini daha kontrollü yapmak isterseniz, update onayının alınması için -i ile interactive mode'u devreye alabilirsiniz.
# portupgrade -ai
Tüm paketler yerine sadece belirli bir paketi ve bağımlı paketlerini güncellemek için ise aşağıdaki portupgrade -R paket_adi şeklinde bir komut kullanılabilir.
Örn:
# portupgrade -R perl
Ya da bazı paketler hariç tüm paketleri güncellemek istiyorsanız, -a -x güncellenmeyecek_paket_adi gibi bir komut kullanabilirsiniz. Örneğin aşağıdaki komut, ruby ve portupgrade dışındaki tüm paketleri yeni sürüme update edecektir.
# portupgrade -a -x ruby -x portupgrade
Kullanım şekillerini örneklendirmek mümkün. Tüm özelliklerin bir listesine portupgrade -h komutu ile ulaşabilirsiniz.
Daha fazla bilgi için bkz:
http://wiki.freebsd.org/portupgrade
http://www.freebsd.org/doc/en/books/handbook/ports-using.html
Bu yazılar da ilginizi çekebilir:
- FreeBSD Upgrade Prosedürü (7.x’ten 7.2’ye)
- Portaudit ile Kurulu Paketler için Zafiyet Takibi
- FreeBSD – pkg_add: File unavailable (file not found, no access)
- Portsnap ile Süratli Ports Collection Güncellemesi.
- Php4’ten Php5’e Upgrade
Yorumlar
Trackbacks
Yorumda bulunun.
Çok güzel bir yazı hazırlamışsınız. Şuan sistemi yazınıza göre güncelliyorum. portinstall üzerine de ufak bilgiler paylaşabilir misiniz ? :)
İyi günler …
[Cevapla]