Gentoo:Portage

From Lapis Wiki

Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Portage Gentoo'nun paket yönetim sistemidir.Windows'ta kurulan her program için bir kurulum programı vardır.Linuxta ise işler biraz farklıdır ve programları ya da program paketlerini kurmak için dağıtım seçiminize göre farklı bir yöntem kullanırsınız.

Kuracağınız tüm programların kurulumundan, güncellenmesinden Portage sorumludur.Portage yazılım geliştirme programlarından, oyunlara, mesajlaşma programlarına bir çok kategoride etkileyici bir sürü uygulamadan oluşur.

Konu başlıkları

Portage Ağacı

Portage Ağacı /usr/portage dizininde bulunur.Birbirleriyle ilişkili programlar dizinler halinde sınıflandırılmıştır. Örneğin oyunların hepsi games (oyun) klasörü altında sınıflandırılmış. Ve daha sonra oyunlar da kendi içinde (strategy) strateji, (kids) çocuklar için oyunlar şeklinde kendi içinde yeni gruplara ayrılmıştır.Bu şekilde Gentoo içinde kuracağınız her program bu listede yukarıda bahsedilen şekilde bir yer bulur. Aşağıda örnek olarak güzel bir liste var, sizin portage ağacınızı en son ne zaman güncellediğinize bağlı olarak bu liste sizinkinden biraz farklı olabilir:

# cd /usr/portage; ls
app-accessibility  dev-php4          media-fonts      sci-libs
app-admin          dev-php5          media-gfx        sci-mathematics
app-antivirus      dev-python        media-libs       sci-misc
app-arch           dev-ruby          media-plugins    scripts
app-backup         dev-scheme        media-radio      sec-policy
app-benchmarks     dev-tcltk         media-sound      skel.ChangeLog
app-cdr            dev-tex           media-tv         skel.ebuild
app-crypt          dev-util          media-video      skel.metadata.xml
app-dicts          distfiles         metadata         sys-apps
app-doc            eclass            net-analyzer     sys-auth
app-editors        games-action      net-dialup       sys-block
app-emacs          games-arcade      net-dns          sys-boot
app-emulation      games-board       net-firewall     sys-cluster
app-forensics      games-emulation   net-fs           sys-devel
app-i18n           games-engines     net-ftp          sys-fs
app-laptop         games-fps         net-im           sys-kernel
app-misc           games-kids        net-irc          sys-libs
app-mobilephone    games-misc        net-libs         sys-power
app-office         games-mud         net-mail         sys-process
app-pda            games-puzzle      net-misc         www-apache
app-portage        games-roguelike   net-nds          www-apps
app-shells         games-rpg         net-news         www-client
app-text           games-server      net-nntp         www-misc
app-vim            games-simulation  net-p2p          www-servers
app-xemacs         games-sports      net-print        x11-apps
dev-ada            games-strategy    net-proxy        x11-base
dev-cpp            games-util        net-wireless     x11-drivers
dev-db             gnome-base        net-www          x11-libs
dev-dotnet         gnome-extra       net-zope         x11-misc
dev-embedded       gnustep-apps      perl-core        x11-plugins
dev-games          gnustep-base      profiles         x11-proto
dev-haskell        gnustep-libs      rox-base         x11-terms
dev-java           header.txt        rox-extra        x11-themes
dev-lang           kde-base          sci-astronomy    x11-wm
dev-libs           kde-misc          sci-biology      xfce-base
dev-lisp           licenses          sci-calculators  xfce-extra
dev-ml             mail-client       sci-chemistry
dev-perl           mail-filter       sci-electronics
dev-php            mail-mta          sci-geosciences

