Gönderen Konu: Linux'ta Program Yüklemek  (Okunma sayısı 4023 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı fortran

  • Forum Gurusu
  • *****
  • İleti: 1.671
  • Bir insanı sevmekle başlar her şey...
    • get GNU
Linux'ta Program Yüklemek
« : 26 Nisan 2014, 07:05:08 ös »
Windows'tan, Linux'a geçen kullanıcıların büyük çoğunluğu program yüklemekte sorun yaşarlar. Windows kullanırken, program yüklemek son derece basit bir iştir. Yükleyeceğiniz kurulum (Setup) dosyasına çift tıkladığınızda, bir ekran çıkar ve sadece İleri tuşuna basarak bir programı yükleyebilirsiniz. Bu iş o kadar kolaydır ki, bilgisayara uzak olan kimseler dahi program kurulumunu yapabilir.

Linux dünyasında işler ne yazık ki biraz daha karmaşıktır. Program kurmaya kalktığınızda, deb, apt, rpm, make, config, package vb. onlarca terim karşınıza çıkar. Karşılaşacağınız sorunlar bunlarla da bitmez; bağımlılık (dependency) ve eksik kütüphane dosyaları başınızı ağrıtır. Dağıtımınıza uygun kurulum paketlerinin olmayışı can sıkıcı bir konudur.

Yeni bir program kurmak, Linux'a başlayanlar için oldukça tatsız bir deneyim. Bu yazımızda, saydığımız sorunların üstesinden gelmenin yollarına değineceğiz. En popüler dağıtımlarda program kurmayı da işleyeceğiz.

Neden bu kadar zor?

Bunu açıklamak için konunun başına dönmek gerekiyor. İnsanlar, Linux'u Windows XP veya Windows 2000 gibi bir işletim sistemi olarak düşünmekteler. Aslında Linux bir işletim sistemi değil; işletim sistemi çekirdeğidir. Firmalar veya şahıslar, bu çekirdeği alır ve bunu kullanarak bir dağıtım hazırlar. Yani SuSE, Ubuntu, Pardus veya Redhat yüklediğinizde, yüklediğiniz şey aslında Linux çekirdeği üzerine kurulmuş bir işletim sistemidir.

Bütün dağıtımlar, elbette ki, birbirlerine az çok benzerler ama bu onların farklı olduğu gerçeğini değiştirmez. Dünya genelinde, 300 üzerinde Linux dağıtımı ­bir başka değişle 300 üzerinde Linux tabanlı işletim sistemi­ bulunuyor. İşte sorun da buradan kaynaklanmakta. Yeni geliştirilmiş bir programın, her dağıtımda kolayca kurulup, çalışabilmesi oldukça zor bir konu. Var olan çeşitliliği düşününce, zaman zaman uyumsuzlukların olması ve sorunların çıkması gayet olağan bir durum. Windows XP için hazırlanmış bir kurulum dosyasını, Windows ME'de çalıştırmaya kalkarsanız, uyumsuzluk sorunları yine olabilir. Program yüklemenin sıkıntısı, çeşitliliğin bir sonucudur; hatayı Linux'ta aramamak lâzım.

Program Derlemek...

Açık yazılım dünyasında geliştirilmiş çoğu programın, başka ortamlara taşınabilirliği yüksektir. Yazılımın kodu ortadadır ve sizin yapmanız gereken bu kodu derlemektir. Bu sayede, dağıtım bağımsız bir yapıda programı kurup, kullanma fırsatınız olur. Üstelik bunun için programlama bilmeniz gerekmez.

Her programın uyacağı belirli bir standart yok. Ancak çoğunluğun sahip olduğu, genel kurallar bulunuyor. Hemen hemen hepsinde, README ve INSTALL adında okunabilir metin (text) dosyalarını bulabilirsiniz. Bu iki dosya, programın ne olduğunu, yüklemek için nelere ihtiyacınız olduğunu içerir. Bir programı derlemek için yapacağınız ilk iş shell\'de, programı açtığınız (extract) yere gelip, "./configure" yazmaktır. ./configure yazdığınızda karşınıza çıkacak ekran, gerekli programlardan hangilerinin sizde olup olmadığını yes/no ifadeleriyle gösterir.



 ./configure komutu, uzunca bir komut akışı yaratır. Eğer işlem sonunda, "configure: error:" şeklinde bir hata çıkarsa, işletim sisteminizde, gereken bir araç (program, kütüphane veya derleyici) yüklü değil demektir. Örneğin, VLC isimli video yükleme programını kurmak istediğimde, "configure: error: Missing header file ffmpeg/avcodec.h." şeklinde bir hatayla karşılaştım. Yani, yüklü olması gereken bir başlık dosyası bulunamamıştı ve işlem başarısızlıkla sonuçlandı. Gerekli dosyaları yükleyip bu sorunları çözebilirsiniz.

Şayet her şey yolunda gider ve ./configure işlemi başarılı olursa, ikinci yapacağımız işlem konsolda "make" yazmaktır. Bunu yaptığınız takdirde, program yüklenmeye hazır olur. Son aşamada programı yüklemek için "make install" yazarız. Programımız yüklenir ve biz de kullanabiliriz.

