27 Mayıs 2013 Pazartesi

Açık Kaynak İşletim Sistemleri


MİNİX
1987 yılında Hollandalı profesör Andrew S. Tanenbaum öğrencilerinin işletim sistemlerinin çalışma prensipleri ve işlevlerini daha iyi anlayabilmeleri için mikroçekirdek mimarisi tabanlı Unix benzeri bir işletim sistemi geliştirdi. Bu işletim sistemini geliştirmek için pek çok kullanıcı geliştirme talebinde bulunsa da Andrew Tanenbaum, Minix’i mümkün olduğunca küçük ve işlevsel bırakabilmek için reddetmişti.
Tamamen açık kaynaklı olan ve eğitim amaçlı geliştirilen bu işletim sistemini inceleyenler arasında Finlandiyalı bir üniversite öğrencisi olan Linus Torvalds da bulunuyordu.
O yıllarda Unix ve Minix işletim sistemleri üzerinde çeşitli bilgi alışverişlerinin yapıldığı haber grupları vardı. 1991 yılında Linus, comp.os.minix haber grubuna şöyle bir mesaj gönderdi:
Linus Torvalds, attığı bu mesajda MINIX kullanıcılarına seslenerek hobi olarak 386 ve 486 serisi bilgisayarlara yönelik ücretsiz bir işletim sistemi üzerinde çalıştığını duyurdu. Mesajında GNU C derleyicisi ve bash kabuğunu, geliştirmekte olduğu işletim sistemine entegre etmeyi başardığını, bu yüzden daha da geliştirmek istediğini bildirdi. Linus, gruptaki MINIX kullanıcılarına ayrıca bir işletim sisteminden ne beklediklerini de sordu. Bu sorunun amacı tabii ki yeni işletim sistemine MINIX’de olmayan bazı özellikler ekleyerek daha iyi bir işletim sistemi geliştirmekti. Ancak tüm bunlara rağmen Linus, geleceğe ilişkin çok da büyük bir beklenti içerisinde değildi. Hobi olarak geliştirdiği işletim sistemi, GNU işletim sistemi (HURD) kadar büyük ve profesyonel olmayacaktı.
  • Linus, bu yeni işletim sistemine kendi adından esinlenerek Linux adını verdi. Eylül 1991’de ilk sürümü olan Linux 0.01 paylaşıma sunuldu. Linus’un mesajını okuyan pek çok kullanıcı ilgi duydu ki 5 Ekim 1991’de sürüm 0.02’ye yükseldi.
  • Aradan seneler geçti ve artık Linux, milyonlarca insan tarafından kullanılmaya başladı. Sunucu pazarında rakip firmalar arasında çekişmeler başladı. Netscape, İntel, Oracle ve İnformix gibi firmalar Linux e destek vermeye başladı. Böylelikle Linux’ün ünü daha da açılmaya başladı ve bir hobi olarak geliştirilen bu işletim sisteminin kodu 1 milyon satıra ulaştı. Bu da Linus’ün beklentisinin aksine, binlerce farklı tipteki kart ve cihazlara destek anlamına geliyordu.
LİNUX ÇEKİRDEĞİ
En basit tanımıyla çekirdek için sistemin beyni diyebiliriz. Biraz daha teknik bilgi vermek gerekirse çekirdek yani kernel, yazılımla donanım arasındaki katmandır. Kendisi de bir yazılım olan çekirdek, yazılımların istemlerini donanımlara aktarır ve aldığı cevabı yine aynı yol ile yazılımlara geri yollar. Çekirdeğin temel görevleri arasında sistem kaynaklarının düzenlenmesi, monitör, klavye, fare, USB disk gibi yan birimlerin çalıştırılması, işlem yönetimi, bellek yönetimi, sanal dosya sistemi yönetimi ve çeşitli arabirimlerin yönetim ve denetimini sayılabilir.
  • Linux, açık kaynak kodlu bir işletim sistemi olduğu için kaynak kodlarını indirip, istediğimiz değişikleri yaptıktan sonra yeniden derleyerek, kendinize uygun ve yeni işlevlere sahip bir çekirdek elde edebilirsiniz.
  • Linus Torvalds’ın Linux olarak adlandırdığı şey, aslında bir işletim sistemi değil çekirdeğin kendisidir. Bu çekirdek üzerine inşa edilebilen pek çok uygulama sayesinde Linux, kullanıcılar tarafından çekirdek, nam-ı diğer kernel olarak değil, işletim sistemi olarak anılmaktadır.
