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, commaseperated> 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.
Ç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.
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
APT NASIL
1.8.3 - Aralık 2002kov@debian.org
murat@debian.org