LİNUX NEDİR???Linux, serbestçe dağıtılabilen, çokgörevli, çok kullanıcılı UNIX işletim sistemi türevidir. Linux, Internet ü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 Internet ü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 Internet ü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.
LİNUXUN DESTELEDİĞİ DONANIMLAR* 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.
* AGP, 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 Pencere 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 belgeleri hakkında daha geniş bilgi ve nereden temin edeceğiniz kitabın sonunda ayrıntılı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.
LİNUXUN KULLANIM AMAÇLARI- 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 yapılandırılabilmesi ve özellikle de düşük maliyeti sebebi ile yaygın olarak Internet servislerinin verilmesi amacıyla kullanılmaktadır. Zamanla verdiği ağ servisleri başka protokollere destek verecek sekilde genişletilmiştir. Şu anda Linux
* WWW sunucu
* DNS sunucu
* NFS sunucu
* NIS sunucu
* X Pencere sunucu
* BOOTP sunucu
* SMTP sunucu
* FTP sunucu
* listitemST sunucu
* NEWS sunucu
gibi yaygın TCP/IP servislerinin yanısıra
* NOVELL sunucu (Novell protokolü kullanarak disk ve yazıcı servisi)
* SAMBA sunucu (Windows 3.1, Windows95, Windows NT ve WfW için disk ve yazıcı servisi)
* APPLETALK sunucu (MacOS kullanan Apple makinalar için disk ve yazıcı servisi)
verebilmektedir.
-Ağ Elemanı: Linux yazılım desteği ile birçok ağ elemanının yerine geçebilecek bir alternatif olarak kullanılabilmektedir. Birden fazla ağın birbirine bağlanması amacıyla bir yönlendirici (router) olarak da kullanılabilmektedir. Özellikle farklı protokoller arası bir geçiş elemanı olarak 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.
Yazılım ÖzellikleriBir 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ı Internet ü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 SUNSİTE 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ı
ftp://ftp.metu.edu.tr/pub/linux/sunsite 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 ayrıntılı bilgi için Commercial-HOWTO belgelerinden yararlanabilirsiniz.
Linux üzerinde bulunan uygulamaların ve yazılımların listeleri için aşağıdaki adreslerden yararlanabilirsiniz:
* Linux Applications and Utilities
* Scientific Applications on Linux
* Linux Software Map
Temel KomutlarDaha ö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 Internet 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 roff) 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.
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. En az Pentium tabanlı, 32Mbayt RAM ve 2GB sabit diske sahip makina yardımıyla ticari olarak satılan çokluortam uygulamalarını kullanabilirsiniz. Linux, hemen her türlü ses kartını desteklediğinden ses dosyalarının, workman, Cdplayer gibi programlar yardımıyla kolayca çalınması mümkün olur. MIDI editörleri ve bir sentezleyici ile kendi müzik stüdyonuzu kurabilirsiniz.
X Pencere ArabirimiLinux işletim sistemi altında X Pencere sistemi ile Windows altındaki gibi grafik arabirimiyle birlikte çalışabilirsiniz. Windows ile uğraşan herkes rahatlıkla X Pencere Arabirimine geçiş yapabilir. X ile ekranda aynı anda birden fazla pencere açılabilir, fare yardımıyla birden fazla uygulama aynı anda kontrol edilebilir.
Pekçok uygulamanın (özellikle Internet tabanlı) X üzerinde çalışan sürümleri vardır. Bu sayede metin tabanlı ekrana (vt100) dönmeden her işinizi X yardımıyla tamamlayabilme şansınız olur. Bu sayede Linux, bir iş istasyonu görünümüne ve kullanışlılığına sahip olacaktır.
X pencere denetleyici (window manager - wm) kullanıcı ile X arasında bekler ve klavye ile fareden aldığı emirleri ekranda yerine getirir. Bu emirler, pencerelerin açılması, kapatılması ve yerlerinin değiştirilmesi gibi komutlardır. Sıkça kullanılan pencere denetleyicileri fvwm, twm ve olwm'dir.