Linux Kaynak Koddan Program Kurmak

TongYabgu

Katılımcı Üye
31 Eki 2014
338
0
39
ADANA!
Linux'de program kurma yollarından birisi programı kaynak kodlarından derleyerek kurmaktır. Bu iş biraz sıkıcı gibi görünsede, bu şekilde program kurmanın bazı avantajları vardır. İlk olarak kurduğunuz program sizin bilgisayarınıza göre ayarlanarak kurulur. (i686,i586 gibi) İkinci olarak kaynak koddan program kurma inceliklerini öğrenebilirsiniz. Tabi bu öğrenme meraklılarına göre birşey o yüzden herkesi kapsadığını söyleyemeyeceğim.

Tabi bunun yanında getirdiği bazı zorluklarda yok değil. İlk olarak kütüphanelerinizin tam olması lazım. Yoksa bulmak zorundasınız. Rpm'ye göre kurma işlemi biraz daha uzun sürecektir. Çok fazla ayrıntıya girmeden, genel olarak nasıl yapıldığına bakalım.

Kurmak istediğiniz paketi indirdiğinizi varsayıyorum. Örneğimizde Gimp paketi üzerinden işlemler yapacağız.Bundan önce işinize yarayacak bazı noktalara değinelim. Benim kaynak kod olarak indirdiğim paketlerde uyguladığım yöntem şu şekilde;

* Genelde .tar.gz veya tar.bz2 olarak indirdiğim paketler ev dizimin içinde programlar dizininde durur. Bunun alt klasörleri de olabilir. Onları burada biriktiyorum.Zaman zaman cd'ye aktarıp burayı tekrar boşaltıyorum. Lazım olduğu zamanlar cd den tekrar alıyorum. Sizde kafanıza göre istediğiniz bir yere koyabilirsiniz.

* Paketleri açmak içinde /usr/local altında "programlar" diye bir dizin oluşturdum. Bütün paketler açılmış şekilde "/usr/local/programlar" dizininde duruyor. Bunun sağladığı kolaylık, kaynak kodlardan hangi programları kurduğumu kolayca takip edebilmemi sağlıyor.


Sizde kendinize uygun birşeyler yapabilirsiniz. Neyin nerede tutulacağı size kalmış birşey... İstediğiniz bir yerde işlemlerinizi yapabilirsiniz. Tabi Linux tahamüllerinin dışına çıkmamak kaydıyla.... Yani /etc içine bir paket açıp onu oradan derlemek ,çokta parlak bir fikir olmasa gerek. Sizlere bir fikir vermesi açısından kendi yöntemimi anlattım.

Paketlerin Açılması
Şimdi ben kendi yöntemime göre anlatmaya başlıyorum. Siz ayrı şeyler tercih ediyorsanız sadece dizin isimlerini değiştimeniz yeterli...

Konsoldan yapılış şekli

Sisteme kullanıcı olarak girmiş isek ilk önce "root" haklarını alalım.

$ su -
Password:
# tar -xvzf programlar/gimp-1.3.17.tar.gz -C /usr/local/programlar


Grafik arayüzlü programlarla yapılış şekli

Graffik arayüzlü programlarla ilede aynı şeyi yapabilirsiniz. KDE kullanıyorsanız "Ark" sistemizinde kuruludur. Gnome kullanıyorsanız yine Gnome'nin programını kullanabilirsiniz. Şimdi "Ark" ile nasıl yapabilirsiniz onu açıklayalım.

* .tar.gz veya tar.bz2 şeklindeki paketimizin üzerine gelip seçili hale getirelim.
* Faremizin sağ tuşuna tıklayıp "Buraya Aç" seçeneğine tıklayalım.
* Karşımıza gelen iletişim penceresinden nereye açacağımızı gösterelim.

Paketimizi bu şekilde açmış olduk. Benim gibi /usr/local gibi dizin kullanıyorsanız. Bu işlemleri "root" olarak yapmalısınız. Normal bir kullanıcının buraya yazma hakkı öntanımlı olarak yoktur. O yüzden "root" olarak yapmalısınız.Yukarıda konsol kullanımda da "root" haklarını alarak yapmamızın nedeninde bu olduğunu söyleyelim. Eğer paketlerinizi kendi ev dizini içine açıyorsanız "root" haklarını almanıza şimdilik gerek yok. Daha sonra alacağımız yeri söyleyeceğim.

Diğer grafik arayüzlü programlar ile de aynı mantıkla işlemlerinizi yapabilirsiniz.


Açtığımız paketin içine geçelim

# cd /usr/local/programlar/gimp-1.3.17

Bu işlemi grafik arayüzle yapsak bile komut satırını kullanacağımız için istediğiniz bir konsol programını açın ve bu şekilde dizin için girin.


"configure" komutunun verilmesi

Şimdi kurulumun ilk aşamasını yapalım. Bunun için;

# ./configure

Komutunu bu şekilde vermeliyiz. "configure" komutunun yaptığı iş programın çalışması için gerekli kütüphanelerin ve bileşenlerin sistemde yüklü olup olmadığını kontrol etmektir. Eğer programın çalışması için gerekli bir bileşen yok ise sizi "şu bileşeni bulamadım. programın kurulması için gerekli" gibi mesajla uyaracaktır. Böyle birşey olduğu zaman;

