Salı, Ocak 27

Linux Günlükleri - 1


Merhabalar, uzun bir aradan sonra ilk yazım olan ve twitter'da da bahsettiğimiz üzere Linux Günlüklerinin ilk serisini yazmak istedim. Peki bu Linux Günlükleri adı altında geçen yazılarda neler olacak? Genellikle Linux'de kullandığımız appler,waf stilleri, kernel compile, Linux açıkları vs. gibi. konuları ele alarak işlemek istiyoruz açıkcası. 

Bugün Linux efendinin tanıtımını bir kaç fonksiyonunu eksiğini gediğini artılarını felan filan işlemek istiyorum. Peki Linux deyince aklımıza ne geliyor açıkcası yok şu tarihte bulundu edildi felan demeyeceğim geçelim bu mevzuları Linux'un çekirdeklerini, versiyonlarını vs. inceleyelim.

Öncelikle size bu yazıyı yazmakta olduğum işletim sistemi hakkında biraz bilgi vermek istiyorum.
Debian Linux adı altında işleyen ve geniş bir yelpazeye hizmet veren bu çekirdeğimiz şu an bana göre piyasanın en gelişmiş repolarına sahip açık kaynak kodlu işletim sistemi. Çünkü "Ubuntu, Mint vs." gibi bir çok işletim sisteminin alt yapısını oluşturmakla beraber genelde son kullanıcıya hitap ettiği için kişiler tarafından fazlaca kullanılmakta. Hem repoları demiştik evet repolarıda bir hayli geniş nerdeyse yok yok diyebileceğimiz bir kapasiteye doğru hızla ilerlemekte Debian'ın kendi ham çekirdeğinden çok custom edilmiş versiyonlarının tercih edilmesi aslında ne kadar gelişime açık bir sistem olduğunuda bize ispatlıyor.


RankDistributionH.P.D*
1Mint2390>
2Ubuntu1851<
3Debian1586>
4openSUSE1407>
5Fedora1317>
6Mageia1131=
7CentOS1112>
8Arch1043=
9elementary953>
10Android-x86813>

Yukarıda gördüğünüz bu tabloda iddaamızı kanıtlar nitelikle ilk üç sırada gördüğünüz gibi debian versiyonları başı çekmekte. Mint'in durdurulamaz yükselişi ise DistroWatch.com üstünde her geçen gün ne kadar arttığınıda bizi istatistiklerle gösteriyor.

Ubuntu'nun ise bu düşüşünün sebebini merak ediyorsunuz değil mi? Bu kadar destek verilerek üretilen bir işletim sistemi nasıl olurda bu kadar düşüşe geçip kendine 2. sırada yer buluyor diye sorabilirsiniz. O zaman bizde şöyle deriz Amazon.com ki bildiğiniz üzere verdiği cloud hizmetiylede dünya üstünde en sağlam en güvenilir olarak görülen ve Open Source kaynak gelişimiylede şirket olarak bu piyasada hatrı sayılır bir göz dolgunluğu elde eden firmalardan birisi. Lakin Amazon.com ubuntu projesini satın aldıktan sonra browser üstünden istatistikleri kendine yönlendirmesi ve bunu kimseye haber vermediği halde kısa bir süre içinde ortaya çıkmasıyla birlikte kullanıcılarını üzmüş ve ubuntu abartılacak derecede kullanıcı kaybetmiştir. Çünkü Açık Kaynak Kod sisteminde herkes geliştirir ve bu gelişimden hiç bir şey kazanmadan halka maal eder burdan ne bir istatistik ne de kullanıcı bilgilerini talep eder bu Açık Kaynak kod sisteminin rajonudur anlatmaya gerek yok adı üstünde Açık KAYNAK.

Evet yukarıda da bahsettiğimiz gibi ubuntu böyle bir problemle karşı karşıya kalmış bulunuyor Amazon firması her ne kadar biz sadece sizin girdiğiniz sitelerin istatistiklerini merak etmiştik desede bende dahil olmak üzere hiç kimse ubuntuyu son kullanıcı olarak kullanmak istemiyor.

Son kullanıcıdan Server bazlı kullanıcılara geçersek eğer orda işler baya bir değişik son kullanıcıda liderliğini sürdüren Debian çekirdeği Server tarafında Red Hat'in krallığı altında yaşıyor. Yüksek performans, maliyetsizlik, güncel repo ve server için lazım olan ne varsa senelerdir eksiksiz sağlayan Red Hat çekirdeğinin CentOS bu işte başı çekiyor. Debian çekirdeğinin burda ki en önemli eksikliği ise kullanıcılar için "Easy Usage Panel" anlayışını yutmasından kaynaklanıyor buda "CPanel" yazılımın eksikliği diyebiliriz. Cpanel firması Debian için hala bir bir yazılım üretmedi kullanıcılar kendileri geliştirdikleri yöntemlerle Debian serverlarına yaazılımları kurmaya çalışsada fazla verim alamayarak Plesk Panele dönüş sağlıyorlar. 

Server kısmında CentOS'un başı çekmesinin en büyük nedenlerinden biride yüksek derecede zorlu serverlarda bile dimdik ayakta durmasından ve üst düzey performans vermesinden kaynaklanıyor bana soracak olursanız server'da CentOS'dan vazgeçilmez.

Peki bu sistemlerde neler yapabiliriz biz windowscuyuz orda iki tıkla waf(web application firewall) yazılımımızı kuruyoruz, istediğimiz sitelere block atıyoruz, sistem saatimizi rahatlıkla halledebiliyoruz, zamanlanmış görevlerimiz gayet iyi şekilde çalışıyor, database ile işlemlerimiz gayet sağlıklı diyorsanız Linux ile hala tanışmamışsınız demektir. Çünkü Linux bu dedikleriniz ki daha aklımıza gelmeyen niceleri var bunlar çekirdek konular hepsini çok az bir performansla en üst düzeyde uygulama kabiliyetine sahip bir işletim sistemi. 

Örneğin; Dışardan içerden port, ip engellemeleri ve yönlendirmeleri için "IPTABLES", waf ihtiyacınız için ModSec yahut IronBee istemediğiniz sitelere erişimi yasaklamak yahut trafik analizi için Squid, Database yönetimi ve Database Takibi için MySQL, MsSQL, Redis, MONGODB vs gibi saymakla bitmeyen ve tamamen free olan (-ki isterseniz ücretli versiyonlarıda mevcut) yazılımlar komutlar eşliğiden sizinle beraber tabi ki isterseniz VNC ile server üstünde rahatça bir KDE Desktop aracılığıyla bu yazılımlarıda bir Application olarak kullanabilirsiniz.

Linux hem yazılım bakımındanda gelişmiş framework ve dillere sahipliği ve kolay yazılım şeklile ön plana çıkıyor. Biz "Linux'de yazılıp Windows'ta Kullanılır." sözüne katılanlardan değiliz. Evet Linux yazılır Linux'de de kullanılır gayette hoş olur kolay olur çünkü Linux tabanı her türlü yazılıma açık şekilde geliştirilmiş bir sistemdir tabi ki Windows gibi kapitalist sistem yapılar ise kendi dillerini kendileri üreterek hareket ederler bu yüzden Linux bunlara dahil değil lakin "C" dilinide bizden kaçıracak değiller ya ? 

Python, PHP, Ruby, Perl gibi nadide ve göz dolduran dillerin kaynak babası Linuxtur. Bu diller Linux çekirdeğinde kullanıldığında inanamayacağınız performanslar verirler. Php dilini ele alacak olursak PHP dili "C" diliyle aşağı yukarı aynıdır değişken tanımlamaları, fonksiyonları vs. gibi lakin PHP dili hem bir firma hemde bir topluluk ile geliştirildiği için bir çok dili geride bırakmıştır. Bir diğer artı yanı ise PHP dili online olarakta sitelerde kullanıldığı için bu diller arasında en hitlerden birisidir. Python bu alanda her ne kadar Django ile denemeler yaptıysada hem zahmetli hemde altyapı yoksunluğu yüzünden şu an başarılı olamamış gibi görünüyor ama terminal yazılımlarda "Python" bir havika dostum gerçekten zevk alarak yazdığımız ve kullandığımız bir dil. Lakin yiğidi öldür hakkını yeme PHP'de konsol yazılımlarında o kadar sağlam ve geniş ki Python ile yapılabilinecek herşeyi PHP ilede rahatlıkla yapabilirsiniz. Tek fark döngüler, değişken tanımlamaları noktalı virgüller felan.

