Apt nasıl-4: Revizyonlar arasındaki fark

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
k ("Apt nasıl-4" koruma altında alındı [edit=sysop:move=sysop])
kDeğişiklik özeti yok
167. satır: 167. satır:
|[[Apt nasıl-5 |sonraki]]
|[[Apt nasıl-5 |sonraki]]
|}
|}
[[Kategori:Nasıl Belgeleri]]

23.00, 23 Mart 2009 tarihindeki hâli

Bölüm 4 - Yardımcı araçlar

4.1 Kendi derlediğim paketleri nasıl kuracağım: equivs

Bazen bir programın belirli bir versiyonunu kullanmak zorunda kalabiliriz. Bu versiyona ait bir Debian paketi mevcut değil ise, programı kaynak koddan derleyerek kendimiz kurarız. Fakat paket yönetim sistemi bu durumda şaşırabilir. Mesela kullandığınız mail sunucu yazılımının yeni bir versiyonunu derlediğinizi düşünün. Burada problem yok, ancak pek çok Debian paketi sistemde bir MTA (Mail Transport Agent) yazılımı olmasını gerektirir. Mail sunucunuzu kendiniz derleyerek kurduğunuz için paket yönetim sistemi bundan haberdar değildir ve bağımlılık hataları oluşur.

Burada equivs programı devreye girmektedir. Programı kurmak için aynı isimli paketi sisteminize kurmalısınız. Bu program ile boş bir paket yaratıp, bağımlılık problemlerini çözebilir ve paket yönetim sisteminin içini rahatlatabilirsiniz.

Başlamadan önce hatırlatmak isteriz ki, Debian için zaten paketi hazırlanmış bir programı farklı derleme seçenekleriyle derlemenin daha güvenli ve uygun yolları vardır. Eğer ne yaptığınızı tam olarak bilmiyorsanız equivs kullanmayınız. Ayrıntılı bilgi için bkz. Kaynak paketlerle çalışma, Bölüm 6.

MTA örneğimize kaldığımız yerden devam edelim. Yeni derlemiş olduğunuz postfix programını sisteminize kurdunuz ve ardından mutt paketini kurmak istediniz. Fakat mutt paketinin başka bir MTA kurulmasını gerektirdiğini gördünüz ama zaten sisteminizde bir MTA var !

Herhangi bir dizine geçip (örneğin /tmp) aşağıdaki komutu çalıştırın:


equivs-control isim

isim değerini oluşturmak istediğiniz control dosyasının adı ile değiştiriniz. Ardından dosya aşağıdaki şekilde oluşturulacaktır:

Section: misc

Priority: optional

Standards-Version: 3.0.1

Package: <enter package name; defaults to equivs-dummy>

Version: <enter version here; defaults to 1.0>

Maintainer: <your name and email address; defaults to username>

Pre-Depends: <packages>

Depends: <packages>

Recommends: <packages>

Suggests: <package>

Provides: <(virtual)package>

Architecture: all

Copyright: <copyright file; defaults to GPL2>

Changelog: <changelog file; defaults to a generic changelog>

Readme: <README.Debian file; defaults to a generic one>

Extra-Files: <additional files for the doc directory, comma separated>

Description: <short description; defaults to some wise words>

long description and info

second paragraph


Bu dosyayı kendi isteğimize göre değiştirebiliriz. Tüm alanları açıklamaya şimdilik burada gerek yok, hemen amacımızı gerçekleştirelim:


Section: misc

Priority: optional

Standards-Version: 3.0.1


Package: mta-local

Provides: mail-transport-agent


Evet, hepsi bundan ibaret. mutt paketi sistemde mail-transport-agent paketi olmasını gerektirir. Bu sanal bir pakettir ve tüm MTA'lar tarafından sağlanır. Aynı davranış için paket ismi olarak doğrudan mail-transport-agent seçebilirdik, ancak sanal paket kavramını ve Provides alanını kullanarak bunu gerçekleştirdik.

Şimdi yapmanız gereken paketi oluşturmaktır:


# equivs-build isim

dh_testdir

touch build-stamp

dh_testdir

dh_testroot

dh_clean -k

# Add here commands to install the package into debian/tmp.

touch install-stamp

dh_testdir

dh_testroot

dh_installdocs

dh_installchangelogs

dh_compress

dh_fixperms

dh_installdeb

dh_gencontrol

dh_md5sums

dh_builddeb

dpkg-deb: building package `isim' in `../isim_1.0_all.deb'.


The package has been created.

Attention, the package has been created in the current directory,


Ve sonra üretilen .deb paketini sisteminize kurmalısınız.

Gördüğünüz gibi equivs programının kullanılabileceği pek çok durum vardır. Örneğin favorilerim adlı bir paket oluşturabilir ve bu paketin sıklıkla kullandığınız paketlere bağımlı olmasını sağlayabilirsiniz (Depends alanı ile). Ardından bu paketi sisteminize kurup, bağımlılık verdiğiniz diğer tüm paketlerin de kurulmasını sağlamış olursunuz.

Örnek control dosyaları için /usr/share/doc/equivs/examples dizini altına bakabilirsiniz.

4.2 Kullanılmayan yerelleştirme dosyalarını kaldırma: localepurge

Çoğu Debian kullanıcısı sadece bir tip yerel dosyası kullanır. Örneğin bir Türk genellikle tr_TR yerelini kullanır ve hemen hiç bir zaman es kullanma ihtiyacı hissetmez.

localepurge paketi bu kullanıcılar için oldukça faydalıdır. Kullanmadığınız yerellerin sisteminizden kaldırılmasını ve yenilerinin de kurulmamasını sağlayarak disk üzerinde size yer kazandırır. Yapmanız gerekeni biliyorsunuz:


apt-get install localepurge

Paketin ayarlamaları oldukça kolaydır, debconf tarafından ilgili sorular size yöneltilecektir. Ancak ilk soruya cevap verirken dikkatli olun, yanlış bir seçim sonucu kullandığınız yerel dosyalarının silinmesine neden olabilirsiniz. Bu durumda tek çözüm, ilgili yerel dosyalarını içeren paketleri sisteminize yeniden kurmak olacaktır.

4.3 Güncellenebilir paketleri nasıl öğrenebilirim?

apt-show-versions programı sisteminizde güncellenmeye müsait olan paketler hakkında faydalı bilgiler sunar. -u seçeneği ile güncellenebilir paketlerin listesini alabilirsiniz:


$ apt-show-versions -u

libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7

libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7


içindekiler önceki 1 2 3 4 5 6 7 8 9 10 sonraki