* Paketin ismini alalım, daha sonra en iyi kaynak diyebileceğim "www.google.com" adresini açalım ve aratalım.
* Gerekli paketi bulup yüklemek zorunda olduğumuz için buradaki yönergeleri takip ederek o paketide kuralım.
* Bu işlemleri yaptıktan sonra tekrar "configure" komutunu verelim.
* Eğer başarlı bir şekilde kurulmuş ise "configure" işlemi hatasız tamamlanacaktır.


Bu işlemi tamamladığımıza göre derleme işlemine geçebiliriz. Ama önce ufak bir ipucu vermek sanırım yerinde olacaktır. Dışarıdan aldığımız paketler genel olarak /usr/local dizinin altına kurulurlar. Yani çalışabilir dosyaları "/usr/local/bin" , kütüphane dosyaları "/usr/local/lib", başlık dosyaları "/usr/local/iclude" dizinlerine atılır ve buradan çalıştırılırlar. Eğer bunların siz "/usr/bin" ve "/usr/lib" dizinlerine atılmasını isterseniz. "configure" komutuyla beraber ek bir parametre vermek zorundasınız. Bunu da şu şekilde yapabilirsiniz.

./configure --prefix=/usr

Bunların dışında "configure" komutunun alabileceği birçok parametre vardır. Ancak bunlar başlangıç için ağır olabileceğinden bunlara değinmeden geçiyorum. Ama merak edenler için, "configure" nin alabileceği parameterleri;

./configure --help

komutuyla öğrenebilirsiniz.

Şimdi herşeyin yolunda olduğunu düşünerek devam ediyoruz.


make" komutunun verilmesi

"configure" işlemi bittiktren sonra programın derleme aşamsına geldik.Bunun için

# make

komutunu veriyoruz. "make" komutu bahsettiğimiz gibi derleme işlemi yapıyor. Bu derleme işlemi programın büyüklüğüne göre değişebilir.Büyük boyutlu programlarda süre gerçekten uzun oluyor . Tabi makinanızın gücüne göre farklılıklar gösterecektir. Başlangıç düzeyi için yine fazla ilgi çekmeyecek ama karıştırmayı sevenler için "make" nin alabileceği parameteleri görebilmek için

# make --help

komutundan faydalanabilirsiniz. Genel olarak "--help" parametresi bütün komutlar için geçerlidir. O yüzden diğer komutlar içinde kullanabilirsiniz. Bunuda ek bilgi olarak söyleyelim.

Derleme işleminin bittiğini varsayıyorum.


"make install" komutunun verilmesi

# make install

"make install" komutu derlenmiş dosyaların gerekli yerlere aktarılmasını sağlar. Bu komutu verirken "root" haklarının alınmış olması gerekir. Eğer kendi ev dizininiz üzerinde işlem yaptıysanız. "make install" komuıtunu vermeden önce "su" komutuyla "root" haklarını alıp daha sonra "make install" komutunu verin. Eğer böyle yapmazsanız program kurulumu olmayacaktır. Zaten sizin yazma izninizin olmadığı bire yere yazmaya çalıştığınız için hata verecektir.

Bu işlemler bittikten sonra kurduğumuz programın çalışabilir dosyası "/usr/bin" yada "/usr/local/bin" dizini altına yerleşecektir.Programı çalıştırmak için konsol ekranında programınızın isminizi yazmanız yeterlidir. Diğer seçeneklerde;

/usr/local/bin/programismi
/usr/bin/programismi

Yada dizin içine girerek fare ile tıklamakta olabilir. Eğer programcı gerekli düzenlemeleri yaptıysa program "Kde veya Gnome" menüsünde görünecektir. Kısayoldan ulaşmak için masaüstüne bir tane "bağ" koyabilirsiniz.


Aynanın Diğer Yüzü

Programı kaldırmak istediğimizde ne yapacağımız açıklamaya çalışalım.Programın kaynak kodlarını kurulumdan sonra silmememizde yarar var. Ama programı kaldırma gibi düşünceniz olmayacağını düşünüyorsanız silebilirsiniz tabi ki.. Bunun için bu komutları kullanabilirsiniz.

# make clean
# make distclean

Bu komutlardan birisini kullanarak kurduğunuz programı sistemden kaldırabilirsiniz.


Burada açıklamaya çalıştığım genel olarak kabul gören kurulum şeklidir. Bunun haricinde programların kendine göre kurulum şekilleri olabilir. Bunun ilk önce program ana dizini içinde "INSTALL" dosyasını okumanızı öneririm. Bazen bu dosyaları "docs" gibi klasöre de konabiliyor. Bunu okuduktan sonra eğer bir farklılık varsa işlemleri ona göre yapmanız gerekir. Eğer burada açıklandığı gibi ise buradakileri gönül rahatlığı ile uygulayabilirsiniz. Ayrıca "INSTALL" dosyalarının için "configure" ve "make" komutlarının alabileceği parametrelerde belirtilebilir. İhtiyaç gösterdiği yerlerde bunlarıda kullanmak gerekebilir. Göz atmakta fayda var diyorum.


Bu işlemler çok fazla uzun sürmeyecektir ama anlatım için baya uzun sürdü sanırım. Umarım yararlı birşeyler aktarabilmişimdir.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.