Tr:NASIL:Bütün Portage Rehberi

From Sabayon Wiki
Jump to: navigation, search
i18n: ca de en es fr tr

Ön Notlar

S.Shell(Kabuk) nedir?

C. Shell(Kabuk) Windows kullanıcıları tarafından komut uygulaması olarak bilinen bir komut satırı arayüzü veya terminaldir. (MS Windows'un shell'i(kabuğu) berbat).

Shell'e(Kabuğa) ulaşmak için, Alt-F2 (komut satırını çalıştırma penceresi kısa yolu)'e basın ve konsole veya gnome-terminal veya xterm veya terminal yazın. Yönetici olarak kabuğa girmek isterseniz Alt-f2 yaptıktan sonra açılan pencereye kullandığını sisteme göre kdesu shellprogram veya gnomesu shellprogram yazınız.Teknik olarak kabuk aslında önyüz değil komut satırı ortamının kendisidir. En genel Linux Shell'i(Kabuğu) BASH (Bourne Again Shell)'dir.


S. Bu Alt-F2'de neyin nesi?

C.Sabayon kullanıcıları tarafından bilinen en faydalı araç çubuğu her türlü programı ve komutu sadece komutun adını yazarak ve enter'a basarak çalıştırabileceğiniz The Run Command Dialog'dır(Çalıştır). Alt-F2 (KDE, Gnome, XFCE, vb.. 'de çalışan) evrensel bir kısayoldur, ayrıca masaüstüne sağa tıklayarak ve menüden çalıştır komutunu seçerekte ulaşılabilir.


S. Yönergelerinizde niçin && kullanıyorsunuz?

C. Çünkü bu çoklu komutları tek bir satıra koymak için en kolay yoldur.


S. Bu rehber için neye ihtiyacım var?

C. Sabayon Linux veya Gentoo Linux kurulumuna, çalışan bir beyne (herkeste bulunmaz :), gözlere, okuma, düşünme ve öğrenme yeteneğine ihtiyaç var.

Rehber buradan başlıyor

S. Sabayon'da derleme yaparak nasıl yazılım kurarım?

Kısa Cevap: Yönetici olarak terminalde şunu yazın emerge <packagename> packagename olan yere kurmak istediğiniz paketin adını yazın.Bu şekilde paket bağımlılıkları hesaplanıp size sunulacaktır.Daha sonra derlenmeye başlanılacaktır.

örnek: emerge firefox Bu komuttan sonra firerox portage sayesinde bulunup,indirilip kaynak kodundan derlenmeye başlanacaktır.

Uzun Cevap:

Bu hangi metodu kullandığınıza ve kurmak istediğiniz yazılıma bağlıdır. GENELLİKLE İLK İKİ METODU GÖZARDI ETMEK İSTEYECEKSİNİZ!!!

Windows Yazılımı

Herşeyden önce WINE kullanarak Windows yazılımı kuruyorsunuz kullanıcı shell'ine şunu yazın wine /path/to/setuporinstallerexe.exe (where path to setup or installer is exactly that, note that Linux shell environment isn't fond of spaces and represents them as "\ ")

Kaynak Kurulumu

Not: Aşağıdaki yönergeler geneldir, özel örnekler veya her adımdaki doğru seçeneklerle birlikte komutsatırı örnekleri için google'ı kullanın :), veya beyninizi.

  1. Firefox veya shell'de wget kullanarak veya farklı yollarla kaynak paketi indiriniz.
  2. Shell'de tar, Ark veya File-Roller kulanarak genellikle tar.bz2 veya tar.gz olan kaynağı dışarı çıkartınız.
  3. Çıkarılmış dosyayı Root olarak Nautilus, Konqueror veya root shell'de cp -R kullanarak /usr/local/src 'a taşıyınız
  4. Çıkarılmış paket dizini /usr/local/src 'deki BENİOKU ve KURULUM dosyalarını okuyunuz
  5. Dizini şunu yazarak değiştiriniz cd /usr/local/src/packagename (packagename yazan yere paketin adı)
  6. Unless otherwise stated in the README and INSTALL files if a configure script exists, type ./configure' otherwise make one (usually required for svn or cvs installs) by typing autoconf (if autoconf gives errors type libtoolize && autoreconf, then type rm configure && autoconf)
  7. Unless otherwise stated in the README and INSTALL files if a makefile exists type make && make install
  8. Tamamdır

Son olarak, Sabayon ve Gentoo için EN KOLAY ve EN İYİ yöntem Portage / Emerge 'dir.

Portage

Portage Gentoo ve Sabayon tarafından sisteminizde paketi bulundurmak, kurmak ve kaldırmak için kullanılan bir paket yönetim sistemidir. Portage sistemi ebuildlerin toplamı olan Portage tree, ebuildleri kuran emerge komutu, portage konfigurasyon dosyaları ve üçüncü parti portage / emerge araçlarından oluşur.