NEDEN LİNUX?
  • Linux çökmez(Öncelikle kararlı ve hızlı bir işletim sistemidir.)
  • Linux ücretsizdir.(Açık kaynak olduğundan tamamen ücretsizdir.)
  • Linux özgürce kullanılabilir, dağıtılabilir.
  • Linux hızlıdır.(Linux kurulduktan sonra ne kadar zaman geçerse geçsin ilk gün ki gibi aynı hızda çalışır.)
  • Binlerce yazılım(Linux’un yanında binlerce açık kaynaklı yazılım gelmektedir tamamıylen ücretsizdir.
  • Geniş donanım desteği,
  • Linux uyumludur.(Linux aynı disk üzerindeki diğer işletim sistemleriyle uyum içerisinde çalışabilmektedir. Linux üzerinde çalışırken diğer işletim sisteminizin dosyalarına erişmeniz mümkün.)
  • Yardımlaşma ve sonsuz kaynak.
LİNUX DAĞITIMLARI
  • Pardus, Ubuntu, Fedora, openSUSE, Mandriva, Gentoo, Slackware ve Debian bunlara örnek gösterilebilir.
  • Her dağıtımın çekirdeğini Linux oluşturuyor olsa da beraberinde pek çok farklı dosya ve dizin yapısı ile ön tanımlı programlar, kullanıcılara farklı kullanım alanları oluşturmaktadır.
ÖZGÜR YAZILIM
  • Özgür yazılım (İngilizcesi free software), 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. Tersi sahipli yazılımdır (İngilizcesi proprietary software).
Özgür yazılım ile kastedilen özgürlük, yazılımın kullanım hakları ile ilgilidir, ekonomik boyutu ile değil. Özgür yazılımlar çoğunlukla ücretsiz olsalar da ücretsiz olmak zorunda değildirler. İngilizce sözlükler "free" kelimesi için yirmiye yakın anlam sıralar. Bunlardan sadece bir tanesi "bedava" iken geri kalanları özgürlük ve sınırlamaların olmaması (freedom) kavramlarına atıfta bulunur.
PARDUS LİNUX
Pardus, TÜBİTAK - BİLGEM (Bilişim ve Bilgi Güvenliği İleri Teknolojiler Araştırma Merkezi) tarafından başlatılmış Linux tabanlı bir işletim sistemi geliştirme projesidir.
  • Pardus projesi, özgür yazılım yaklaşım ve yöntemlerini kullanarak, öncelikle kurumsal kullanıcılar için rekabetçi ve yenilikçi bir Linux dağıtımı geliştirmeyi ve bu dağıtım üzerinde kurumsal pazar için ürün ve çözümleri doğrudan ya da Türkiye özgür yazılım ekosistemi eliyle üretmeyi hedefleriyle geliştirilmeye başlanmıştır.
  • Pardus adı, Anadolu Parsı'nın bilimsel adı olan Panthera pardus tulliana'dan gelmektedir.
ÇOMAR
  • Sistemin düzgün çalışması için gerekli olan donanım, açılış, ağ, kullanıcı, zaman, görüntü gibi ayarların mümkün olduğu kadar otomatik bir biçimde yapılmasını sağlayan yapılandırma yönetim sistemidir.
PİSİ
  • Python dilinde yazılmış bir paket yönetim sistemidir. Bağımlılıkları takip ederek paket inşa etme, kurma, kaldırma, yükseltme ve benzeri işlevleri yerine getirir. Kullanıcılar için bir grafiksel arayüz ve kapsamlı bir komut satırı arayüzü içerir.
YALI
  • Pardus'un bilgisayara kurulmasını sağlayan yükleme aracıdır.
Kaptan
  • Pardus kurulumu sonrasında kullanıcıyı karşılayarak, masaüstünün kolayca kişiselleştirebilmesini sağlayan bir ilk ayar sihirbazıdır.
Paket Yöneticisi
  • Pardus paket depolarına bağlanarak kullanıcının yeni paketler kurmasını, yayımlanan güncellemelerin yüklenmesini ve gerek duyulmayan yazılımların bilgisayardan kaldırılmasını sağlayan PİSİ’nin grafiksel arayüzüdür.
Kullanıcı Yöneticisi
  • Bilgisayarı kullanacak kullanıcıların tanımlanması ve kullanıcı yetkilerinin detaylı bir şekilde ayarlanabilmesini sağlar.
PARDUS LİNUX’U KULLANAN ÜNİVERSİTELERDEN BİRKAÇI:
  • Üniversiteler
  • Adıyaman Üniversitesi
  • Ankara Üniversitesi
  • Batman Üniversitesi
  • Çanakkale 18 Mart Üniversitesi
  • Mersin Üniversitesi
  • Okan Üniversitesi
GRUB: ÖN YÜKLEYİCİ AYARI
  • Sistem yükleyicisi yani Grup, bilgisayarınızda birden fazla işletim sistemi olması halinde açılış sırasında bu işletim sistemleri arasında seçim yapmanızı sağlar. Pardus ön tanımlı olarak Grub’ u MBR’ a yani diskin ilk sektörüne kurmaktadır. Hatta ihtiyaç hissetmeniz halinde sistem yükleyicisi kurmadan da Pardus kurulumunu tanımlayabilirsiniz. Ön tanımlı ayarlar seçeneğini seçin ve ileri butonuna basın. Karşınıza kurulum özeti çıkacak. Bu özet seçtiğimiz Pardus ayarlarını ve disk bölümlendirmeleriyle ilgili işlemlerin yapılmasından önce son kez kontrol edebilmenizi sağlar. Kurulumu başlat butonuna basıp kurulum aşamasına geçebilirsiniz.
LİNUX DİSK VE DİZİN YAPISI
  • Linux’ta disk isimlendirmeleri Windows’taki gibi C: D: şeklinde değildir. IDE ara birimi disk ve cd sürücüler hda, hdb, hdc, hdd gibi isimlendirilirler. SCSI diskler ise sd0, sd1, sd2 şeklinde isimlendirilirler. Tek bir diskiniz var fakat birden fazla bölümünüz bulunuyorsa o halde disk ve isimleri de şu şekilde olacaktır; hda1, hda2, hdc1, hdc2 vb. Aynı şekilde SCSI disklerde sda1, sda2 vb. olacaktır.
DOSYA SİSTEM HİYERARŞİSİ
  • Linux, root dizininde başlar. Root klasörü / işaretiyle gösterilmektedir. Pardusun çalışması için gerekli tüm dosya ve dizinler root dizinine kopyalanmıştı. Windows ta kök dizinlere istediğimiz gibi dosya ya da dizin yerleştirebilirsiniz. Ancak aynı şey Linux da yapmak için root yetkisine sahip olmanız gerekmektedir.
  • Linux, kök dizinden başlayarak boot işlemindeki önem sırasına göre klasörleri dizer.
  • Windows ta herhangi bir program kurulduğunda: C:\Program files\programın_adı
  • Linux te herhangi bir program kurulduğunda etc dizinindeyken : /usr/share/doc/programın_adı dizinine kopyalanır.
  • LİNUX DOSYA SİSTEMİ HİYERARŞİSİ=FFSTND standartıdır.
  • Bu standarda göre Linux taki dizinlerin ne işe yaradığına bakalım;
  • /(root): Sistem yöneticisinin dizinidir. Aynı zamanda işletim sisteminin başlangıç noktasıdır. Bütün diğer klasörlere root’un alt klasörleridir diyebiliriz. Root kullanıcısının kişisel dizini, diğer kullanıcılarınki gibi /home dizini altında değildir. Root, bu anlamda diğer kullanıcılardan farklılık göstermektedir.
  • /bin: Linux kullanıcılarının temel olarak kullanacağı uygulamalara ait program dosyalarının bulunduğu dizindir.
  • /boot: Sistemin açılışı sırasında kullanılan dosyalar ve en önemlisi Linux çekirdeği bu dizinde bulunmaktadır. İşletim sisteminin yüklenme evresinin de oluşturduğu boot dizinine sadece bakının.
  • /dev: Bilgisayarınızdaki donanımlara ait dizinlerin bulunduğu dizindir. USB girişleri, seri ve paralel portlar, diskler, CD sürücüleri gibi tüm donanım aygıtlarınız bu dizinde tutulur.
  • /etc: Sistemin en önemli dizinlerinden biridir. Kullanıcı tanımlarıyla, Linux’daki en önemli servislerin büyük bir kısmının ayar dosyaları bu dizindedir. Sisteme dair tüm yapılandırma, bu klasör ve alt klasörlerinde bulunmaktadır.
  • /home: Kullanıcıların kişisel dosya ve dizinlerine buradan erişilir. Kullanıcının tam yetkiyle işlem yapabildiği home dizini içinde farklı kullanıcılara ait, kullanıcı isimlerinden oluşan dizinler bulunmaktadır.
  • /lib: Çekirdek modülleri ve paylaşım kütüphanelerinin saklandığı dizinlerden biridir. Bu dizin içinde dosyaları da Windows’taki .DLL dosyalarına benzetebiliriz. Ancak Linux’da kütüphane dosyalarının uzantısı .SO’dur.
  • /lost+found: Elektirik kesildiğinde yada bilğisayarınızın istem dışı kapanmasında çalışan dosyalarınızı zarar görmeden bulabileceğiniz yerdir.
  • /media: Cd-rom, disket sürücü ve flash bellek gibi çıkarılabilir aygıtların bulunduğu dizindir.
  • /mnt: Dosya sistemleri ve donanım aygıtlarının bulunduğu dizindir.
  • /opt: bazı yazılım geliştiricilerinin özellikle programlarının bu dizin içinde bulunmasını ister. Yazılıma ait tüm dosya ve bilgiler depolanabilir. Örneğin Google earth Windows ta C:\Program Files\google earth Linux de /opt/Google-earth tır.
  • /proc: Oldukça özel bir sanal dosya sistemidir. Genellikle sistem durumuna dair bilgiler içeren sanal dosyalar bulunur.
  • /sbin: Genellikle sistem yönetimine ait komutların program dosyalarının saklandığı dizindir. Buradaki komutların çoğunu çalıştırabilmek için root yetkisi gereklidir. Daha az öneme sahip dosyaların komutları ise /usr/sbin klasöründe saklanır.
  • /usr : Genellikle uygulama kütüphaneleri ve uygulama yazılımları burda bulunur.
  • /var: log dosyaları,e-posta ve yazıcı kuyrukları gibi değişken sistem bilgileri burada bulunur.
  • /tmp: geçici dosyalar burda saklanır.
  • Pwd:Hangi dizinde olduğunuz bulmak için pwd komut unu kullanabilirsiniz.
  • 1s(long lıst):Bulunduğunuz dizindeki dosya ve alt dizinlerin listesini öğrenmek için kullanabilirsiniz.
  • Cd: çalışma dizinini değiştirmek için.
  • Cp: dosya kopyalama
  • Rm: dosya silme
  • Cp-r: dizin kopyalama
  • Rm-r:dizin silmek
  • Mkdir:dizin oluşturmak
  • Mv: dosya adı ve dizin adı değiştirmek eskidosya yenidosya
  • Mv:ayrıca konum değiştirmek dosya1eskikonum/dosya1yenikonum
  • R: okuma yetkisi
  • W: yazma yetkisi
  • X:çalıştırma yetkisi
  • U:dizin sahibi
  • G:grup
  • O:diğer kullanıcılar
  • A:tüm kullanıcılar
  • +:yetki ekleme
  • =:yetki eşitleme
  • -:yetki çıkarma
  • Temel komutlar
  • File isim: isim adlı elemanın türünü yanı uzantısını gösterir.(jpg.png.gif….)
  • Ps:Parduste o an aktif tüm işlemleri gösterir.
  • Kill işlem: o an çalışmakta olan işlemleri sonlandırmak için kullanılır.
  • Exit:bağlantıyı sonlandırarak uygulamayı bitirir.
  • Whoami: O an çalışmakta olan kullanıcı adını ekrana yazar.
  • Passwd:kullanıcı şifresini değiştirmeyi sağlar.
  • Who:bilgisayara bağlı kullanıcıları gösterir.
  • Finger:bilgisayara bağlı kullanıcıların bağlanma zamanı ve bağlanma yerleri gibi ayrıntıları ile gösterir.
  • Uptime:sistemin ne kadar süredir açık olduğunu gösterir.
  • Tar hedef kaynak: tar komutu genel olarak paketlenmiş dosyalarla ilgili işlemleri gerçekleştirmek için kullanılır.
  • Whatis komut_adi: komutun ne işe yaradığını söyler.
  • Reboot: bilgisayara reset atar.
  • Poweroff: bilgisayarı kapatır.