Gentoo:Emerge

From Lapis Wiki

(Gentoo:emerge sayfasından yönlendirildi)
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

Konu başlıkları

Giriş

Emerge Gentoo Linux'ta çok kuvvetli bir komuttur, bunun için nasıl kullanacağımızı bilmemiz önemli.

Genel olarak bir programı kurmak için (gereken bağımlılıklarla beraber) şunu komutu kullanabilirsiniz:

emerge <program ismi>

ve işi sizin için görsün. Ancak bu temel kullanımın ötesinde daha fazlası var, şimdi bazı özel durum ve programın bazı güzel yönlerine bakalım.

Özel emerge Kullanımı

Syncing

Halihazırda Portage 'ı biliyoruzsunuz ve portage ağacınızı sync edersiniz. Bunu aşağıdaki komutla yapabilirsiniz:

emerge sync

Ve emerge portage'ınızı sizin için sync edecektir.

Bilgi Alma

Ortada hiç bir şey kurmayan bir başka özel emerege komutu daha vardır. Bu bilgi toplamak veya programları kurarken kullanacağı ayarları belirlemek için kullanışlıdır:

emerge info

Emerge Komut Satır Argumanları

Emerge bir çok komut-satırı özelliğine sahiptir. Bir kaç tanesine bakalım.

emerge sync'ten sonra, şunu yapmalısınız:

# emerge -Dup world
 
These are the packages that I would merge, in order:
 
Calculating world dependencies ...done!
[ebuild  NS   ] sys-kernel/gentoo-dev-sources-2.6.9-r6
[ebuild     U ] gnome-base/gnome-mime-data-2.4.2 [2.4.1]
[ebuild     U ] gnome-base/gconf-2.8.1 [2.8.0.1]
[ebuild     U ] x11-themes/gnome-themes-2.8.1 [2.8.0]
[ebuild     U ] media-libs/nas-1.7-r1 [1.7]
[ebuild     U ] dev-libs/nspr-4.4.1-r2 [4.4.1-r1]
[ebuild     U ] dev-libs/nss-3.9.2-r2 [3.9.2-r1]
[ebuild     U ] mail-client/mutt-1.5.6-r5 [1.5.6-r4]

Burada emerge'ü 3 komut-satır seçeneğiyle kullandık: D, u ve p . Bunları hangi sıraya göre kullanacağımı önemli değil. (Örneğin: Dup, uDp, puD vb.)

D bağımlılık ağacını derinlemesine kontrol et demektir. Bu şu anlama gelir, emerge sadece ilk seviye uygulama/kütüphane bağımlılıklarını değil, tüm seviyeleri kontrol edecektir. Eğer herhangi bir uygulama veya kütüphane yenilendiyse, yapacağımız şey uygulanabilir.Bu seçenek emerge'e herhangi bir şey uygulamasını söylemez, yapılacak uygulamaya yeterlilik sağlar.

u (update) yenile anlamına gelir. Böylece programlar yeniden kurulmaz, yenilenmesi gerekenler yenilenir.

p (pretend) yaparmış gibi anlamına gelir. Bu yüzden emerge, bir merege edilecekler listesi çıkartır. Size sisteminizde yenilecek uygulamaları söyler ancak gerçekte yenileme yapmaz. Eğer bu komutu p olmadan kullanırsanız, bu durumda gerçekten kurulum işlemine geçer.

# emerge -Dupv world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!
[ebuild  NS   ] sys-kernel/gentoo-dev-sources-2.6.9-r6  -build -doc (-ultra1) 35000 kB
[ebuild     U ] gnome-base/gnome-mime-data-2.4.2 [2.4.1] -debug 0 kB
[ebuild     U ] gnome-base/gconf-2.8.1 [2.8.0.1] -debug -doc 0 kB
[ebuild     U ] x11-themes/gnome-themes-2.8.1 [2.8.0] -accessibility -debug 0 kB
[ebuild     U ] media-libs/nas-1.7-r1 [1.7] -static 0 kB
[ebuild     U ] dev-libs/nspr-4.4.1-r2 [4.4.1-r1] 0 kB
[ebuild     U ] dev-libs/nss-3.9.2-r2 [3.9.2-r1] 0 kB
[ebuild     U ] mail-client/mutt-1.5.6-r5 [1.5.6-r4] -cjk +crypt -debug -imap -mbox +nls -nntp +slang +ssl -vanilla 0 kB

Burada komuta ayrıntılı çıktı için v seçeneğini ekledik. Bu çok kullanışlıdır çünkü her programın kullandığı USE flag'lerini ve onları nasıl ayarladığınızı gösterir. Örneğin , mutt'u IMAP desteği ile derlemek için make.conf dosyanızı USE flag'ine IMAP'i eklemek için düzenleyin.

Emerge Çıktısı Bana Ne Söylüyor?

Let's discuss what the emerge output means. Şimdi emerge çıktısının ne söylediğine bakalım.

[ebuild  NS   ] sys-kernel/gentoo-dev-sources-2.6.9-r6  -build -doc (-ultra1) 0 kB

