Portage (yazılım)
Yazılım ağacı mantığı nedir?
Portage, Gentoo Linux'un paket yöneticisidir. FreeBSD Ports sistemine benzer bir sistemdir. Tam olarak bir yazılım ağacıda denebilir. İçerisinde özenle kategorilere ayrılmış stabil sürümlerde 24000'e yakın program bulundurmaktadır (Özellikle Güncel Sürümlerde). Yani her bir kuracağınız paketin/programın ebuild'lerini örneğin (www-client/mozilla) dizini içerisinde bulunur.
Portage'ı çalıştırmak için emerge komutu kullanılır. Emerge paketleri derleyen ve kuran asıl araçtır. Portage ayar dosyası /etc/make.conf dur. Bu ayar dosyasında genellikle kullanıcak bağlantı adresleri GCC derleme komutları işlemci sayısı USE Flagler bulunur. Bir programın/paketin USE Flagleri ve ebuildleri görmek için emerge -pv <paket/program-adı > komutunu vermeniz yeterlidir. USE Flagleri ayarlamazsanız; belki olumlu sonuç alamayacaksınızdır. İsteklerinize göre ayarlamanız olumlu sonuç verecektir. Çünkü USE Flag satırı içindeki tüm referanslar kontrol edilerek derlenecektir. Örneğin bir programı USE Flag içerisinde "gnome" için derleyip, kde için "-kde" parametresini kullandıysanız kde ile uyumsuz olarak derlenir.
Emerge python ile yazılmış gayet başarılı bir yazılımdır. Ebuild dosyalarını ve GCC'yi kullanarak işlemleri halleder. Ebuild dosyaları basit bash betiklerinden oluşurlar. İçerisinde kabuğa belirli komutlar verecek komutlar bulundurur.
Emerge aynı zamanda çok büyük paketler için portage ağacından binary yani hazır derlenmiş paketleride kurabilme özelliğine sahiptir. Bu özellik performansı düşüren bir özelliktir. Genellikle Open Office suiti ve benzeri büyüklükteki paketler kurulurken kullanılır.
Portage'dan tam istediğinizi almanız için birkaç tavsiye:
FEATURES="" parametresini make.conf dosyasına ekleyin, öncelikle paketlerin daha hızlı kurulması için parallel-fetch özelliğini tırnakların arasına ekleyin. Bu özellik işleri paralel olarak yürütür yani bir paket derlenirken diğeri de eşzamanlı olarak indirilir. Bunun yanında bir diğer işe yarar özellik daha var. Eğer binary paket kurmak istiyor iseniz, buildpkg özelliğini ekleyin. Bu yukarıda bahsedilen çok fazla paket bağımlılığı olan programlar için avantajlıdır. Bir diğer özellik olan userpriv usersandbox özelliği paket oluşumundaki güvenliği arttırır ikisinin bir arada kullanılması tavsiye edilmektedir (sandbox'ın diğer önemli sistem bağımlılıklarına/programlara zarar vermesini önlemesi açısından) ancak kullanıcı isteğe göre sandbox'ı devredışı bırakabilir.
|