Gentoo Altında Program Kurulumu

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

emerge ve qpkg araçlarını kullanarak Gentoo altına paket kurmak ve yönetmek


emerge aracı komut satırından çalışan Portage sistemi için tam ve eksiz bir araçtır. Temel olarak paketlerin kurulumu için kullanılır ve emerge kurmak istediğiniz paketle ilgili tüm bağımlılıkları otomatik olarak halledebilir. (Yani bir paket kuracaksanız bu paketin ihtiyaç duyduğu diğer tüm paketleri bulur)


Emerge Python dilinde geliştirilmiştir ve /usr/portage dizininde bulunan .ebuild uzantılı dosyaları kullanır.ebuild dosyaları /etc/make.conf içinde belirttiğimiz değişkenlere göre kaynak kodun nasıl kurulacağını belirler.

Konu başlıkları

Temel emerge komutları

Yazılımları Kurmak

Bir paketi kurmak için

 emerge paketadı

Eğer bir paket başka paketleri içerir veya diğer paketlere bağımlı ise bu paketler de otomatik olarak kurulacaktır:

 emerge kde

komutu KDE'nin tümünü ve KDE'nin ihtiyaç duyduğu tüm paketleri kuracaktır.


Bir paketi kurmak ve o paketin tüm bağımlılıklarını (ihtiyaç duyduğu tüm paketleri) güncellemek için:

 emerge -u paketadı

To update a package, all packages it depends on and all packages they depend on (--deep, just about everything):

 emerge -uD package

Kaldırmak

Bir paketi kaldırmak için:

 emerge -C paket adı

Uzun uzun yazmak esterseniz isterseniz emerge unmerge paketadı şeklinde de kullanabilirsiniz.

Kurmak için yeni yazılımlar aramak

Paketleri ara (paket ismine göre):

 emerge -s anahtarkelime

Paketleri ara (açıklama bilgilerine göre):

 emerge -S keyword

Mevcut portage şemanızı halihazırda mevcut bulunan en son portage şemasına eşitlemek için:

 emerge sync

Not : Portage şeması kurulu yazılımları bir ağaç şeklinde listeler halinde sıralayan bir dizin yapısıdır.

Diğer Kullanışlı Özellikler

Kurarmış Gibi Yapmak

Bir paketi tamamen kurmak yerine --pretend seçeneği ile eğer --pretend seçeneği kullanmasaydık hangi paketlerin kurulucak olduğunu görebiliriz. Kısacası --pretend seçeneği ile kurma işleminin bir nevi provasını yapmış oluyoruz ;-)

 emerge -p paket adı


Sadece Kaynak Kodlarını İndirmek

Paketleri sadece internette indirmek (--fetchonly), yani arşivlemek (bağımlılıklarıda indirilir), fakat derlemek istemiyorsanız, aşağıdaki komutu kullanabilirsiniz:

 emerge -f package

İndirilen paketler /usr/portage/distfiles dizini altında tutulur. Derleme işlemi hatasız bir şekilde bittikten sonra, bu dizin ,iç,ndeki dosyaları silmenizde bir sakınca yoktur. Aksi takdirse fazladan yer tutarlar.

Sisteminizde kurulu bütün dosyaları güncellemek için, ilk önce indirmek istiyorsanız, aşağıda komutu kullanabilirsiniz:

 emerge -efD world

Bütün sistemi güncellemek

Sisteminiz en güncel hale getirmek ve en güncel paketleri kullanmak/kurmak istiyorsanız, -uD (--update --deep) parametresi ile bunu yapabilirsiniz:

 emerge -uD world

Bu işlem esnasında, eğer bir programı ACCEPT_KEYWORDS ile kurduysanız, o program silinir ve en sağlam olan paket ile değiştirilir. Ya da kurmadan önce emerge -uDp world kullanarak, emerge -uD world komutu ile kurulacak olan paketleri ve sürümlerinin listesini inceleyebilirsiniz.


USE Etiketleri

Bir paketi veya programı kurmadan önce veya kurulu olan paketlerin hangi USE etiketleri ile kurulduğunu öğrenmek için ağağıdaki komutu kullanabilirsiniz. İŞlem sonunda size + veya - işaretleri ile kullanılan veya kullanılmayan USE etiketlerini hakkında bilgi aktarılır:

 emerge -pv package

