www.packerlx.com Packer for Linux eXecutables
Ana Sayfa
Ana Sayfa
Tux
Linux
Programlama
Programlama
Projeler
Projeler
enginkuzu blog
BLOG
Eskiler
Eskiler
Ben
Ben


Neden Linux'a Geçtim


1998 sonuna doğru bilgisayarla tanışmamdan itibaren Windows işletim sistemlerini kullandım. Windows 98 kolay kullanılabilen ve çabuk çöken bir sistemdi. Programların kitlenmeleri sistemi çok kötü etkiliyordu. Windows NT 4.0 güçlü bir sistemdi ama arayüzü yetersiz kalıyordu. Windows NT 5.0 (Windows 2000) da ikiside vardı ve benim en sevdiğim işletim sistemi olmuştu. Windows NT 5.1 (Windows XP) ise önceki versiyonun bolca makyajlanmış hali idi. 2003 sonlarına doğru kendi bilgisayarıma sahip oldum. MsBlast Windows'taki RPC servisindeki bir açığı kullanarak internete bağlı nerdeyse her makinaya bulaşmış bir solucandı. Daha önce birçok güvenlik açığıyla karşılaşmıştım. Bu aklımdaki şüphelerin doğruluğunu kanıtlayan son büyük açık oldu. Aşağıda msblast solucanının içinde yer alan bir bölümü görmektesiniz.

msblast

Aynı hafta içinde bu açığı kullanarak windows makinalara girmeyi sağlayan bir c kaynak kodu buldum. Hemen linux altında derledim ve çalışıyordu. Halen daha saklıyor ve yamalarını yüklemeyen arkadaşlarımı kızdırmakta kullanıyorum. Kaynak koda bu adresten ulaşabilirsiniz.

Benim gibi sistem yöneticiliği yapmış birisi için yazılımın güvenli olması çok önemli idi. Önceleri diskte Windows ile birlikte bulunan Linux işletim sistemi hakkında bilgi sahibi oldukça daha çok ilgimi çekti. Ta ki Nisan 2004'e kadar. Bu tarihte anladım ki bana en uygun ve benim ihtiyaçlarımı en iyi şekilde karşılayabilecek işletim sisteminin Linux olduğu idi. Tüm FAT ve NTFS bölümleri sildim, diskin tamamını ext3 bölümlere bıraktım. Suse 9.0, Fedora Core 1 ve Mandrake 10 dağıtımlarını kullandım. Ekim 2004'ten itibaren Debian dağıtımını kullanmaktayım. Beni Windows'tan soğutan ve beni Linux'a çeken sebepleri aşağıda sıralamak istedim.

Windows'tan Soğutan sebepler:

Şu ana kadarki kullandığım hiçbir windows işletim sistemi sorunsuz bir şekilde uzun süre çalışmadılar. Program yükleyip silmek sistemde izler bırakıyor. Zamanla kullanılan sistemde garip sorunlar çıkabiliyor. (Windows 9x sistemlerde) Birçok işi hızlı bir şekilde yaparsam programları veya işletim sistemini kararsızlaştırabiliyorum. Bazen hiçbir işle uğraşmasanız da mavi ekran hataları ile karşılaşıyorsunuz.

Sistem üzerinde denetim masasından veya başka bir yerden ayrıntılı bazı ayarlar yapmak mümkün olmuyor. Sistemin kapalı olması nedeniyle bir kısım özelliştirmeler mümkün ama çok fazla teknik bilgi istiyor ve tehlikeli olabiliyor. Birçoğu ise imkansız.

Garip donanım ve yazılım problemleri ortaya çıktığında problemin çözümü için belirli bir sistematik çözüm yöntemi bulunmamakta. Genelde problemi daha önce yaşayıp çözebilmiş birisi çözüm bulabiliyor.