Köşeli parantezler arasındaki verilen bilgi bize iki önemli şey söylüyor: N yeni bir kurulum ve S farklı bir Slot'da olduğu. Bundan sonra verilen ise, kategori bilgisi sys-kernel , özel paket adı gentoo-dev-sources ve yeni olan sürüm ismidir 2.6.9-r6 . Bir sonraki USE flag'larıdır, bunları,-build, -doc, (-ultra1) , ben kendim ayarlamadım. 35000 kB ise internetten kurulum için indireceğimiz paket boyutunu söylüyor. S aynı zamanda paketin kurulmuş olan önceki sürümlerinin kaldırılmayacağını da belirtmekte.

[ebuild     U ] dev-libs/nspr-4.4.1-r2 [4.4.1-r1] 0 kB

Burdaki bilgiyi de diğeri gibi anlayabiliriz. Buradaki fark , bu bir yenilenmiş pakettir, U . Bu şu anlama gelir, ben zaten dev-libs/nspr paketini kurmuşum fakat yeni bir sürüm edinmek için hazır. Aslında ikinci köşeli parantezdeki bilgi bize halihazırda 4.4.1-r1 sürümüne sahip olduğumu söylüyor fakat 4.4.1-r2 sürümü mevcut. Burada bu ebuild'i etkilyecek bir USE flag olmadığına dikkat edin. Ayrıca, 0 kB bu paketi yenilemek için bir indirme yapmam gerekmediğini söylüyor.

[ebuild     UD] net-misc/openssh-4.1_p1-r1 [4.2_p1]

Yukardakilerde göremediğimiz sonucu burada bir paket eskiltmek (dikkat eksiltmek değil!) ihtiyacı olarak görüyoruz, yani bir önceki sürüme dönme. Bu birden fazla sebepten ötürü olabilir. Örneğin paket güvenlik veya kararlılık nedenleriyle sizin package.mask dosyanızda olabilir ya da kararlı olmayan bir sürümü kurmak için komut-satırından ACCEPT_KEYWORDS kullanılmıştır ve package.keywords dosyasına eklenmemiştir.

Emerge ve .ebuild dosyaları

Daha önceden herhangi bir yerden (Gentoo forumları, IRC'ten birinden,bağlı olarak) indirmiş olduğunuz bir .ebuild dosyanız olabilir, şu komutu uygulayın:

emerge dosya_ismi_her_neyse.ebuild

böylece o anki dizindeki .ebuild dosyasını okur (veya siz bunun için /sizin/kullanacağınız/dizin/ismi/path.ebuild gibi bir yol kullanıyorsanız, buradan) ve siz devam eder kurulumu yaparsınız.

Ancak bu günlerde bu özellik değer kaybetmiştir ve yakın bir zamanda emerge kodunun dışına çıkmak için bir yol bulacaktır. Bu sadece tarihsel bir bilgiydi.

Emerge Kurulum İşlemi

The emerge installation process is like any other source distribution install, except it automates a lot of the difficult procedures that you would be doing otherwise.

Emerge kurulum işlemi diğer herhangi bir dağıtımda olduğu gibidir ancak buradaki fark, o sizin yapmanız bir çok zor şeyi kendiliğinden yapar.


  1. Bağımlılıkları kontrol et
  2. Gereken bağımlılıkları kur
  3. Kaynak kodu indir
  4. Kaynak kodu aç
  5. Paketi ayarla
  6. Paketi derle
  7. Paketi test et (gerekli veya istenmişse)
  8. Paketi kur
  9. Kurulum dizinini temizle (genellikle kaldırır)

Eğer programları elle kursaydınız, genellikle paketi indirmekle başlayacaktınız. Daha sonra README ve/veya INSTALL dosyasını okuyacaktınız. Bağımlılıkları ve gereken komutları belirledikten sonra paketi kuracaktınız.

Genellikle 1. ve 2. adımlar insanların en çok nefret ettikleri adımlardır. Çünkü bir bağımlılığı kurmaya kalktığınızda, ya başka diğer bağımlılıklar da varsa? Bağımlılık ağacı hızla büyüyebilir. Bu yüzden Gentoo'nun bağımlılık çözme olayı bu kadar güzel.

Genellikle ayarlama işlemi ./configure komutu ile olur. Bazı özel paket yüklemelerinde bu biraz bezdirici olur.

Ayarlama yaptıktan sonra, genellikle make komutunu verirsiniz. Bazen bu linux make eder, bazen başka şeyler. Gentoo'nun bunu sizin yerinize bilmesi güzel bir şey.

Bundan sonra genellikle make install gelir. Belki de bazı başka komutları da kullanmalısınız. Tekraren bu sizin probleminiz değil, Gentoo bunu sizin için çözer.

Son olarak genelde cd ..; rm -rf kaynak_dizini gibi bir komut kullanırsınız. Ancak yine buna ihtiyacınız olmaz.

Önemli Bir Not

'Emerge sadece root ile kullanılacak bir program değildir!!! Bunu bilmeniz önemlidir. Kurma, kaldırma, sync gibi işler için sadece root haklarına ihtiyacınız var. Nelerin kurulu olduğuna bakma, ayarlar ve bunun gibi komutlar normal kullanıcı ile de yapılabilir. Ancak, portage önbelleği (cache)' deki gibi izin hatalarından kurtulmak için kullanıcının portag grubunda olması gerekir (eğer kullanıcı bu grupta değilse bir uyarı verecektir).


Belgenin orijinal ve çevrilmemiş hali: http://learn.clemsonlinux.org/wiki/Gentoo:emerge


Portage Serisi Makaleleri

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