Görebileceğiniz üzere kategorilere ayrılmış bir Gentoo sisteminde kurulmaya hazır bir sürü uygulama var.Bu dizinlerin her birinde bu kategoriye uyan programlar var. Örneğin net-im dizinine bakalım. (Yani (net) ağ programları üst kategorisi altında (im-instantmessenger) -anında mesajlaşma programları- na bakıyoruz:

# cd net-im; ls
aim            gaim            imcom           metadata.xml   sendxmpp
aim-transport  gaim-blogger    jabber-base     micq           silc-client
amsn           gaim-bnet       jabberd         msn-transport  silc-plugin
ayttm          gaim-meanwhile  jabberoo        msnlib         silc-server
bitlbee        gaim-snpp       jit             mu-conference  silc-toolkit
ccmsn          gajim           jive-messenger  naim           silky
centericq      gg-transport    jud             naim-modules   sim
coccinella     gnome-jabber    kadu            ntame          simpserver-bin
cpop           gnomeicu        kf              ohphone        skype
curphoo        gnomemeeting    kmess           openc6         tkabber
ejabberd       gnophone        kpopper         openmcu        tleenx2
ekg            gnugadu         kpopup          pebrot         tmsnc
ekg2           gossip          licq            pork           universalkopete
everybuddy     gtalk           linpopup        psi            yahoo-transport
express        gyach           magnesium       pymsn-t        ymessenger
gabber         ickle           mercury-bin     reaim          ysm

Sizin de görebileceğiniz üzere Linux'ta bir sürü mesajlaşma programı var! Sonuç olarak bu dizinlerden birine örneğin gaim dizinine bakalım:

# cd gaim; ls
ChangeLog  files/               gaim-0.82.1.ebuild  gaim-1.0.1.ebuild
Manifest   gaim-0.81-r5.ebuild  gaim-1.0.0.ebuild   metadata.xml

Ebuild Dosyaları

Buradaki önemli dosyalar .ebuild dosyaları. Bu dosyalar Gentoo'yu Gentoo yapan dosyalardır. Bu dosyalardan her birisi bir programın belirli bir sürümün nasıl kurulacağı ile ilgili bilgiler içerir. Bu da bir dizinde neden 4 tane ebuild dosyasının olduğunu açıklıyor, her biri gaim'in farklı bir versiyonu için. Dosyaların içindeki kurulum yönergeleri/komutları, program derlemede kullanılan make.conf dosyanıza dayalı olan ayarları içerir, sonra doğru dizin altındaki bütün dosyaları kurar ve özel komutlar ile gerekli gördüğü yerde dosya değiştirme işlemini yaparak programı sistemize kurmanızı sağlar.

Portage Nasıl Kullanılır

İlkönce portage'i bir portage rsync sunucusu ile eşitleriz.Bu eğer daha önce hiç sistemde mevcut değilse portage'in bir kopyasını sisteminize indirir. Eğer daha önce güncelleme yaptıysanız,şu anda rsync sunucusunun aynısı olacak şekilde güncelleme yapar-- Bu işlem yeni .ebuild dosyalarını rsync sunucusundan indirilip eskilerinin kaldırılmasıdır. Böylelikle Gentoo için var olan yazılımların en son sürümünün bir listesine sahip olacaksınız. Önemli bir not olarak portage ağacını her güncellediğinizde her ne kadar sadece yeni dosyaları kopyalayıp, eski dosyaları indirse de sonuç olarak portage ağacının (şemasının) en son kopyasına sahip olmuş oluyorsunuz. Bu da Gentoo'nun ne kadar ağ bağımlı bir dağıtım olduğunu gösteriyor. Her ne kadar güncellemeler hızlı olsa da güncelleme yapabilmek için portage ağacının tamamını indirmeniz gerekiyor. Bu da rsync sunucularına oldukça yük bindiriyor, bu yüzden Gentoo etiği günde sadece bir kere güncelleme yapabileceğinizi söylüyor. Portage ile etkileşim kuran komut emerge komutudur ve nasıl kullanıldığı daha sonra anlatılacaktır.

Son Not

Portage Gentoo Linuxta mevcut yazılımları listeleyen tek şeydir. Şimdiye kadar Linux için yapılan tüm programları içermez, fakat bunun yerine daha popüler ve geniş manada kullanılan programları içerir. Portage'i bu kadar güçlü yapan şey de her yazılımın güncellemesini ayrı ayrı kontrol etmeye ya da güncellemeye gerek olmamasıdır. Portage bunu bizim için otomatik olarak yapar.

Yararlanılan Kaynaklar

Gentoo:Portage

Portage Serisi Makaleleri

portage | emerge | make.conf | use etiketleri | cflags