LinuxQ Sıkça Sorulan Sorular Advertisement
  Ana Sayfa
Ana Menü
 Ana Sayfa
 Belgeler
 Linux SSS
 Linux Forum
 Web Link
 Gebze Nakliyat
 Nakliyat

Login Form
Kullanici Adı

Şifre
Şifrenizi mi unuttunuz?
Hesabiniz Yokmu? Yeni Hesap Açın

Haber Başlıkları
Linux Today
Paz, 05 Eyl 2010 16:52
Linux Today
How to install PC-BSD on an encrypted ZFS file system
Ubuntu 10.10 beta arrives with new netbook UI
Webcam server on Linux 2
Security Forums
Paz, 05 Eyl 2010 16:52
BSD Today
Paz, 05 Eyl 2010 16:52

En Son Eklenenler
Kaynak Kodlarindan Program Nasil Kurabilirim ve Kaldirabilirim ?
Sisteme baglı HDD'lerdi partitionlari nasil görebilirim ?
Bir dizindeki dizin/altdizin altında belirli bir kelime aratmak
Kulanılan bellek miktarini nasil öğrenebilirim?
Bir dosyanın içerdiği türü nasil öğrenirim ?

Flash

 Pazar, 05 Eylül 2010
Kaynak Kodlarindan Program Nasil Kurabilirim ve Kaldirabilirim ?   PDF  Yazdir  E-Posta
Written by Administrator  
Perşembe, 27 Mayıs 2004

Kaynak Kodlardan Program Derleme / Kaldırma


    Bir programın kaynak kodları farklı çeşitlerde verilebilir. En basitinden kaynak, tek bir .c dosyası olabilir. Bu tip programları derlemek için yapmanız gereken şey oldukça basit;

$ gcc programım.c -o çalıştırılacak dosya

    Bazı durumlarda gcc'e ek parametreler verilmesi gerekebilir. Bu yüzden kodları indirdiğiniz sayfayı veya kodların içindeki açıklama satırlarını okumanız gerekmektedir.

    Eğer program daha karmaşık bir yapıya sahip ve bir .c dosyasında tutulmayacak durumda ise genelde karşımıza .tar.bz2 ve tar.gz ler çıkar. Çok nadiren de olsa Linux için hazırlanan kaynak kodlar .zip biçiminde gelmektedir. Bu dökümanda da yazılan şekilde arşivimiz açıyoruz,

$ tar -jxf kodlarım.tar.bz2

veya

$ tar -zxf kodlarım.tar.gz

veya

$ unzip kodlarım.zip

    Bulunduğumuz klasör içinde program adıyla aynı bir dizin oluşmuş olmalı. Bu, kaynak kodun bulunduğu dizindir.

# Dizine geçiş yapalım

$ cd kodlarım

# İçinde ne var ne yok bakalım

$ ls

    Genellikle bu tip dizinlerde "ls" nin çıktısı benzerdir çünkü bu paketler hazırlanırken standart araçlar kullanılır. İlk olarak sistemimizde gerekli araçların/yardımcı uygulamaların olup olmadığını kontrol eden ve buna göre derleme komutlarını hazırlayan "configure" script'ine deyinelim. Script'i çalıştırmak için;

$ ./configure

komutunu vermelisiniz. Bu şekliyle kendisine fazladan hiçbir ayar belirtmedik, bu yüzden öntanımlı değerleri kullanacaktır. Bu komuttan hemen sonra ekranda akan "checking..." şeklinde yazılar göreceksiniz. Bu, sistemdeki kontrol sürecidir.

$ ./configure --help

ile o programa ait configure script'ine neleri nasıl belirtebileceğinizi görebilirsiniz. İşte birkaç standart ayar parametresi,

--cache-file=dosyam , configure test sonuçlarının tutulduğu dosyadır. Öntanımlı olarak config.cache

--no-create , script'in yaratması gereken dosyaların yaratılmasını engeller. Configure hiç çalışmamış gibi olur, genellikle test amaçlı kullanılır

--quiet, --silent , bazen şu "checking..." yazılarını görmek istemeyebilirsiniz

--prefix=DIZIN , programın kurulacağı ana dizin, genellikle bu değere /usr veya /usr/local verilir

--exec-prefix=DIZIN , prefix ile aynı

--bindir=DIZIN , çalıştırılabilir dosyaların atılacağı dizin (kullanıcı için)

--sbindir=DIZIN , sadece root haklarına sahip kullanacağı çalıştırılabilir dosyalar için dizin

--libexecdir=DIZIN , programın kendi çalıştırılabilir dosyalarını tuttuğu dizin

--datadir=DIZIN , salt okunur dosyalar için dizin

--sysconfigdir=DIZIN , programa ait özel dosyalar için dizin

--sharedstatedir=DIZIN , değiştirilebilir dosyalar için dizin

--localstatedir=DIZIN , programa ait özel değiştirilebilir dosyalar için dizin

--libdir=DIZIN , program kullanacağı kütüphaneler için dizin

--includedir=DIZIN , C başlık dosyaları için dizin

--oldincludedir=DIZIN, GCC için olmayan C başlık dosyaları için dizin

--infodir=DIZIN , info dokümanlarının tutulacağı dizin

--mandir=DIZIN , man sayfalarının tutulacağı dizin

--srcdir=DIZIN , kaynak kodların tutulduğu dizin

--program-prefix=ONAD , programa eklenecek önad

--program-suffix=SONAD , programa eklenecek son ad

--program-transform-name=PROGRAM , derlediğiniz program üzerinde sed ile adları değiştirir

--enable-* --disable-*

--with-*

    Bu üç değer programlardan programa değişiklik gösterebilir. Bu yüzden kaynak kodların bulunduğu dizindeki README, INSTALL ve "configure" script'inin yardım bölümünü incelemenizi tavsiye ederim.

Basit bir configure örneği:

./configure --prefix=/usr --mandir=/usr/share/man --enable-gui --with-gtk

    Bu aşamadan sonraki adımlar oldukça kolaydır. Çok özel bir durum olmadıkça kullanılacak "make" komutuna ek bir şey yazmanıza gerek yoktur. Make, kaynak kodları derleyerek çalıştırılabilir dosyalar haline getirir.

$ make

    Buraya kadarki işlemleri kullanıcılar gerçekleştirebilir. Fakat "make install" komutunu root hakları ile çalıştırmalısınız. Çünkü bu komut kullanıcıların dosya kopyalamasına izin olmayan yerlerde işlemler yapar,

$ su root # Root olmak için


# make install

    Eğer bir hata almadıysanız programınız başarı ile yüklenmiş demektir. Artık programınızı gönül rahatlığı ile çalıştırabilirsiniz. (Duruma göre konsoldan veya menülerden)

    Programları derleyerek kurduk peki nasıl kaldıracağız?

    Paketlenmiş dizinleri kurulum yaptıktan sonra kaldırmanızı tavsiye ederim. Çünkü daha sonra kaldırmak oldukça büyük bir dert olacaktır. Genellikle çoğu kişi bu tür dizinleri /usr/src/ altında tutarlar. Böylece dizinler kaybolmamış olur, hem de bir düzen kurulmuş olur. Diyelim kurduk programı ve işimize yaramadı kaldırmak istiyoruz. Öncelikle derleme işlemini gerçekleştirdiğimiz dizine girelim

# cd /usr/src/programdizini

    Daha sonra artık standart haline gelmiş komutu kullanalım

# make uninstall

    Böylece program "make install" ile yerleştirdiği dosyaları düzgün bir şekilde kaldıracaktır. Buna ek olarak bir de "make clean" komutu bulunmaktadır. Genellikle bu komut "./configure" ve "make" komutlarının yarattığı dosyaları temizler. Temiz bir derleme işlemi için kullanışlıdır.

 
İstatikler
OS: Linux h
PHP: 4.4.4-8+etch6
MySQL: 5.0.32-Debian_7etch12-log
Time: 16:14
Members: 164
Hits: 161772
News: 24
WebLinks: 4

Browser Prefs
Favorilere Ekle
Ana Sayfa Yap

Sayaç
161772 Visitors

Kimler Bağlı
We have 34 guests online

Kim var ?
Bağlı kullanicı yok

 
Go to top of page  Ana Sayfa | Belgeler | Linux SSS | Linux Forum | Web Link | Administrator | Gebze Nakliyat | Nakliyat |