Apt nasıl-4

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Korumalı sayfa.png

Bu sayfa değişiklik koruması altındadır.

Nedeni: :Bu sayfa önemli bilgiler içermektedir. Değişikliklerin uzaman kişilerce yapılması daha uygundur. Eğer bir değişiklik yapılması gerektiğini düşünüyorsanız lütfen bir yönetici ile iletişime geçin
Bu koruma işlemi Sayfa koruma politikası uyarınca işleme konulmuştur.


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:

Dosya İçeriği
Dosya yolu:

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:


Dosya İçeriği
Dosya yolu:

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