Bilgilerimizi özetleyecek olursak:

    * Konsolda, programı açtığınız klasöre gelin ve "./configure" yazın. Eğer eksik dosya veya programlardan kaynaklanan hatalar çıkarsa, önce bunları yükleyin. Her şey olması gerektiği gibiyse, hata mesajı çıkmayacaktır ve 2.adıma geçebilirsiniz.
    * make yazıp, programı yüklemeye hazır hâle getirin.
    * make install yazarak, programı yükleyin.

Eğer programı kaldırmak isterseniz, aynı klasörde "make uninstall" yazabilirsiniz.

Programları derleyerek kurmak oldukça zahmetli bir uğraş. Açıkçası Linux'a yeni başlayanlara, bu yöntemi kesinlikle tavsiye etmem. Dosya bağımlılıkları ve derleyici sorunlarıyla boğuşmak, yorucu bir mücadele gerektiriyor. Sorunlarla boğuşmak yerine, daha önce derlenmiş ve çalıştırılmaya hazır paketleri (packages) kullanmak çok daha kolaydır.

Paketler

Windows'ta program kurmak için, çoğu zaman bir şeylerin Setup.exe dosyasına tıklarsınız. Setup.exe önceden derlenmiş ve bu nedenle sizi uğraştırmayan bir yapıdır. Size sadece kurulumu yönetmek kalır.

Benzer bir imkan, Linux dağıtımlarında da bulunur. Daha önce birileri kaynak kodlardan, yazılımı derlemiş ve kullanıma hazır hâle getirmiştir. Siz programın paket dosyasını indirir ve aynı Windows'taki gibi üzerine tıklarsınız. Karşınıza bir ekran çıkar ve onay vermeniz durumunda, program kurulumu başlar. İşlem son derece basittir ve bir iki tıklamayla tamamlanır. Aşağıda amsn'in kurulum paketini çalıştırdığımda karşıma gelen ekranı görebilirsiniz:



Paket Yönetim Sistemleri ( Package Management System )

Paket yönetim sistemleri; yazılım paketlerini (programları) yüklemek, güncellemek, ayarlamak ve kaldırmak işlemlerini otomatik hâle getiren araçların bütünüdür. Diyelim ki sisteminize, Winamp gibi mp3 dinlemenizi sağlayacak XMMS programı kurmak istiyorsunuz. O zaman paket yönetim sistemine girip, programın adını yazar ve kurulması için işaretlersiniz. Programın Internet'ten indirilmesi, dosya bağımlılıklarının çözülmesi, gerek duyulan eksiklerin giderilmesi paket yönetim sisteminin sorumluluğundadır. Bir program yükleyeceğiniz zaman, başvuracağınız en kestirme ve zahmetsiz çözüm programın adını veya yaptığı işi paket yönetim sisteminde aratmaktır.

Paket yönetim sistemleri şu şekilde çalışır:



 Paket yönetim sistemlerinin çok geniş arşivlerleri vardır. Örneğin Ubuntu'nun kullandığı Synaptic Paket Yöneticisi, 22.000 civarında programa erişim imkanı vermektedir. Astronomiden, matematiğe; TV izleme araçlarından, mp3­, DivX programlarına kadar envai çeşit yazılımı bulabilirsiniz. Ancak bulamayacağınız yazılımlar da olabilir.

Her yazılımın, kullandığınız paket yöneticisinde olması gerekmez. Biraz popülerliği olan bir yazılımı, muhtemelen paket yöneticisinin depolarında bulabilirsiniz. Ama yeni çıkmış veya pek tanınmayan bir programı, paket yöneticisinde bulmak oldukça zordur. Bu gibi durumlarda, paketin kurulumu size düşer.

Ufak bir uygulama...

Debain tabanlı Ubuntu dağıtımınında, ufak bir uygulama yapalım ve MSN Messenger benzeri; amsn programını yükleyelim:


Synaptic Paket Yönetcisini, resimde görüldüğü gibi şekilde açıyoruz. Karşınıza root şifresini soran bir ekran gelecektir. root şifresini değiştirmediyseniz, kullanıcı şifrenizle aynıdır.


Üst menüde bulunan Search düğmesine basarak, yüklemek istediğimiz programın adını yazıyoruz.(Sadece program adından bulmak zorunda değilsiniz. Dilerseniz, programın ne işe yaradığına dair anahtar kelimelerle de arama yapabilirsiniz.)


amsn adında tek bir program çıkıyor. Listenin sol tarafından programı yüklemek için seçiyoruz. Bunun için "Mark for Installation" yazısını işaretlemeniz gerekiyor.


Üst menüden Apply (Uygula) düğmesine basıyoruz. Yukardaki resimde de görebileceğiniz, hangi programın yükleneceğini gösteren bir ekran çıkıyor. Bu ekranda Apply'a basarak, programın kurulumunu başlatıyoruz. Bundan sonrası, Paket Yönetim Sistemine kalmış... Merak etmeyin, program sorunsuzca yüklenecek ve kullanımınıza hazır hâle gelecektir.

