LİNUX’E GİRİŞ BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ LİNUX’E GİRİŞ
Linux Nedir? LINUX, internet üzerinde ilgili ve meraklı birçok kişi tarafından geliştirilmekte olan ve başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere birçok platformda çalışan ve herhangi bir maliyet gerektirmeyen bir işletim sistemidir.
Linux’ün Özellikleri Genel Kamu Lisansına göre(GPL) açık kaynak kodlu olduğundan kullanıcı yazılımın içinde ne olduğunu bilir. Hataların keşfedilmesi ve düzeltilmesi oldukça kısa zaman alır. Kullanıcı beğenmediği kısımları değiştirmekte ve eklentiler yapmakta özgürdür.
Linux’ün Gelişimi Üniversitelerde bilgisayar bilimi öğrencilerine işletim sistemlerini öğretmek için kullanılan Unix işletim sistemi, donanım üreticileri tarafından lisansı alınıp, satılmaya başlandıktan ve çeşitlilik arttıktan sonra yeni bir işletim sistemine gereksinim duyulmaya başladı. Bu amaçla Andrew Tannenbaum tarafından MINIX işletim sistemi geliştirildi. 1990 yılında Finli bir bilgisayar bilimi öğrencisi olan Linus Torvalds Intel mimarisindeki bilgisayarlarda hafıza yönetimi yapan bir yazılım üzerinde çalışmaya başladı ve bir süre sonra bu projenin büyüyerek UNIX çekirdeği gibi çalışabileceğini farketti 1991 yılında Linux adını verdiği işletim sistemi projesini duyurdu. GNU projesindeki eksik olan parçayı, yani çekirdeği tamamlayan linux zamanla internet üzerindeki bir çok programcı tarafından geliştirildi.
Yazılımda Lisans Nedir? Özgür yazılım ne demektir?
Lisanslar, Özgür Yazılım Lisans, kullanıcıların yazılım üzerindeki hakları olarak özetlenebilir. Kullanıcılar belirli bir yazılımı kullanma, dağıtma, üzerinde değişiklik yapma ve değiştirdiği şeklini dağıtma haklarına sahip olabilirler. Kullanıcıların yazılımlar üzerinde değişiklik yapabilmeleri için yazılımın kaynak kodunun açık olması gerekmektedir. Özgür yazılım, kullanıcısına çalıştırma, kopyalama, dağıtma, inceleme, değiştirme ve geliştirme özgürlükleri tanıyan yazılım türüdür. Belli başlı özgür yazılım lisansları: GNU Genel Kamu Lisansı GNU Kısıtlı Genel Kamu Lisansı BSD Lisansı Mozilla Public Lisansı MIT Lisansı Apache Lisansı Özgür yazılım, kullanıcısına çalıştırma, kopyalama, dağıtma, inceleme, değiştirme ve geliştirme özgürlükleri tanıyan yazılım türüdür. Özgür Yazılım Vakfı'nın ifadesiyle belli başlı dört özgürlüğü barındırır: Her türlü amaç için programı çalıştırma özgürlüğü (özgürlük 0) Programın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme özgürlüğü (özgürlük 1). Program kaynak koduna erişim bunun için bir ön şarttır. Yeniden dağıtma ve toplumla paylaşma özgürlüğü (özgürlük 2). Progİramı geliştirme ve gelişmiş haliyle topluma dağıtma özgürlüğü (özgürlük 3). Böylece yazılım bütün toplum yararına geliştirilmiş olur. Program kaynak koduna erişim bunun için de bir önşarttır. Bir program, ancak bütün kullanıcıları bu hakların tümüne sahip oldukları zaman özgür bir yazılım olur. Bu özgürlüklere sahip olmak, kimseden izin almamayı ve izin için hiçbir bedel ödememeyi de içerir. [1] Genel kanının aksine özgür bir yazılım, ücretsiz dağıtılabileceği gibi ücretli de dağıtılabilir. Bu nedenle, ticari yazılım olarak satılmasına engel yoktur.
Bazı Özgür Yazılımlar
GNU nedir?
GNU(Gnu is Not Unix ) 1984 yılında, Richard M. Stallman tarafından, tamamen özgür yazılımların meydana getirdiği bir işletim sistemi ve işletim sistemine ait araçların geliştirilmesi yönünde başlatılmış çalışma GNU projesi olarak adlandırılmıştır. Serbest yazılım modeline verilen isimdir. Yazılımın açık kaynak kodlu olmasını öngörmektedir. http://www.gnu.org/home.tr.html Hızlı bir sürecin sonunda Linus'un geliştirdiği çekirdek, GNU hareketinin bir meyvesi ve aynı zamanda taşıyıcısı haline gelmiştir. GNU için yazılmış özgür yazılımlar çok kısa süre içerisinde Linux çekirdeği ile uyumlu çalışabilecek hale getirilmiş ve ortaya güçlü, kararlı, esnek ve açık kaynak kodlu bir işletim sistemi çıkmıştır. GNU/Linux olarak anılması gereken işletim sistemi zaman içerisinde telaffuz kolaylıklarından ötürü Linux olarak anılmaya başlanmıştır. Açık kodlu bir yazılım olan Linux özgür gelişimi, yaratıcılığı ve bağımsız ilerlemeyi desteklemekte ve bilişim dünyasından destek görmektedir. GPL: GPL kamunun kullanımına sunulan bir bilgisayar lisansıdır. GPL altında yayınlanan bir yazılımla her istediğinizi yapamazsınız. Örneğin o yazılımı, beraberinde kaynak kodları olmaksızın dağıtamazsınız. Başka birinin dağıtım hakkını kısıtlayamazsınız. GPL in amacı; özgür yazılımın kanunlarla korunmasıdır.
GNU(Gnu is Not Unix ) GPL - GNU General Public License - GNU Genel Kamu Lisansı’nı kullanır. Linux çekirdeğini kullanan kullanıcılar sistemlerine Linux demektedir ancak GNU projesi, GNU/Linux denmesini önerir. Bir çok GNU programları diğer işletim sistemlerinde de kullanılmıştır. (Windows, BSD, Solaris ve Mac OS gibi)
GPL (GNU Public Licence –GNU Kamu Lisansı) nedir?
GPL (GNU Public Licence) En yaygın kullanılan özgür yazılım lisansıdır. En çok kullanılan platformlardan birisi Linux işletim sistemidir. GPL kullanımının getirdiği tek kısıtlama, yazılım üzerinde değişiklik yapıp dağıtabilmek için yapılan değişikliklerle birlikte kaynak kodun verilmesi zorunluluğudur
Linüx’ün Mimarisi
Kernel (Çekirdek) Tüm işlemlerden sorumlu yönetim kademesidir. Sistemin düzgün çalışmasını sağlar, Bilgisayar kaynaklarını düzenler, Kullanıcıların görevlerinin sırayla yapılmasını sağlar, Bellek denetimi yapar, Yan birimlerin (CD-ROM,disket sürücü vb. çalışmasından sorumludur.
Shell (Kabuk) Linux sistemlerde kernel aracılığı ile kullanıcıların haberleşmesini sağlar. Bilgisayar ile kullanıcı arasındaki bağlantıyı sağlar. Girilen komutları bilgisayara , sonuçları kullanıcıya iletir. Terminal ise komut ile shell'e ulaşarak kontrolu sağlamamıza yarar.
Linux’ün Kullanım Amaçları Kişisel Kullanım İnternet Sunucusu Ağ Elemanı
Linux’ün Kullanım Amaçları Kişisel Kullanım Linux altında yer alan uygulamalar giderek sıradan bir kullanıcı için bile bu işletim sisteminin ilgi çekici hale gelmesini sağlamaktadır. Gelişimleri henüz tamamlanmamış olmasına rağmen, herhangi bir kişisel bilgisayardan beklenebilecek yazı editörleri, hesap cetvelleri, çizim yazılımları, veri tabanları birçok ihtiyaca cevap verecek düzeye gelmiştir.
Linux’ün Kullanım Amaçları İnternet Sunucusu Şu anda Linux; WWW sunucu, DNS sunucu, NFS sunucu, NIS sunucu, BOOTP sunucu, SMTP sunucu, FTP sunucu,NEWS sunucu, NOVELL sunucu (Novell protokolü kullanarak disk ve yazıcı servisi), SAMBA sunucu (Windowslar için disk ve yazıcı servisi) ve APPLETALK sunucu (MacOS kullanan Apple makinalar için disk ve yazıcı servisi) hizmetleri verebilmektedir.
Linux’ün Kullanım Amaçları Ağ Elemanı Linux yazılım desteği ile birçok ağ elemanının yerine geçebilecek bir alternatif olarak kullanılabilmektedir. Bir yönlendirici (router) olarak da kullanılabileceği gibi özellikle farklı protokoller arası bir geçiş elemanı olarak (gateway) yaygın şekilde Linux'tan yararlanılmaktadır. Ayırca yönlendirici olarak kullanıldığında kolaylıkla güvenlik amacıyla güvenlik duvarı (firewall) olarak yapılandırılabilmektedir. Buna ek olarak bir ağ üzerinde bulunan iki segmanın trafiğini birbirinden ayıran bir köprü (bridge) olarak da hizmet verebilmektedir. Birçok kurumda bir veya daha çok modemin bağlanması amacıyla bir terminal sunucu (terminal server) olarak Linux kullanılmaktadır.
Linux’ün Avantajları Ücretsizdir. Kaynak kodu serbesttir. Hızla gelişiyor. Yüksek performans sağlar. İsteğe bağlı geliştirilebilir. Birden çok kullanıcıyı destekler. Uygulama programları sistemden bağımsız çalışır. Ek yazılım ve sürücü kurulmasına ihtiyaç duymaz
Linux’ün Dezavantajları Yeterince tanıtımı yapılmıyor. Dinamik ve sürekli değişen bir yapıya sahiptir. Teknik destek, dağıtım ve dökümantasyon alanında zayıftır. Linux’un kullanım ve yönetimi daha zordur. Tüm ihtiyaçlara cevap veremiyor. Bazı ticari yazılımlar Linux üzerinde fazla gelişemiyor. Oyunlar
Linux Dağıtımları Linux, çok çeşitli gruplar tarafından sürekli geliştirilen bir işletim sistemidir. Belirli kişiler ve topluluklar Linux için geliştirilen temel işletim sistemini ve uygulama yazılımlarını bir araya getirerek dağıtımlar oluştururlar. Bir Linux dağıtımı temel olarak bir makineye Linux kurmak ve o bilgisayar üzerinde Linux'la çalışmak için gerekecek tüm yazılımları ve paketleri içerir, bu yazılımların yüklenmesi için bir yükleme yazılımı sağlar
Linux Dağıtımları Linux, GNU projesinin çekirdeğe verilen isimdir. Dağıtımlar, bu çekirdeğe GNU yazılımlarının da ekleyerek sunan alternatif işletim sistemleridir. Yazılımlar GNU tarafından sağlandığı için Linux tabanlı işletim sistemleri GNU/Linux olarak adlandırılır. En çok bilinen kullanılan dağıtımlar: RedHat, Fedora, Suse, Debian, Mandrake, Ubuntu, Pardus ve Slackware’dir. Bunların yanısıra doğrudan CD’den çalışan Knoppix, Kanotix gibi dağıtımlar vardır.
Linux Dağıtımları
Linux Dağıtımları Dağıtımlar arasındaki farklar nelerdir? Kurulum yöntemleri farklı İçerdikleri paketler farklı Sistem yönetiminde farklar var Grafik yönetim araçları Standartlaşma yolunda ilerlemeler
Windows-Linux Karşılaştırması Maliyet: Windows ücretlidir, Linux ise (istisnalar olmakla birlikte) ücretsizdir. Kaynak Kod: Windows kapalı kaynak kodludur, Linux açık kaynak kodludur. Linux içeriğini istediğiniz gibi değiştirebilir ve kendi ihtiyaçlarınız doğrultusunda modifiye edebilirsiniz.
Windows-Linux Karşılaştırması Yazılım çeşitliliği: Linux’te çalışan binlerce program vardır fakat Windows tabanlı daha fazla program vardır. Çünkü çok büyük bir kullanıcı kitlesi Windows'u tercih ettiğinden yazılımcılar da bu platformu tercih ederler.
Windows-Linux Karşılaştırması Oyunlar: Eğer oyuncuysanız Linux sizi pek tatmin etmeyebilir. Nitekim oyunların neredeyse tamamı Windows için tasarlanmaktadır Bunun yanısıra emülatörlerle Linux'te Windows oyunlarını da oynayabilirsiniz. Fakat bu bazen sorunlu ve sıkıcı olabilir.
Windows-Linux Karşılaştırması Ek Yazılım kurulumu: Windows’un her versiyonu sınırlı sayıda uygulama içeriyor. Linux’ta ise ana işletim sistemi ile beraber verilecek yazılımların sayısına dağıtıcı karar veriyor.Linux’un bu noktadaki avantajı, yazılımların kurulmasını sağlayan uygulamaların tek bir yönetim sistemi tarafından idare edilmesi.Bu sayede kullanıcı her bir yazılımı tek tek kurmak yerine, tek bir kurulum ile işlemi gerçekleştirir.
Windows-Linux Karşılaştırması Yeni Donanım Ekleme: Kurulum aşamasından sonra bilgisayara takılan donanımları Windows genellikle tanıyor. Linux’ta yeni takılan donanımı otomatik olarak algılama ve kullanıma hazır hale getirme özelliğine sahip. Ancak bu özellik Linux işletim sisteminde takılan donanımın sürücüleri mevcutsa devreye giriyor. Birkaç firma hariç, çoğu firma Linux için donanım sürücüsü çıkarmıyor.
Windows-Linux Karşılaştırması Ofis Programları: Windows altında Microsoft Office,en gelişmiş büro paketi iken, Linux’ta bu rolü Open Office oynuyor. Open Office çok basit bir program olduğundan kullanıcılar çok çaba harcamadan programı kavrayıp kullanabiliyorlar. Open Office1.1.1 versiyonundan itibaren herhangi bir dokümanın Microsoft formatına geçirilmesi veya başka bir ofis dokümanıyla bilgi alışverişi yapması sorun oluşturmuyor.
Windows-Linux Karşılaştırması Virüsler: Günümüzde Linux için de virüsler bulunmasına rağmen, bunlar az sayıda olduklarından ve dosyaların içine gizlenerek bilgisayardan bilgisayara kopyalanamadığından dolayı tehlike oluşturmaz. Linux’ta e-posta ile gelen dosyalar kullanıcıya ulaşır ulaşmaz otomatik çalışmadığı için virüs taşıyan bir e-posta sorun olmaktan çıkıyor. Kullanıcı dosyayı gördükten ve güvenli olduğuna inandıktan sonra çalışma iznini veriyor. Ayrıca Linux’ta browser ve işletim sistemi ayrılmış olduğundan kullanıcı onayı olmadan açılan postalar ve web sayfaları virüs bulaştıramıyor.
Windows-Linux Karşılaştırması Güvenlik: Linux’un tamamen güvenilir bir işletim sistemi olduğu söylenemez. Ancak Linux güvenlik açısından Windows’tan daha ileride. Örneğin Linux İnternet Explorer ve Outlook Express gibi güvensiz programları kullanmıyor. Çok yüksek derecede güvenliğe ihtiyaç duyulduğunda, Linux işletim sistemini Selinux (security-enhanced linux) ile bir güvenlik kalesine çevrilebiliyor.
Windows-Linux Karşılaştırması Multimedya: Hem Windows hem de Linux altında çoğu ses ve video dosyasını extra bir araca ihtiyaç duymadan çalıştırmak mümkün. Basit görevler için Linux daha iyi donatılmış olmasına rağmen, profesyonellere hitap etmekte biraz güçlük çekiyor. Ayrıca Linux’ta Adobe Photoshop gibi resim işleme programlarının yerini tutabilecek bir yazılım henüz geliştirilemedi.
Kaynaklar Linux ders notları, Öğr. Gör. Mustafa SARIÖZ