-p parametresi ile emerge işlem yapmaz, yani paketler kurulmaz, aksine yapılacak olan işlemden önce size USE etiketlerinin listesini gösterir. USE etiketlerini devamlı olarak kullanmak istiyorsanız veya devamlı olarak kurduğunuz her pakette USE etiketleri ile destek evrmek istiyorsanız /etc/make.conf dosyasını içindeki USE değişkeni ile tanımlayabilirsiniz. Eğer sadece belirli bir programı belirli bir USE etiketi vermek istiyorsanız, aşağıdaki komutu kullanabilirsiniz:

 USE="-X -esd -gnome -gtk" emerge bitchx
 USE="-X -gpm" emerge mc

Bu işlem sonucunda, sadece o anda kurulan pakete USE ile tanımlanan etiket desteği verilir veya çıkartılır.

Masked packages

Some packages are masked , meaning they won't install unless they are specifically demanded.


Why packages are masked

A package may be masked because it fails to compile or has serious bugs. It may also simply be masked because the latest version to brand new and therefore not tested enough to be included in the main portage tree.

Masked does not mean dangerous or unstable. Usually the latest stable release is what is used by default, while the development releases are masked.

A package can be masked for one, a few or all architectures (x86, ppc, sparc, sparc64, or alpha).

Installing masked packages

To install a masked package on sparc:

 ACCEPT_KEYWORDS="~sparc" emerge package

To install a masked package on x86:

 ACCEPT_KEYWORDS="~x86" emerge mozilla-firebird-cvs

It is quite possible to set ACCEPT_KEYWORDS="~x86" in /etc/make.conf. This is generally a bad idea, specially if you have no idea what you are doing.

To check for the latest masked version of a package:

 ACCEPT_KEYWORDS="~x86" emerge -pv gimp

package.mask

Some packages do not want to be installed even if you are using ACCEPT_KEYWORDS="~x86". These packages are randomly specified by the nice gentoo development theme and configured in:

 /usr/portage/profiles/package.mask

If you are wondering if there is a later version of a package than what is available as a masked package in portage, try:

 grep gimp /usr/portage/profiles/package.mask

If this shows you a line like..

 >=media-gfx/gimp-1.3

.. then edit package.mask and add a # in front of that line, or:

 mv package.mask package.mask.tmp
 sed s/gimp/#gimp/g > package.mask


Manageing installed packages

Gentoo lists the latest available and installed version of a package when you do a standard search:

 emerge search package

But the 'emerge' tool can't make a list of all installed packages. To do so, Install Gentoolkit (not installed by default):

 emerge gentoolkit

Gentoolkit includes qpkg. To use it to list all installed packages:

 qpkg -I

Note that the package database is actually in /var/db/pkg/.

To view what's changed between the latest available version of a program and the latest installed version, use etcat -c.

 etcat -c mozilla


What package installed program X?

 qpkg -f /bin/ls
 
 sys-apps/fileutils *

Use which together with qpkg to insert the right path for executables:

 qpkg -f ``which du``

Read the qpkg manpage for more information.

You can get a list of all programs installed with emerge -evp --deep:

 emerge -evp --deep world

Note that this lists wrong versions (=latest stable) for all packages installed with ACCEPT_KEYWORDS.

A better way of doing this is using qpkg, part of the package gentoolkit:

 qpkg -I 


Çift dosyaları veya eski sürümü kurulmuş olan paketleri nasıl bulurum?

qpkg programının yardımı ile bir programın eski sürümlerini veya kurulan birden fazla sürümü olup olmadığını tespit edebilirsiniz. qpkg programı gentoolkit paketinin içindedir

 qpkg --dups -v

Diğer başka bir yol ise emerge komutunun arkasına P (prune) parametresini eklemek:

 emerge -Pvp

Hangi paketler hangi paketine bağımlı?

etcat komutunun yardımı ile paketlerin bağımlılıklarını tespit edebilirsiniz. Bunun için

 etcat -d packagename

komutunu vermeniz yeterlidir.

Resim:dikkat.pngetcat programını kullanabilmek için gentoolkit paketini önceden kurmanız gereklidir.