Linux nedir?
'
'
Linux, serbestçe dağıtılabilen, çokgörevli, çok kullanıcılı UNIX işletim sistemi türevidir. Linux, İnternet üzerinde ilgili ve meraklı birçok kişi tarafından ortak olarak geliştirilmekte olan ve başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere birçok platformda çalışabilen ve herhangi bir maliyeti olmayan bir işletim sistemidir.
UNIX 70'li yılların ortalarında büyük bilgisayarlar üzerinde çok kullanıcılı bir işletim sistemi olarak geliştirilmiştir. Zaman içerisinde yayılmış ve birçok türevi ortaya çıkmıştır. UNIX ismi UNIX Research Laboratories INC şirketinin tescilli markası olduğundan dolayı birçok şirket, aynı temele dayanan işletim sistemleri için değişik isimler kullanagelmişlerdir. Örnek olarak
Hewlett-Packard HP-UX IBM AIX Sun Microsystems SunOS
kullanmaktadırlar. Bugün kişisel bilgisayarlardan süper bilgisayarlara kadar biçok bilgisayar için yazılmış bulunan UNIX türevleri mevcuttur. Ne var ki bu türevlerin çoğu gelişimi belirli bir noktada durmuş ve yüksek fiyatla satılan ticari yazılımlardır.
Linux, temel olarak Finlandiya Üniversitesinde öğrenci olan Linus Torvalds'ın ve İnternet üzerinde meraklı bir çok yazılımcının katkıları ile geliştirilmiştir. Linux gelişimi açık bir şekilde yapılmaktadır. Bunun anlamı, işletim sisteminin her aşaması açık olarak İnternet üzerinde yayınlanmakta, dünyanın dört bir yanında kullanıcılar tarafından test edilmekte, hataları ve eksiklikleri tesbit edilerek düzeltilmekte ve geliştirilmektedir. Zaman zaman bu deneme aşamaları belirli bir noktada durdurulur ve güvenilir bir işletim sistemi sunulup, geliştirme için ayrı bir seriye devam edilir. Geliştirmede yer alan bu açıklık Linux'un en büyük avantajlarından biridir. Gelişimi evrimseldir, hatalar anında kullanıcılar tarafından tesbit edilip rapor edilmekte ve birçok kişinin katkısıyla düzeltilmektedir. Bazı işletim sistemi sürümleri saatler içerisinde güncellenebilmektedir.
Linux, Andy Tannenbaum tarafından geliştirilmiş olan Minix işletim sistemine dayanmaktadır. Linus Torvalds boş zamanlarında Minix'ten daha iyi bir Minix işletim sistemi yaratmak düşüncesiyle 1991 Ağustos sonlarında ilk çalışan Linux çekirdeğini oluşturdu. 5 Ekim 1991 tarihinde 0.02 sürümü Linux ilk defa tanıtıldı. Linus, comp.os.minix haber grubuna gönderdiği yazıda yeni bir işletim sistemi geliştirmekte olduğunu ve ilgilenen herkesin yardımını beklediğini yazmıştı. İşletim sisteminin çekirdeği için verilen numaralar kısa sürede bir standart kazandı. a.x.y seklinde belirtilen çekirdek türevlerinde y bulunulan seviyeyi, x gelişim aşamasını göstermektedir. Tek sayılı x'ler geliştirme aşamalarını çift sayılı x' ler ise güvenilir Linux çekirdeklerini göstermektedirler. a ise değişik Linux sürümlerini belirtir. Bu yazının hazırlandığı Ağustos 1997 içerisinde en son güvenilir (kararlı) Linux çekirdeği 2.0.30, en son gelişim aşamasındaki çekirdek ise 2.1.47'dir.
Linux gerçekten son yıllarda hızlı bir gelişme göstermiş, çesitli ülkelerden birçok kullanıcıya erişmiş ve yazılım desteği günden güne artmıştır. Değişik kuruluşlar Linux sistemi ve uygulama yazılımlarını biraraya getirerek dağıtımlar oluşturmuşlar ve kullanımını yaygınlaştırmışlardır.
Linux'un Desteklediği Donanımlar
Linux şu anda başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere Apple, Atari ve Amiga gibi 68000 tabanlı bilgisayarlar üzerinde, Sun Sparc işlemcili iş istasyonları, Alpha işlemcili kişisel bilgisayarlar, MIPS, PowerPC, HP PA-RISC ve ARM mimarilerinde çalışmaktadır.
IBM uyumlu kişisel bilgisayarlar üzerinde 80386 ve üzeri (80486 80586 Pentium PentiumPro ve türevleri) değişik üreticilerin işlemcileri ile sorunsuz olarak çalışmaktadır. 80286 ve 8086 işlemcili bilgisayarlar için sınırlı kabiliyette Linux uygulamaları mevcuttur
PCI, VESA, ISA ve MCA mimarilerinde her türlü anakartı desteklemektedir.
Teorik olarak 4 Gbyte'a kadar RAM desteklenmektedir.
AT uyumlu diskler (IDE, EIDE ve 16 bitlik MFM,RLL veya ESDI) desteklenmektedir. Kontrol kartına uyumlu destek bulunduğu sürece SCSI diskler ve diğer cihazlar desteklenmektedir.
IDE-ATAPI CD-ROM sürücüleri, ve bazı özel CD-ROM kontrol kartları desteklenmektedir.
Metin ekranlarda CGA, EGA, VGA, Hercules veya uyumlu kartlar desteklenmektedir. X Window ortamında genel VGA ve SVGA uyumlu kartlar ve S3, ET4000, 8514/A, ATI MACH8, ATI MACH32 gibi birçok görüntü kartı desteklenmektedir.
Birçok 10 ve 100 Mbit ethernet kartı, ISDN, ATM, FDDI, SLIP, CSLIP, PPP desteği verilmektedir. Başta SoundBlaster, Gravis Ultrasound olmak üzere birçok ses kartı desteklenmektedir.
Linux altında hangi donanımların desteklendiği ile ilgili ayrıntılı bilgiyi Hardware-HOWTO'dan alabilirsiniz. HOWTO dökümanları hakkında daha geniş bilgi ve nereden temin edeceğiniz kitabın sonunda detaylıca anlatılmıştır
Makinanızda Linux çalıştırmak için kullanacağınız uygulamalara bağlı olarak en az bir 386SX işlemci ve 4 Mbyte RAM'a ihtiyaç duyacaksınız. Sabit disk üzerinde ise en az 40 Mbyte'lik bir alan ayırmanız gerekecektir. Rahat bir kullanım için en az 8 Mbyte RAM ve 200 Mbyte sabit disk ve bir 486 işlemci önerilmektedir.
1.2 Linux'un Kullanım Amaçları
Ücretsiz olarak dağıtılıyor ve gelişiminin hala devam ediyor olması biçcok kişinin Linux'un profesyonel alanlarda kullanılamayacağının düşünmesine yol açmaktadır. Oysa Linux işletim sistemini kullanan bilgisayarlar özel kullanım başta olmak üzere birçok alanda yaygın olarak kullanılmaktadırlar.
Kişisel Kullanım
Linux evinde veya işinde UNIX işletim sistemi altında çalışmak isteyenler için ideal bir platformdur. Özellikle işi veya eğitimi sırasında UNIX platformlar altında çalışmak, uygulamalar kullanmak veya yazılım geliştiren kişiler kendi kişisel bilgisayarlarında benzer ortamı yakalayabilmekte ve işlerini kendi kişisel bilgisayarlarında gerçekleştirebilmektedirler. Bunlara ek olarak 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. Örneğin LaTeX kullanıcıları MS-DOS altında buldukları desteğin çok daha fazlasını Linux altında bulabilmektedirler.
Internet Sunucusu
Linux doğrudan TCP/IP desteği ile gelmektedir. Bu yönü ile TCP/IP temelli bilgisayar ağlarında hem istemci hem de sunucu olarak yaygın kullanım bulmuştur. Üzerinde hali hazırda bulunan servislerin çeşitliliği, yeni çıkan servislere hızlı ayak uydurması, kolay konfigüre edilebilmesi ve özellikle de düşük maliyeti sebebi ile yaygın olarak İnternet servislerinin verilmesi amacıyla kullanılmaktadır. Zamanla verdiği ağ servisleri başka protokollere destek verecek sekilde genişletilmiştir.
Nereden Linux Bulabilirim ?
Linux işletim sistemiminin temelini oluşturan çekirdek, bu çekirdeğin kullandığı destek kütüphaneleri ve uygulama yazılımları bir araya getirilerek, yükleme yazılımları da eklenerek Linux dağıtımları meydana getirilmektedir. Bu dağıtımlar temel olarak bir kullanıcının Linux kullanmak için ihtiyaç duyabileceği bir çok yazılımı bir araya getirirler. Bu dağıtımların çoğu İnternet üzerinde anonim FTP arşivlerinde bulunabilmektedirler. İnternet erişimi bulunmayan kişilerinde (veya Internet'ten 120 Mbyte kopyalamak istemeyen kişilerin) yararlanabilmesi için çesitli CD-ROM şirketleri tarafından CD-ROM üzerinde dağıtımlar meydana getirilmiştir.
Linux dağıtımları ve bunların nereden temin edilebileceği hakkında detaylı bilgi, Linux Kurulumu başlığı altında bulunabilir.
Doküman Temini
Linux hakkında yazılan kitapların sayısı gün geçtikçe artmaktadır. Yine de en güncel bilgi İnternet üzerinde bulunmaktadır. Elektronik ortamda bulunan iki temel döküman çeşidi bulunmaktadır. Bunlar:
Linux Documentation Project
NASIL (HOWTO) dökümanlarıdır
NASIL dökümanlarının bir kısmının Türkçeye çevrilmesi işlemi devam etmektedir. Şu ana kadar çevrilen dökümanları Linux Kullanıcıları Grubu WWW sayfasından bulabilirsiniz.
Yazılım Özellikleri
Bir işletim sistemi, ne kadar mükemmel olursa olsun, uygulama yazılımlarının çokluğu ve kalitesi ile varolabilirler. Herhangi bir Linux dağıtımı içerisinde, değişik amaçlara hizmet eden birçok yazılım bulunmaktadır. Ancak her geçen gün bu dağıtımlarda yer almayan yeni yeni yazılımlar çıkmaktadır.
UNIX makinalar üzerinde yer alan uygulamaların çoğu, değişik platformlar altında bulunduğundan çalıştırılabilir (executable) olarak dağıtılmaz, kaynak kodu şeklinde sunulurlar. Sözkonusu yazılımı kullanmak isteyen bir kullanıcı bu kaynak kodunu kendi platformunda derleyerek çalıştırır. Bu tür yazılımların birçoğu Linux altında kolaylıkla çalıştırılabilmektedir. Bu tür yazılımları İnternet üzerinde çeşitli FTP arşivlerinde bulmak mümkündür.
Linux'a özel veya Linux üzerinde geliştirilen yazılımlar için standart bazı FTP arşivleri vardır. Bunların en bilineni Sunsite FTP arşividir. Burada çeşitli dizinler altında konularına göre ayrılmış bir durumda elektronik devre tasarım yazılımlarından oyun programlarına kadar birçok değişik yazılım bulunmaktadır. Bu arşivin Türkiye'de yeralan bir kopyası adresinde vardır.
Linux'un bu denli sevilmesi ve yaygınlaşması çesitli şirketlerin (Macintosh, Sun, SSC gibi) Linux üzerinde çalışan ticari yazılımlar geliştirmesi sonucunu verdi. Bu konuda detaylı bilgi için Commercial-HOWTO dökümanından yararlanabilirsiniz.
Temel Komutlar
Daha önce UNIX tabanlı bir işletim sisteminde çalışanlar için Linux, öğrenilmesi çok kolay bir sistem olacaktır. Standart bir UNIX sisteminde yeralan hemen hemen tüm komutlar, Linux'a taşınmıştır. Onlarca çeşit kabuğun yanı sıra, sed, awk gibi programcının işini kolaylaştıran diller, ls, less, finger gibi temel her türlü komut, Linux'ta vardır.
Ağ ve İnternet uygulamaları için elm ve pine (Pine Is Not Elm :-) yanında metin editörleri olarak vi, vim (vi'ın daha gelişmiş sürümü), pico ve joe sayılabilir. Editörlerden, bizde fazla bilinmeyen Emacs da Linux altında denemeye değer programlardandır. Kelime işlem programlarından troff, groff (GNU troff) ve daha modern metin işleme yazılımlarından TeX ve LaTeX sayılabilir.
Bazı program isimlerinin (GNU-tar, GNU-bash gibi) başında görebileceğiniz GNU (Gnu is Not UNIX!), Linux için de yazılım ve programlar üreten bir kuruluştur. GNU, lisansını ve yazarını korumak koşuluyla programları kaynak koduyla birlikte Linux kullanıcılarına dağıtır. GNU bash ve tcsh, Linux altında en çok rağbet edilen iki kabuk ismidir. Diğer kabuklar arasında zsh, ash, ksh ve csh sayılabilir. Kabuklar hakkında daha geniş bilgiyi, Bash konu başlığı altında bulabilirsiniz.
Uygulama Programları
Linux üzerinde ver tabanı uygulamaları ortalama bir kullanıcının ihtiyacını karşılayabilir. Postgres, Mbase, msql ve Ingres gibi profesyonel yazılımlar Linux ve diğer platformlarda istemci/sunucu bazda görev yapabilirler. Özellikle Postgres, uygulama kolaylığı ve C, perl, tcl gibi birçok dile yönelik arabirimiyle göze çarpar.
Mühendislik yazılımları arasında gnuplot (grafiksel veri analiz yazılımı), xspread ve xfractint (fraktal yaratma programı) sayılabilir.
Doğru seçilmiş bir donanım üzerinde kurulan bir Linux makinası, hemen her tür çokluortam (multimedia) uygulamalarını rahatlıkla çalıştırabilir.