Dağıtımlara Göre Paket Tipleri

Daha önce de belirttiğimiz gibi Linux dağıtımları birbirlerine çok benzerler ama aynı değillerdir. Örneğin Debian tabanlı dağıtımlar, sonu .deb ile biten paketleri kullanırken, Fedora, SuSE, Redhat gibi dağıtımlar RPM paketlerini kullanır. Üstelik Fedora'da çalışan bir rpm, SuSE'de çalışmayabilir.


Debian paketlerini, RPM paketi üzerine kurulmuş dağıtımlarda kullanmazsınız. Bu durumun tersi de geçerlidir. Ancak Debian kullanıcılarının bir avantajı vardır; alien komutuyla RPM paketini, DEB hâline dönüştürebilirler. Verilen komut her zaman başarılı olmayacaktır, yine de denemeye değer. Denemek isteyenler, konsoldan "sudo apt-get install alien" yazarak, dönüştürme programını yükleyebilir.


 RPM tarafına dönersek; SuSE'ye ait bir RPM paketini, Redhat'te kullanma şansınız vardır. Ama bu her zaman birbirlerine ait RPM paketlerini çalıştırabileceğinizi göstermez. Unutmayalım, her dağıtımı farklı bir işletim sistemi gibi düşünmek gerekiyor. Windows 98'de çalışan bir programın, Windows 2000'de çalışacağının garantisi olmadığı gibi, Linux tarafında da garantisi yok.

Internet'te gezerken bir programın dikkatinizi çektiğini ve yüklemek istediğinizi varsayalım. Dağıtımınızın kullandığı paket yöneticisi bu programı bulamıyor olabilir. O hâlde yapmanız gereken, kullandığınız dağıtıma uygun paketi indirmek olacaktır.

Sonu .deb ile biten paketler, Debian tabanlı dağıtımlar içindir. Bunlara Ubuntu, Xandros, Linspire gibi dağıtımlar girer. RPM'ler ise, SuSE, Redhat, Fedora ve Mandriva gibi dağıtımlarda kullanılan dosya formatıdır. Bazı yazılımlarsa, dağıtım bağımsız, şekilde sunulur. Örneğin, Tomcat uygulama sunucusunun dosyalarını alıp, bir klasöre açarsanız, ekstra bir işlem yapmadan kullanabilirsiniz.

Bahsedebileceğimiz bir başka türdeyse, dosya sonu .bin ile biter. Sun JRE (Java Runtime Environment) kurulum dosyası, buna güzel bir örnektir. Bunları çalıştırmak için yapmanız gereken, konsoldan "chmod a+x dosya_adi" komutunu vermek ve ardından "./dosya_adi" komutuyla yüklemeye başlamaktır.

Yararlı Adresler

Yüklemek istediğiniz program, kendi sitesinde kullandığınız dağıtıma uygun paketi sunmuyorsa, bazı web sitelerine göz atmakta fayda var:

    * <!-- m -->http://rpmseek.com<!-- m --> :  Birçok dağıtım için RPM paketlerini sunan rpmseek web sitesi, ilk bakacağınız adreslerden biri olmalı. Geniş arşivi ve kolay kullanımıyla, SuSE, Redhat vb. RPM destekli dağıtımları kullananların çok işine yarayacaktır. Aramaları program adıyla yapmak zorunda kalmamanız sitenin en büyük artısı. Dilerseniz herhangi bir kütüphane dosyası bile arayıp, bunu içeren paketleri bulabiliyorsunuz. Debian paketlerini de barındırıyor ancak RPM paketlerine göre yetersiz.
    * <!-- m -->http://rpmfind.net<!-- m --> :  Çok sayıda programa ait RPM paketlerini bulabileceğiniz, oldukça kapsamlı bir web sitesi. Sade ve reklamsız arayüzüyle, güzel bir alternatif.
    * <!-- m -->http://freshrpms.net<!-- m --> :  Program kapasitesi nispeten az... Yine de son kullanıcının ihtiyacını karşılayacak belli başlı programlar bulunuyor. Girip incelemek, yeni çıkan yazılımları takip etmek yararlı olacaktır.
    * <!-- m -->http://rpm.pbone.net<!-- m --> :  Diğer adresler gibi RPM dosyalarını bulabileceğiniz bir diğer web sitesi. Farklı farklı dağıtımlara özgü RPM dosyalarını bulabiliyorsunuz.
    * <!-- m -->http://freshmeat.net<!-- m --> :  Freshmeat, Unix tabanlı işletim sistemlerinde çalışan projeleri barındıran bir web sitesidir. Bünyesinde binlerce proje bulunur. Linux için program arayacaksanız, bakmadan geçmemeniz gerekir.

Debian tabanlı dağıtım kullananlar, bu adreslerle uğraşmak zorunda değil. İşletim sisteminizde, /etc/apt/sources.list diye bir dosya bulunur. Bu dosyaya yeni adresler ekleyip, inanılmaz bir program arşivine ulaşabilirsiniz. Google'da ufak bir aramayla dağıtımınıza uygun sources.list dosyasını bulabilirsiniz.

Çağatay ÇEBİ

cagataycebi.com