GNU/Linux Sistem Yöneticisinin 5 Temel İşi
Teknoloji alanındaki yetenek açığını kapatmak, yazılım alanında gençlerin geleceklerine değer katmak için 3 yıl önce yolculuğumuza başladık. Yüzlerce gencin katılımıyla büyürken, onların ürettiklerinden ilham aldık. #KodluyoruzLab ile Kodluyoruz Akademi Mezunlar Kulübü’nden gençler yolculuğumuz boyunca ürettiklerini daha fazla gence ilham olmak için paylaşıyor. Şimdi onları dinleme zamanı…
2019 Şanlıurfa dotNET MVC bootcamp mezunumuz ve Kodluyoruz Akademi Mezunlar Kulübü Topluluk Lideri Yunus Yaşar’ın yazısı sizlerle. Keyifli okumalar.
Yazıya başlamadan kendi hikayemden ve Kodluyoruz ile nasıl tanıştığımdan bahsetmek istiyorum. 2015 yılında Harran Üniversitesi Bilgisayar Mühendisliği bölümünde okumaya başladım. Okul ve derslerle boğuşurken, teorik eğitimin yanında pratik olarak da kendimi geliştirmeye çalışıyordum ve bu sırada, 2019 yılında o güzel Kodluyoruz ailesi ile tanıştım...
Kodluyoruz birçok şehirde olduğu gibi Şanlıurfa’da da çok güzel bir bootcamp düzenliyordu. İlanı görüp zaman kaybetmeden başvurdum ve kabul edildim. Daha sonraları, Kodluyoruz ailesi bana Topluluk Lideri olma teklifiyle geldiğinde, büyük bir heyecan ve mutlulukla kabul edip artık bir Topluluk Lideri olarak gönüllü çalışmalar ve etkinlikler düzenledim.
Yakın zamanda, Ankara’da Linux Sistem Yöneticisi olarak işe başladım. O günden bu yana, çoktandır aklımda olan ve etrafımdaki insanların da sıkça sorduğu bir soruya yanıt aramaya başladım. Meşhur soru şuydu:
“ Ne iş yapıyorsun?”
Bu soruyu yanıtlamak için uzun süre düşündüm ve ”GNU/Linux Sistem Yöneticisi” olmanın ne anlam ifade ettiğini anlatmak için bu yazıyı yazmaya karar verdim. Bu soruya yanıt aramadan önce haydi gelin GNU/Linux ile tanışalım.
GNU/Linux
Linux ilk olarak 1991 yılında Finlandiyalı bir üniversite öğrencisi olan Linus Torvalds tarafından bir işletim sistemi çekirdeği (kernel) olarak geliştirilmeye başlandı. Bu işletim sistemi çekirdeği projesine internette birçok gönüllü geliştirici destek verdi ve bu çekirdeğe Linux ismi ilk olarak Linus Torvalds tarafından verildi. Fotoğrafını gördüğünüz Linus Torvalds’ı merak edenler fotoğrafın altındaki linkten biyografisine ulaşabilir.
Linux çekirdeğinin nasıl geliştirildiğini anlattığımıza göre şimdi sıra GNU (GNU’s Not Unix) projesinde… Burada yazılımcılar için yol gösterici ve rehber olan Richard Stallman’dan bahsedeceğiz.
GNU projesi Linux çekirdeği yazılmadan yıllar önce, 1984 yılında, geliştirilmeye başlandı. GNU tüm bileşenleri özgür olan bir işletim sistemi geliştirme projesiydi. 1984 yılında tamamen özgür yazılımların meydana getirdiği bir işletim sistemi ve araçlarının geliştirilmesinin çalışması böylece başlamış oldu. Linus Torvalds ve internetteki birçok gönüllü geliştirici Linux çekirdeğini yazdıktan sonra, Linux çekirdeği GNU projesinin “işletim sistemi çekirdeği” olarak kullanılmaya başlandı.
Günümüzde yapılan en büyük yanlışlardan biri ise bu işletim sisteminin sadece ‘Linux İşletim Sistemi’ olarak ifade edilmesidir. Özgür Yazılım savunucuları ve GNU/Linux kullanıcıları bu adlandırmayı doğru bulmuyorlar çünkü onlar GNU/Linux’ u bir bütün ve ayrılamaz olarak görüyorlar.
GNU projesinin önemli isimlerinden biri olan Richard Stallman’ın fotoğrafının altındaki linkten biyografsine ulaşabilirsiniz.
GNU/Linux’un gelişme sürecinden sonra, şimdi ‘GNU/Linux Sistem Yöneticileri (GNU/Linux System Administrator) ne yapar?’ sorusunu 5 adımda yanıtlayalım:
1-Sistemlerin İhtiyaç Analizi ve Kurulumu
Bir sistem kurmadan önce o sistem için ihtiyaçlar nelerdir onları belirleriz. Ancak bu ihtiyaçları belirledikten sonra sistemlerin kurulumlarını ve ayarlarını yaparız. Örneğin, bir Wordpress sitesi için ihtiyaçları belirlediğimizi düşünelim. Öncelikle internet sitemizin üzerinde koşacağı bir işletim sistemi seçmeliyiz. Ben bunun için RedHat/Centos 7 dağıtımını seçeceğim. Sonrasında Wordpress çekirdeği PHP dili ile yazıldığı için bu kodları yorumlayan bir PHP sürümü seçip sunucuma gerekli şekilde kuracağım. Daha sonra bir sitemizi yayınlamamızı sağlayacak bir Web Server’a ihtiyacımız olacak ve bunun için iki seçeneğimiz var: Ya Apache kullanacağız ya da Nginx…
Ben bunun için Nginx’i tercih edeceğim. Çünkü güvenirlik, hız ve performans açısından daha iyi olduğunu düşünüyorum. Bu tip tercihler yapıp kurulumları gerçekleştirdikten sonra bir Wordpress sitesini yayına almış oluyoruz ama işimiz bununla bitmiyor.
2-Sistemlerin Performans Takibi ve Güncelleme
Sistemleri kurduktan ve ayarlarını yaptıktan sonra bu sistemlerin performans takibini yaparız. Sistemleri izler, oluşan hatalara çözüm buluruz. Gerekli gördüğümüz anda sistemlerdeki ayarları değiştiririz. Kurduğumuz sistemlerin güncel versiyonlarını sürekli takip eder ve ihtiyaç halinde gerekli güncellemeleri yaparız. Burada önemli olan noktalardan biri her güncellemenin iyi ve gerekli olmadığını bilmektir. Sistem ve ihtiyaç analizinizi iyi yapmak bu noktada çok kritik. Yaptığınız bu analize göre güncelleme yapılmalıdır.
3-Acil Durum Senaryolarını Yönetme ve Çözüm Bulma
Bazı sistemlerde anlık olarak veri akışı olduğu için bu sistemlerin sürekli olarak ayakta olması ve sağlıklı bir şekilde çalışması hayati önem taşımaktadır. Örneğin anlık veri akışı bulunan uygulamada bir hata sebebiyle uygulamanın sunduğu servisin durduğunu düşünelim. Bu tip bir durumda sistem yöneticilerine düşen iş, zaman ve mekan fark etmeksizin hemen hatayı incelemek ve olabilecek en hızlı şekilde hatayı çözmektir.
4-Düzenli Yedekleme ve Veri Güvenliği
Bir sistem yöneticisinin başka bir görevi ise sistemdeki verilerin güvenliğini sağlamak ve düzenli yedekler almaktır. Bir veritabanı servisi olarak PostgreSQL hizmeti verdiğimizi düşünelim. Bu serviste veriler devasa boyutlara ulaşabilmekte ve yedek (backup) alma işi çok zor olabilmektedir. Sistem yöneticileri bu servisin verilerinin nasıl otomatik olarak yedekleneceğini ve ne zaman gereksiz yedeklerin silineceğini belirler. Yani servisin yedekleme kurallarını belirler ve yedeklerini yönetir.
5-Özgür Yazılımları Belgelemek
Kurduğumuz ve ayarlarını yaptığımız Özgür Yazılımları belgeleriz yani kurulum yaparken hangi yolları takip ettiğimizi ve ne gibi ayarlar yaptığımız belgeler, bu belgeleri paylaşırız. Belgeleme süreci, bizden sonra o sistemlerde değişiklik yapacak insanlar için bir rehber olur.
Son olarak, her yılın Temmuz ayının son Cuma günü Sistem Yöneticisi Takdir Günü (System Administrator Appreciation Day) olarak kutlanmaktadır. Bu günde siz de tüm yıl size destek veren sistem yöneticinize teşekkür etmeyi unutmayın :)
Yunus YAŞAR
GNU/Linux Sistem Yöneticisi