Gentoo:Portage
From Lapis Wiki
Bu makale NASIL bölümü serisinin bir parçasıdır
|
| MasaÜstü • Donanım • Ağ • 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
|
Portage Serisi Makaleleri |
|---|
| portage | emerge | make.conf | use etiketleri | cflags |