Uzaktan yönetimi zor. Bir windows makinada herhangi bir işi yapmak için uzaktan grafik ortama erişmek zorundasınız. Tüm işleri bir komut satırı vasıtasıyla yapmak mümkün değil.

Daima virus,trojan,spyware ve benzeri zararlı yazılımlar tarafından tehdit altındasınız. Windows işletim sistemlerine sahip olmak bu problemleri çözecek üçüncü parti yazılımları kullanmayı zorunlu kılıyor. Çünkü işletim sisteminde bunlardan korunmak için doğal bir mekanizma yoktur. Windows kullanımı kolay olduğu düşünüldüğü için birçok kullanıcı teknik bilgiden yoksunlar. Bu kullanıcıları kolay bir şekilde kandırabilirsiniz. Fakat windows bunlar için kalıcı bir çözüm üretmiyor.

Sadece Windows işletim sistemi sizin işlerinizi yapabilmeniz için yeterli değildir. Pdf görüntülemek, sıkıştırılmış dosyaları açabilmek, ofis ihtiyaçlarınızı karşılamak, resim görüntülemek ve üzerinde işlemler yapmak, 3D tasarım yapmak, yazılım geliştirmek gibi daha da uzatabileceğimiz uzunca işler kümesi için üçüncü parti ücretli, ücretsiz veya deneme sürümü birçok uygulamaya ihtiyacınız oluyor. Bunlar cebinizden daha çok para çıkmasını gerektiriyor.Bunları da ayrıca kurmak için uğraşmak zorundasınız. Birçok kullanıcı ücretli bazı yazılımları kırarak bunları lisanssız olarak kullanıyor. En basit ihtiyacınızdan büyük sunucu ve ateşduvarı yazılımlarına kadar sonradan yüklenen üçüncü parti yazılımların fazlalığı sistemde kararsızlık, uyumsuzluk ve açık oranını artırıyor, tüm sistemin bir kerede güncellenmesini zor hale getiriyor. Linux dağıtımları içinde birçok yazılım ile geldiklerinden ve hepsi bir elden paketlendiklerinden yukarıda saydığım olumsuz özellikler kullandığınız linux dağıtımlarında ya yoktur yada en az düzeydedir.

Windows işletim sistemlerinde geriye uyumluluk zor ve az olmaktadır. Bugün kullandığınız bir yazılımın yeni çıkacak windows versiyonlarında da sorunsuz çalışacağı garanti edilemez. Bu beraberinde yazılımınızın yeni versiyonunu da almayı zorunlu hale getirebilir. Linux altındaki yazılımlarda ise bu böyle değildir.

Windows işletim sistemleri üstünden belirli zaman geçmesi sonrasında geliştiren firmanın desteği ortadan kalkıyor. Bu çıkacak yeni açıkların yamalanmaması, ciddi güncellenmelerin yapılmayacağı ve yeni yazılımların artık bu işletim sistemi için uyumlu üretilmeyeceği anlamına geliyor.

Özellikle sunucularında pahalı çözümler sunuyor ve sunucularda tüm servislere ulaşabilmek için ayrıca ödeme yaparak eksikleri almanız gerekiyor.

Sunucu işletim sistemleri çok fazla işlemci ve bellek kaynağı tüketiyor. Sunucuların çalışacağı kaynakları sağlayabilmeniz için yeni bir bilgisayar almanız gerekebiliyor. İyi bir donanım yatırımına gereksinim duyuyor.

Hem masaüstü hemde sunucu işletim sistemlerinde güvenlik açıkları hiç eksik olmuyor. Açıklar ortaya çıktıktan uzun süre sonra yamaları üretiliyor ve çoğu kullanıcı bundan ciddi zarar görüyor. Sürekli yeni yamaları takip etmek zorundasınız. Yeni Service Pack yama paketlerini yükleseniz bile problemlerden tamamen kurtulamıyor, bazen de yeni sorunlarla karşılaşıyorsunuz. Patronlarla yapılan röportajlar gösteriyor ki yazılımlarındaki güvenlik açıklarının kapatılması, yazılımın daha güzel ve daha çok fonksiyon içermesinden sonra geliyor. Bu röportajların çevirilerini internette bulabilirsiniz.