Windows'ta bu dilleri kullanmak biraz daha zahmetli hem istenilen şeyler için sitelere gir indir kur serialler ara vs. gerçekten çekilecek dert değil elimizin altında bulunan bir adet terminal ve iki komutla hem güncellemeleri hem yazılımları çekiyoruz sanırım bir yazılımcı için bundan iyisi olmasa gerek hatta terminalden çıkmadan bir arama felan yapayım derseniz 'Lynx' bu iş için biçilmiş kaftan siteleri text olarak önünüze dökerek terminalinizde hani televizyonlarda hatırladığınız Teletex gibi bir sayfa sunuyor yani yine terminaldesiniz işleriniz devam ediyor. 

Sürekli bing'de bir sitenin ipisi üstünde ki siteleri aramaktanda bıkarsınız felan reverse ip işlemi için hemen bir python projesi oluşturup "vi" yahut "nano" kullanarak ki bunlar en çok kullanılan editörlerdendir "pico" vs. gibi editörlerde dahil hemen bir proje yazıp bu derttende kurtulabilirsiniz.


Sefa havadan atma nasıl olacak diyorsanız şöyle diyelim;













Evet yukarıda ki resimde python'da bir script yazdım tabi ki geliştirme aşamasında sadece belirttiğim sayfada ki linkleri ve üstünde ki yazılıma göre arama çekiyor neyse yazılım reverse ip yaparak hedef sitenin üstünde ki siteleri listeliyor ve üstünde sql araması yapıyor. Ne güzel şey Linux istediğimiz proje için istediğimiz gibi algoritmalar ve ücretsiz yazılımlarla hareket edebiliyoruz. Python'un nesi ücretli ki diye soracak olursanız bişeyi ücretli değil ama windows üstünde kullandığınızda attan(Linux) eşeğe(windows) binmiş oluyorsunuz bu kadar basit.

Bu projeyi ise geliştirmeye devam ediyoruz evet Linux üstünde projeler kolay ama bu yazılım biraz zahmete soktu beni gerçekten algoritmasının kurulması adımları felan ama performans alıyor musun diye sorarsanız evet gayette işime yaradı ilk kullanımında bitmeden istediklerimizi bize verdi açıkcası. Bu arada önce siteleri check ediyor sonra dizine sites.txt diye bir dosya oluşturup linkleri içine atarak urllib kütüphanesiyle çekiyor ve siteler içinde ki değişiklikleri ve siteler içinde belirtilen "SQL Syntax" gibi kelimeler varsa karşınıza çıkarıyor sql injector gibi bişey eklemeyide düşünmüyorum şimdilik dahada bitmedi zaten ama olsun Linux ile yapılası herşey negzel.

Bu yazı sayesinde hem yeni projeleri hem aklımda kalanları hemde uzun zamandır yazı açığını kapattığımı düşünüyorum bu sadece bir başlangıçtı bundan sonra ki yazılar kısa olacak ve videolar ekleyeceğim Linux Server Sistem kullanımı hakkında örneğin iptables, cron, squid, raid, ntp vs. gibi yazılımların kullanımı ve kurulumu gibi videolar ekleyeceğim umarım beğenirsiniz.

(Unutmadan yukarıda ki screen biraz büyüktü Linux üstünde mozjpeg olarak adlandırılan projeyle compress ederek küçülttüm bir kaç tık üstünde ki gelişmiş uygulama için "jpegmini" deneyebilirsiniz tabi ki yahudi malını kullanmayı mideniz alıyorsa.)

Görüşmek dileğiyle, Hoşçakalın.




2 yorum:

  1. sıkılmadan okudum tesekkurler

    YanıtlaSil
  2. Merhabalar, verim alabildiyseniz ne mutlu bana 2. seriyide bu hafta yayınlayacağım sanırım umarım işinize yarar.

    YanıtlaSil

Blogger tarafından desteklenmektedir.