The Portage tree merkez yazılım paket deposunun ( /usr/portage 'da konumlandırılmış) yerel bir kopyasıdır. Emerge komutu ile sisteminize bir yazılım kurmak istediğinizde, the Portage tree taranır. Eğer eşleşen bir paket ismi bulunursa, bağımlılıkları hesaplanır, paketin kaynak kodu ve bağımlılıkları indirilir ve onların hepsi sisteminize derlenir ve kurulur.

Ebuild

Ebuild Portage yazılım yönetim sistemine bir önyüz olarak emerge'e bir dizi yönerge vermek için, Gentoo & Sabayon tarafından kullanılan özelleştirilmiş bir bash script formatı'dır. Bir ebuild yazılımı derleme ve kurulum prosüdürünü icra etmek için otomatikleştirilmiş bir yoldur.

Portage deposundaki her bir paketin veya uygulamanın her bir versiyonu için, onun için yazılmış bir ebuild script'i vardır.

Ebuild script'i emerge tarafından kullanılır. Emerge aracı işini yapmak için ebuild'i kullanır: istenilen yazılım kurulumunun bağımlılıklarını hesaplama, gerekli dosyları indirme (ve eğer gerekiyorsa onları yamamak), paketi ayarlamak (USE flag ayarlarına bakarak), derlemek, ve sandboxed kurulumu yapmak (ön tanımlı olarak /var/tmp/portage/[ebuild name]/image/ 'de). Bu adımların başarılı tamamlanmasından sonra kurulmuş dosyalar sandbox'ın dışında canlı sisteme birleştirilir.

Gentoo Portage deposunda bulunan pek çok ebuild kaynak koddan programları derlemek için kullanılsa da, binary paketleri kuran ebuild'ler, sadece belge veya fontlar gibi veri kuran ebuild'ler ve (GNOME ve KDE metabuild'ler gibi) sadece diğer ebuildler'in kurulumunu tetikleyen "metabuilds" diye adlandırılan temel ebuild'ler de vardır.

Ebuildler'in yaratılması yönergeleri için bakınız Gentoo Development Guide: Quickstart Ebuild Guide and Gentoo Development Guide.

Emerge

Emerge komut satırı aracı Portage'ın kalbidir. Komut pek çok seçeneği ve tanımlayıcılarıyla oldukça complekstir. Python programlama dilinde yazılmıştır. Emerge aracı komut satırından Portage'in özelliklerine ulaşmak için en önemli yazılımdır.

Program bağımlılıkları hesaplar ve yönetir, ebuild'leri çıkarır ve kurulu paket veritabanını ve yerel Portage tree'i sağlar. Ebuildler tarafından kullanılan derleme ayarları kullanıcının optimizasyon isteği ve bireysel bilgisayarın özelliklerine bağlı olarak CFLAGS ortamı değişkenliği uyarınca değiştirilebilir. Emerge yazılımı sandbox ortamında ebuild'leri yürütür. This way the system is protected from software executed by the ebuild and resulting binaries are only merged after a successful build and sandboxed install.

Emerge'in bağımlılık olarak ne kuracağı USE flag-settings'ten etkilenir. Onlar bir uygulama kurulurken veya yülseltilirken hangi seçmeli özelliklerin içeriliceğine karar verir. The emerge command can also be used to download and install binary files, although some people argue that using binary packages is not taking full advantage of Portage's power since it foregoes the compile-time optimization options normally available.

To do stuff with emerge

You can mix and match most of the flags or switches below. Emerge works best run as root. See man emerge for more information.


Portage'i senkronize etmek / Portage Tree'i Güncellemek

emerge --sync

Bu online serverlardan yerel Postage ağacını günceller ve yeniden kurar. Emerge'in en son veriyi kullandığından garanti ettiğinden dolayı bir paketi kurmaya ve kadırmaya başlamadan önce bu komutu çalıştırmak isteyeceksiniz. Sık sık ayrıca şunuda çalıştırmak isteyeceksiniz

layman -S

bütün overlay'leri güncellemek için. (Ovarlay ile ilgili olarak daha fazlasını şuradan okuyabilirsiniz #Overlays & layman)

Paketleri Kurmak

# emerge <packagename> 

veya

# emerge =packagecategory/packagename-version

(=packagecategory/packagename-version geçerli atom paketi olarak bililnir)

Bu bir paketi kurar, yükseltir veya daha alt bir sürüme düşürür.

# emerge -u <packagename> 

veya

# emerge -u =packagecategory/packagename-version 

Bu paketi en iyi sürüme yükseltir, en son sürüm olmak zorunda değildir.

Portage'da 11000 'den fazla paket vardır, br kaç kurulabilecek paketin atomu aşağıdadır.

  • www-client/mozilla-firefox-2.0.0.1-r2
  • net-fs/samba-3.0.24
  • media-video/mplayer-1.0_rc1-r2
  • app-emulation/wine-0.9.30
  • media-gfx/inkscape-0.44.1

Paketlere şuradan bakılabilir

http://packages.gentoo.org/ (official)

veya

http://gentoo-portage.com/

Elbetteki genellikle paket adını özelleştirebilrisiniz (eg mozilla-firefox, samba, mplayer, wine or inkscape)

Paketleri Kaldırmak

# emerge -C <packagename> 

veya

# emerge -C =packagecategory/packagename-version 

Bu bir pkaeti kaldırır.

# emerge -c <packagename> 

veya

# emerge -c =packagecategory/packagename-version 

Paketi ve paketin gereksiz bağımlılıklarını temizler veya kaldırır.

# emerge --depclean 

Sistem veya world dosyalarında listelenmeyen bütün paketleri kaldırır.

Portage'in Verbosity'ini Değiştirme

# emerge -v <packagename> 

Bu portage'i verbose yapar.

# emerge -q <packagename> 

Bu portage'i quiet yapar.

Arama

# emerge -s <packagename> 

Bu paket adıyla birlikte bir paketi arar.

# emerge -S <packagename> 

Paket adıyla bir paketi veya paket tanımında arama yapar.

Asking ve Pretending

# emerge -a <packagename> 

Bu emerge'e her adımı, eylemi kullanıcıya onaylattırır.

# emerge -p <packagename> 

Bu emerge'İn aşağıdaki eylemleri yaparmış gibi görünmesini sağlar ama gerçekte yapmaz. -v flag ile birleşmiş olması faydalıdır. Pretend için sağlanan bilginin anahtarları aşağıda gösterilmiştir. N = yeni (henüz kurulmamış) S = yeni SLOT kurulumu (side-by-side sürümleri) U = güncelleme (bir diğer sürüme) D = alt sürüme indirme (en iyi sürüm daha alt sürüm olarak görünüyor) R = yenilemek (aynı sürümü yeniden birleştirir)) F = getirmenin sınırlandırılması (elle indirilmelidir) f = getirmenin sınırlandırılması (zaten indirilmiştir) B = halihazırda kurulu bir paket tarafından engellenmiştir

Diğer hoş seçenekler

# emerge -1 <packagename> 

paketleri kurduğunuzda world listesine paket/leri (kurulmasını istediğiniz paketlerin listesini eklemez.

# emerge -o <packagename> 

sadece bağımlıklarını istediğinizden paket/leri birleştirmez

# emerge -f <packagename> 

paket/leri kurmaz veya dışarı çıkarmaz sadece getirmek istiyorsunuz / kaynak veya binary paketini indirme.

# emerge --resume 

sona erdirmek için ctrl -c kullanarak yarıdayken sona erdirdiğinizde, en son eyleme geri döner.

Büyük güncellemeler & yeniden derlemeler

# emerge world

veya

# emerge -e world

Kurulmasını istediğiniz paketlerin listesini / world dosyasındaki herşeyi yeniden kurar / yükseltir. Bu eğer doğru planlama, paket maskeleme (aşağıya bakınız) ve doğru switch'ler / flag'laryapılmazsa TEHLİKELİ'dir. Dünya güncellemesi yapmak için en iyi yolu görmek için Gentoo forumları veya Gentoo wiki'indeki nasıllara bakın ve İyi Şanslar.

# emerge system

veya

# emerge -e system

Core sistem paketlerinizle alakalı herşeyi yeniden kurar / yükseltir. Bu world birleştirmesi kadar tehlikeli değildir, ama hala doğru planlama gerektirir.

Overlays & layman

Portage overlayları bulunmayan paketkerlin veya ana tree'den ayrı paketleri içeren doğal portage tree'lerdir.

Overlaylar PORTDIR_OVERLAY="" in /etc/make.conf değiştirerek elle eklenebilir , ama Sabayon'da biz layman (overlay yöneticisi) kullanmayı tercih ediyoruz.

# layman -l

Bu bütün overlay'ları listeler.

# layman -S

Bu bütün kurulu overlay'ları senkronize eder. (emerge --sync gibi)

# layman -s <overlayname> 

Bu overlay'ı overlay adıyla senkronize eder.

# layman -a <overlayname> 

Bu bir overlay'i ekler / kurar. Sonuca ulaşmak için edit /etc/make.conf ihtiyaç duyabilrsiniz.

# layman -d <overlayname> 

Bir overlay'i kaldırır / çıkarır. Sonuca ulaşmak için edit /etc/make.conf ihtiyaç duyabilrsiniz.

Sabayon overlay türünü senkronize etmek için:

# layman -s sabayon 

Eğer BÜTÜN overlaylar'da paketleri aramak istiyorsanız, o halde şunu yapın:

# emerge eix && update-eix && update-eix-remote update 

Şimdi büütn ovarlay'larda anahtar kelime aramak için şunu kullanabilrsiniz eix <keyword> (tam eşleşme için -e seçeneğini kullanabilrsiniz). Sonra gerekli overlay'i eklemek için layman'ı kullanabilrsiniz. Zaman zaman update-eix && update-eix-remote update çalıştırmayı unutmayın.

3.parti paketler ve overlay'e ilgili daha fazlası için bakınız http://www.gentoo-wiki.info/HOWTO_Installing_3rd_Party_Ebuilds .

Overlay'lar ile ilgili daha fazlası için bakınız http://en.gentoo-wiki.com/wiki/Portage_Overlay

Portage GUI Aaraçları

Kuroo ve Porthole KDE'de ve Gnome'da emerge / portage için GUI önyüzleridir. Ama Kuroo aktif olarak geliştirilmiyor ve artık portage tree'de yok. Porthole Kuroo'dan daha az zor olduğu söyleniyor çünkü Kuroo'nun şikayet ettiği portage kurallarını göz ardı ediyor.

Portage GUI önyüzlerinin diğer ikisi, her ikiside GTK temelli Portato ve Himerge'dir (sonuncusu Haskell'de yazılmıştır).

İsteğe Bağlı: You can speed up the portage GUI tools and emerge by typing as root emerge udept, then as root typing dep -w, this cleans up the Sabayon Linux world file and it takes some time but does speed up merging.

Installing Himerge

See also HOWTO: Install Himerge
# emerge -av himerge

Hard masked Packages & /etc/portage/package.mask and /etc/portage/package.unmask

Masked / Hardmasked packages are packages in portage that are locked or blocked from being installed for many reasons.

(=packagecategory/packagename-version) This is what is known as a valid package "atom". Anytime you receive an error in Portage concerning package "atoms" one of three possibilities may exist:

  1. You typed the package atom incorrectly. Check your typing and re-emerge.
  2. The atom only exists in the SabayonLinux overlay and you need to #layman -S to update the overlay and re-emerge the package
  3. The atom you are trying to install does not exist at all.

Examples of valid package atoms that may need to be masked or unmasked include

  • =x11-drivers/xf86-video-i128-1.2.1
  • =sys-apps/dbus-1.0.2
  • <=dev-libs/dbus-glib-0.73

To mask a package add a line for that package containing either =validpackageatom or >validpackageatom or <validpackageatom or >=validpackageatom or <=validpackageatom depending on which version of that package you want to mask, in /etc/portage/package.mask

To unmask a package add a line for that package containing either =validpackageatom or >validpackageatom or <validpackageatom or >=validpackageatom or <=validpackageatom depending on which version of that package you want to unmask, in /etc/portage/package.unmask.

Packages are masked for a reason, this reason is either provided in portage, or can be identified by asking other people. Be careful when masking and unmasking packages.

More info here: http://www.gentoo-wiki.info/Masked

Missing keyword

If portage says: "masked by: missing keyword" while emerging, it means that the packages isn't available for your architecture yet, i.e. you are running x86_64 and the package has for instance "x86" keyword only. If you really need that package, then you can try: echo "category/package x86 ~x86" >> /etc/portage/package.keywords to override it for package in a category. (Note: I've used the unstable "~x86" since the rest of Sabayon is running with unstable keywords anyway). As Gentoo is source based there's good chance of package compiling and working without modifications.

More info here: http://www.gentoo-wiki.info/Masked

/etc/portage/package.keywords

This file is used to run unstable packages on stable systems or ebuilds that haven't been tested on your platform. This file isn't that important to Sabayon users, but gentoo-wiki.com has more information if you are interested.

/etc/make.conf

See here http://www.gentoo-wiki.info/MAN_make.conf_5

etc-update & dispatch-conf

These tools update configuration files after packages have been emerged. man etc-update and man dispatch-conf , provide the need to know information. When in doubt make a backup of your old config file and then update. If something bad happens restore to the backup.

revdep-rebuild, equery, eix, and more

revdep-rebuild rebuilds broken packages caused by reverse dependencies and libraries breaking.

revdep-rebuild -Xp before typing revdep-rebuild -X is a good idea. -X makes it ignore specific package version, -p makes it pretend, similar to emerge -p

revdep-rebuild takes time and often involves big emerges, but your system should be working good by the end of it.

equery and eix are extended portage search tools, man equery and man eix provide their syntax and for further resources see gentoo-wiki.com and the Gentoo Forums.

Thanks to

--Appleman1234 23:48, 15 February 2007 (PST)