Son bir konuya daha değinmek istiyorum. Birçok Windows kullanıcısı Linux dağıtımlarının estetikten uzak arayüzlere sahip olduğu söylemekte. Aksine Linux her yönden değiştirilebilme yani özelleştirilebilme özelliği vardır. Buna grafik ortam da dahildir. İşte estetikten uzak denilen linux masaüstü görüntüleri.

 

mozilla

Linux'a çeken sebepler:

En önemli sebep: Özgür yazılımlar. GPL lisansı sayesinde tüm kullanıcılar yazılımın kaynak kodunu görüp değiştirebilme özgürlüğüne sahiptirler. Böylece programlara kendi ihtiyaçlarınıza yönelik eklemeler yapabilir, programın nasıl çalıştığını inceleyebilirsiniz. Özgür yazılım kavramını ve felsefesini tam olarak anlayabilmek için burayı okuyun.

Linux donanım kaynaklarını daha iyi kullanmakta ve aynı donanım üzerinde daha yüksek performansa erişebilmektesiniz. Benim kendi deneyimim olarak bir OpenGL oyunu olan Quake 3 karşılaştırmasını aktarayım. Pentium 3 550Mhz, 196Mbyte ram, Ati 7000 ekran kartı olan sistemde aynı ayarlarla Windows'ta oyun sayfa sayfa ekrana gelirken Linux'ta o kadar hızlı ki hiçbir donma oluşmadan çok rahat bir şekilde oynuyorsunuz.

Linux donanım desteğini daha geniş ve iyi vermektedir. Linux ismini bile duymadığınız birçok farklı mimarideki işlemci ile sorunsuz çalışır. Gömülü sistemlerden dev sunuculara kadar geniş bir donanım yelpazesinde çalışabilir. Diğer donanımlar olarak Microsoft ile anlaşmalı donanım üreticileri hariç birçok donanımı tanır. Özellikle ethernet kartlarında desteği çok iyidir. Ayrıca Nvidia firması kendi ekran kartları için çok iyi bir Linux sürücü desteği sunmaktadır. Birçok sinema filmi donanım performansı nedeniyle Linux altında oluşturulmaktadır. Benim eski bir ethernet kartımı hiçbir windows sürümü tanımazken Linux tanımıştı. Ayrıca bilgisayarımı aldığımda Windows XP ekran, ses, ag kartları ve USB 2.0 donanımlarını kurulum sonrası tanımamıştı. Hepsini CD lerden yükledim. Fakat Linux hepsini tanımıştı.
(Debian dağıtımı tarafından desteklenen işlemci mimarileri: Motorola 68k (m68k), Sun SPARC (sparc), HP Alpha (alpha), Motorola/IBM PowerPC (powerpc), Intel IA-32 (i386) ve IA-64 (ia64), Amd 64 (amd64), HP PA-RISC (hppa), MIPS (mips, mipsel), ARM (arm) ve IBM S/390 (s390).)

Herşeyin açık ve ortada olması insanın içini rahatlatıyor ve yazılımlara güvenmenizi sağlıyor.

Linux dağıtımları beraberlerinde gelen her ortam için ayrıca geliştirme paketlerini de sunmaktadır. Böylece eksiksiz bir yazılım geliştirme ortamına sahip olabiliyorsunuz. Grafik ortamda, konsolda, multimedyada, OpenGL'de, ağda, databasede, kernel üzerinde ... Çalışan sisteminizin her köşesi için yazılım geliştirebiliyorsunuz. Sadece C için değil birçok programlama dili için. Aynı geniş kapsamlı desteği Windows altında bulamazsınız, bulduklarınız da oldukça pahalı çözümler olacaktır.

Linux ucuzdur. GPL lisansı yazılımı dağıtırken ücret alınmasını engellemesede, yazılımların nerdeyse tamamı ücretsiz dağıtılırlar. Elinizdeki dört cdlik dağıtımı masaüstü, yazılım geliştirme, sunucu amaçlı kullanabiliyorsunuz. Ve sadece boş cdler için cebinizden para çıkmakta. Aynı işi yapan yazılımlar için Windows'ta cebinizden binlerce dolar çıkması lazım.

Linux özgür bir yazılımdır ve açık bir sistem olduğundan sistemin her noktası ihtiyaçlarınız için özelleştirilebilir.

Linux alternatiflerin var olduğu bir dünyadır. Birçok dağıtım bulunur. Siz istediğinizi kullanabilir veya kendi dağıtımınızı oluşturabilirsiniz. Tam kurulumda bakarsanız bir iş için birçok program bulursunuz. Web tarayıcı üç tane, e-mail istemcisi dört tane, mp3 çalıcı üç tane, video çalıcı dört tane, ofis yazılımı üç tane, grafik ortam altı tane gibi... Alternatiflerin varlığı size seçim şansı verir.

Linux sadece işletim sisteminin çekirdeğidir ve yazılımlarla süslenmezse hiçbir işe yaramaz. GNU çok güçlü konsol yazılımları geliştirmiştir. Bazen ben işlerimi sadece konsol denilen siyah ekrandan yapıyorum. Mp3 dinlemek, webde gezmek, e-mail almak, icq ya bağlanmak, chat yapmak, resim görüntülemek, film ve televizyon izlemek gibi grafik ortamdan yapılan birçok işi konsoldan yapabilirsiniz.

Linux dağıtımları birçok ağ servisi ile birlikte gelir ve bu servisler çok güçlüdür. Örnek: Apache. Dünyada web sunucuları içinde %68 oranında kullanılmakta. (Şubat 2005 Netcraft'a göre.) Yazılımların versiyon numaraları küçük de olsa son derece gelişmiş, hatalarından arındırılmış ve kararlı uygulamalardır.

Yukarıda örneklerini verdiğim gibi dağıtımlar birçok yazılım ile birlikte gelmektedir. Nerdeyse tüm ihtiyaçlarınız için yeterli olduğundan dağıtımlar fazladan program bulup yüklemek zorunda bırakmıyorlar. Ben bu zengin yazılım desteğini Windows'a sonradan ücretli yada shareware yazılımlar yükleyerek sağlayabiliyordum. Linux'taki yazılımlar aynı işleri ücretsiz yapıyorlar. Bunlardan dolayı Linux ayrıca lisanssız yazılım kullanma sorununu da engellemektedir.

Yönetimi kolaydır. Linux'ta yazılımlar ayarlarını farklı dizinlerdeki konfigürasyon dosyalarında tutarlar. Bir linux sunucuya Secure Shell servisi üzerinden bağlanarak elde edeceğiniz konsol ile her türlü servisi ayarlayıp yeniden başlatabilirsiniz.

Linux güvenlidir. Virüs, trojan, casus yazılım derdiniz yoktur. Neden? Çünkü : Virüsler normal bir kullanıcı hesabı altında çalıştırıldıklarında sistem dosyalarını veya ayarlarını değiştiremezler. Bu, dosyayı çalıştıran hesaba ait /home dizini dışında virüslü dosyanın var olmasını engeller. Linux ve Unix sistemlerin yerleşik olarak gelen bazı özellikleri virüslerin yayılmalarını engeller. Bunun dışında zararlı bir yazılım bir uygulamadaki güvenlik açığını kullanmak zorundadır. Fakat Linux altındaki yazılımların kaynak kodları açıktır ve binlerce kişi hataları bulup çok hızlı bir şekilde düzeltir. Bu nedenle yazılımlarda açıklar ya yoktur yada asgari düzeydedir.