Archive for Şubat, 2017

Linux Program Kurmak – Paket Yönetim Sistemleri(RPM) – YUM – Yerel Depo (Local Repository) Oluşturmak

Linux Program Kurmak

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.

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.

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 sorunda 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.

Ş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.

tar zxvf paket-vxx.tgz
./configure
./make
./make install

NOT : 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.

Linux 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.

Şimdi yukarıda anlatınlanları kısaca özetleyecek olursak.

Linux de program kurulumu 2 şekilde gerçekleştirilebilir;

  1. Kaynak kodunu derleyerek kurmak.
  2. Önceden derlenerek oluşturulmuş pakedi bir paket yöneticisi ile kurmak.

İlk yöntem bazı avantajlarına rağmen fazla tercih edilmemektedir. Bir pakedi kaynak kodundan derlerken, derleyici parametrelerini değiştirip eldeki işlemciye özel, daha hızlı çalışabilir, ikili (binary) programlar oluşturulabilir veya özel isteklere göre  yapılandırılıp derlenebilir. Ancak derleyerek kod kurmanın dezavantajlarıda vardır;

  • Kod derlemek, yeni başlayanlar için zor bir işlem olabilir.
  • Kurulum öncesi düzenleme sıkıntıları (paket.conf, conf.h vs)
  • Kurulum sonrası dosyalar ve dokümanların dağılımı (/usr, /usr/local, /opt, /bin)
  • Kaldırma problemleri
  • Her paket için farklı ayarlamalar ve kurulum yöntemleri

Linux Paket Yönetim Sistemi

İkinci yöntem olan Paket ise programın (yazılımsal araç veya uygulamaların) derlenmiş kodu olarak tanımlanabilir.
(continue reading…)

136 total views, 6 views today


Linux’ta Dosya Sistemi Yapısı

Dosyalarımız fiziksel depolama alanları üzerinde tutulur.Bu alanlar bilgisayarımızdaki dahili harddisk ,harici hard diskimiz ,CD/DVD ROM,SAN,NAS.. gibi biçimlerde olabilir. Peki bu alanlardaki bilgilere nasıl erişiriz sorusunun cevabı File System(Dosya Sistemi) oluyor arkadaşlar. File System olmadan depolama alanına ne bir şey kopyalayabiliriz, ne paylaştırabiliriz, ne güvenlik ve erişimini sağlayabiliriz ne de herhangi bir şekilde kullanabiliriz. İşletim sistemimizin verilere erişimi için yine onun bileceği bir biçimde diski biçimlendirmeliyiz. Nasıl ki Windows ortamlarında diskimizi biçimlendirirken NTFS dosya sistemini kullanıyorsak, Linux vari işletim sistemlerinde de ext2,ext3,ext4 gibi dosya sistemlerini kullanıyoruz. Linux işletim sistemi birden fazla dosya sistemine destek verir.

Bir işletim sisteminin dosya sisteminin performansı, hızı ve buna benzer çeşitli özellikleri sistemin verimli ve kararlı çalışması üzerinde doğrudan etkisi vardır. Linux dizin yapısının geliştirilmesinde FSSTND (file system standard) grubunun çalışmalarının payı çok büyük oldu. Programcılardan oluşan grup, standartların belirlenmesinde ve uygulama aşamasında Linux ile ilgilenenlere yardım etti. 1993 yılında Olaf Kirsh, Linux haber grubuna yazdığı bir e-postasında Linux dosya sistemi üzerindeki çalışmaların tamamlandığını haber verdi.

Bir Linux dağıtımından diğerine dosya sistemi yapısı bakımında küçük farklılıklar olabilir ancak genel yapı aynıdır. Bu maddede Linux dağıtımlarının kullandığı ortak dosya sistemi yapısı, dizinlerin ne anlama geldikleri ve Windows’taki bazı dosya ve dizinlerin Linux’taki karşılıkları konularında temel ve ileri düzeyde bilgi alabilirsiniz.

Dosya sistemi, işletim sisteminin bir disk veya bölüm üzerindeki dosyaları takip edebilmesi için oluşturulmuş yöntem ve veri yapıları bütünüdür. Linux’da, Unix’de olduğu gibi “Tekil Hiyerarşik Klasör Yapısı”nı benimsemiştir. Her şey / simgesiyle ifade edilen kök dizinden başlayarak dallanıp budaklanır. Kök dizin altındaki dizinler, geçmişte Linux Dosya Sistem Hiyerarşisi (kısaca FSSTND) denilen bir standart ile belirlenmiş klasörlerdir. Günümüzde Linux dağıtımlarının büyük çoğunluğunun FSSTND standartında belirlenmiş klasörlerin dışında kök dizine bir iki klasör daha ekledikleri ya da nadiren bu yapıdan bir klasörü çıkardıkları görülmektedir.

Herhangi bir dizin ya da dosyanın sistemdeki adresi önce kök dizinden başlar sonra o dosya ya da dizine ulaşmak için geçilmesi gereken dizinler arasına yine / yazılarak elde edilir. Örneğin /home/ahmet yolu, kök dizininde, home isimli dizin içindeki ahmet dizininin konumunu belirtir. Bu ifadede en baştaki / işareti kök dizini belirtmektedir.

Windows’ta dosya adreslerinde \ (ters slaş) işareti kullanılırken Linux’ta / işareti kullanılır. Linux’ta bu kullanımın nedeni Linux’un Unix geleneğini takip etmesindendir. Ayrıca bu geleneğe uygun olarak küçük büyük harf duyarlılığı önemli bir konudur. Örneğin; Windows’ta KLASOR_ADI ve klasor_adi aynı şeydir; fark etmez. Linux’ta ise bunlar farklı klasörlerdir.

Windows’ta bir program yüklediğinizde, programa ait dosyaların büyük çoğunluğu Program Files içindeki kendi klasörüne yüklenir. Linux’ta ise durum farklıdır; programın, örneğin belgelendirmeleri /usr/share/doc/program_adi/ altına atılır, man(ual) dosyaları, /usr/share/man/man altına atılır, info dosyaları /usr/share/info altına atılır. Bu şekilde aradığınız bir yerelleştirme dosyasını yani programın Türkçe çalışması için yapılmış çeviri dosyasını, programın kullandığı kütüphane dosyasını yani Windows’taki (.dll) Linux’daki (.so) dosyası ve bunun gibi belirli bir amaç için kullanılan dosyaları yerleştirilmiş oldukları kendine özgü klasörün içinde bulabilirsiniz. Kısacası Linux’ta, sistem hiyerarşisine gömülen bir yapı söz konusudur. Yüklenen herhangi bir program, işletim sisteminin muhtelif yerlerine yerleşmektedir.

Linux'ta Dosya Sistemi Yapısı (continue reading…)

132 total views, 4 views today


  • Sertifikasyon



  • Etiketler

  • Topluluklar

                     
                     
  • Live Traffic Feed

    Feedjit Widget
  • Copyright © 1996-2010 Mustafa Bektaş Tepe. All rights reserved.
    Türkçeleştirme Blogizma | AltyapıWordPress
    Takip Et

    Her yeni yazı için posta kutunuza gönderim alın.

    Diğer takipçilere katılın: