22 Aralık 2020

LİNUX İŞLETİM SİSTEMİ

Linux, 1991 yılında Finlandiyalı bir üniversite öğrencisi olan Linus Torvalds tarafından geliştirilmiş olup sürpriz bir şekilde Windows işletim sisteminden sonra en bilinen işletim sistemi olarak günümüze kadar gelmiştir.

Linux, 1991 yılında Finlandiyalı bir üniversite öğrencisi olan Linus Torvalds tarafından geliştirilmiş olup sürpriz bir şekilde Windows işletim sisteminden sonra en bilinen işletim sistemi olarak günümüze kadar gelmiştir. Sürpriz olarak bahsetmemin nedeni ise Linux işletim sistemini yazan Linus Torvalds’ın sadece hobi olarak bu işi yapmış olmasıdır. Gelişim hikayesini ise Yalnızca Eğlenmek için adlı eserinde anlatmıştır.

Linux açık kaynak kodlu bir işletim sistemidir. FOSS(Free/Open Source Software) Bu da işletim sistemini kullanan kişinin bilgisayarın arka planında dönen neredeyse her şeyden haberi olabileceği , işletim sistemini kendince düzenleyebileceği ve geliştirebileceği anlamına gelmektedir.

LİNUX DAĞITIMLARI

  • DistoWatch.com: Linux dağıtımı ve açık kaynak yazılımlar hakkında haberlerin, incelemelerin, sıralamaların yer aldığı ünlü bir ağ sayfasıdır. Şu anda birçok dağıtım hakkında bilgi içermektedir. Ek olarak Linux tabanlı olmayan diğer işletim sistemleri hakkında da bilgi içermektedir.

  • Red Hat Enterprise Linux: Zamanının en popüler işletim sistemlerinden biri olarak kabul edilen işletim sistemidir. Tamamen Linux tabanlı olan işletim sistemi ilk olarak 1995 yılında geliştirilmeye başlanmış ve 2004 yılına kadar gelişimine devam edilmiştir.

  • Fedora: Red Hat'ın 2004 yılında sonlandırdığı Red Hat Linux dağıtımının devamı olarak adlandırılabilecek Fedora, Linux dünyasının önde gelen dağıtımlarından biridir. Fedora aynı zamanda Red Hat Enterprise Linux ürünü için bir test ortamı görevi görmektedir. 

  • Ubuntu: Linux tabanlı özgür ve ücretsiz bir işletim sistemi. Bilgisayarlar, sunucular ve akıllı telefonlara yönelik olarak geliştirilmektedir.

  • Debian: 1993 yılında başlatılmış, Dünya'nın çeşitli bölgelerindeki gönüllüler tarafından hazırlanan; GNU/HurdGNU/Linux gibi farklı çekirdek seçeneklerine dayalı tamamen özgür bir Linux dağıtımıdır.

  • Suse Linux Enterprise Server: HPE'nin SUSE Linux Kurumsal Sunucusu, fiziksel ve sanal ortamlarda görev açısından kritik iş yüklerini güçlendirmek için oluşturulmuş, yüksek güvenilirliğe ve ölçeklenebilirliğe sahip bir güvenli sunucu işletim sistemidir.

  • OpenSuse: Novell firması tarafından geliştirilen bir Linux dağıtımıdır. Daha çok yazılım geliştiricileri ve yüksek oranda Hackerlar tarafından  tercih edilmektedir.

VİRTUALBOX

Oracle VM VirtualBox çok platformlu bir sanallaştırma programıdır. 2007 yılında GmbH tarafından geliştirilmiş olup daha sonra Sun Microsystems tarafından satın alınmıştır. Bu program ile Intel veya AMD tabanlı bir sisteme sahip olsanız da üzerinde Windows 10,Linux ve hatta MacOS gibi işletim sistemleri kurulabilir ve çalıştırılabilir.

CentOS (Community Enterprise Operating System)

Red Hat Enterprise Linux (RHEL) kaynak kodları üzerinde geliştirilmiş ve günümüzde sunucularda kullanılan oldukça popüler bir işletim sistemidir. CentOS hem ücretsiz olması hem de meydana gelen sorunlarda internet ortamında çok fazla kaynağa sahip olması nedeniyle sunucularda oldukça fazla tercih edilmektedir. 

SSH PUTTY

Linux işletim sistemine sahip olan uzaktaki bir sunucuya bağlanıp bu sunucunun terminal ekranına ulaşarak sunucuyla ilgili komutları çalıştırmanıza yardımcı olan ufak bir Windows yazılımıdır. Bu yazılım sayesinde uzaktaki bir sunucuya doğrudan bağlanıp terminal ekranını açıp komut girmek yerine terminal ekranına girilmesi gereken komutları Putty aracılığıyla işleve alabiliriz.

LİNUX DİZİNLERİ

  • /root : Sistem görevlisinin ev dizini. Mümkünse bu dizini sistemdeki diğer kullanıcıların göremeyeceği şekilde ayarlayın.

  • /bin : Sistemin açılışı ve kontrolü için gerekli komutlar. Hem kullanıcıların, hem de sistem görevlisinin kullanabileceği dosyalar buraya atılabilir.

  • /etc : Sistem yapılandırma dosyaları. Bu dizinde çalıştırılabilir dosyalar bulunmamalıdır.

  • /home : Kullanıcılara ayrılmış dizin. Başka şekilde ayarlanmamış ise, açılan her hesaba ait kullanıcı, burayı kullanır.

  • /opt : Linux dağıtımının bir parçası olarak kabul edilmeyen harici uygulamalar için kullanılır.

  • /tmp : Geçici dosyaların konulduğu dizin. Belirli zaman aralıklarında temizlenmelidir.

  • /usr : Diğer önemli sistem dosyalarını tutar. Bu bölüm genelde en kalabalık dizindir, zira yeni kurulan tüm programlar buraya konulur.

  • /var : Sürekli değişen sistem bilgileri burada tutulur. İstisnalar dışında diğer makinalarla paylaştırılmaz.

 

LİNUX SHELL “TERMİNAL”

Terminali basitçe bir programdır. Kullanıcıların girdiği komutları alır ve işlem yapması için işletim sistemine verir. Komutların sonuçlarını ve çıktısını kendi üzerinde gösterir. Yani, işletim sistemi ile kullanıcı arasındaki ana köprüdür. Linux dağıtıcıları bir GUI(Graphical User Interface) ile gelir, ama her Linux CLI (Command Line Interface) ya sahiptir. 

 

TEMEL LİNUX KOMUTLARI

  • ls:  Bulunulan dizindeki hangi dosyaların olduğunu bilmek için kullanılır.

  • cd: Bir dizine gitmek için kullanılan komuttur.

  • pwd: Bu komutun çıktısı bize roottan başlayarak tam hangi klasörde olduğumuzu gösterir. 

  • cat: Herhangi bir dosyanın içeriğini görmek için kullanılır.

  • echo: Girdi olarak verilen yazıyı, ekranda veya gönderildiği dosyada parametrelerle belirtilen şekilde görüntüler.

  • man: Bir komutun nasıl kullanılacağını ve hakkında daha fazla bilgi edinmek için kullanılır.

  • exit: Shellden çıkma komutudur.

  • clear: Ekranı temizleme komutudur.

  • cd.. : Bir üst dizine geçer.

  • ./ : O anda bulunulan dizindeki bir betiği çalıştırmak için kullanılır.

  • mkdir : Boş bir dizin oluşturur.

  • rmdir : Belirtilen dizinler boş ise silinir.

  • rm : Dosya ve dizin silmek için kullanılan komuttur.

  • grep : Metin arama görevlerini yürütmek için geliştirilen bir komuttur.

  • tree : İstediğimiz klasörün içerisindeki diğer dosya ve klasörlerin iskelet yapısını görebileceğimiz bir komuttur.

  • cp: Kopyala komutudur. Belirtilen bir ya da birden çok dizini ya da dosyayı hedefe kopyalar.

  • mv: Taşı komutudur. Dosyaların veya dizinlerin yerini değiştirmekte kullanılır.

  • tar: Dosya gruplarının arşivlenmesinde kullanılır. 

  • scp: Ssh protokolü üzerinden iki Linux arasında dosya transferi yapılmak için kullanılır.

  • alias: Uçbirimlerde kullanılan komutların, kullanıcı kısa yollarına verilen isim olarak tanımlanabilir. Bu komut ile sık kullanılan komutlar için kısayol oluşturulabilir.

  • kill: Eğer yanıt vermeyen bir program varsa bu komut kullanılarak uygulamayı öldürebilirsiniz.

 

ERİŞİM HAKLARI

Linux dosya sistemi güvenliğinin temelini oluşturur. Her dosyaya ayrı verilebilen erişim izinleri sayesinde çok daha rahat bir sistem yönetimi gerçekleştirilebilir. Üç farklı erişim hakkı bulunmaktadır.

  • Okuma İzni(read): Dosyanın okuma izni varsa içeriği görülebilir, dizinin okuma izni varsa içerdiği dosyaların listesi alınabilir.

  • Yazma İzni(write): Dosyanın yazma izni varsa dosyayı değiştirebilir veya silebilirsiniz. Dizine yazma izni verildiğinde dizin altındaki dosyalar yazılabilir veya silinebilir.

  • Çalıştırma İzni(execute): Dosyayı çalıştırma hakkını verir.

İZİN KATEGORİLERİ

Üç adet izin kategorisi bulunmaktadır.

  • User: Dosya veya dizinin sahibinin izinleri

  • Group: Dosya veya dizinin grubunun izinleri

  • Others: Dosya veya dizinin diğer şahıslara göre olan izinleri

 

Örnek vermek gerekirse;

-rwx -w- r--  izinleri neyi ifade eder?

Octal Mode olarak değeri 724 olur.

Dosya sahibi dosyayı okuyabilir,yazabilir ve çalıştırabilir.(user)

Dosyanın ait olduğu gruptakiler dosyayı sadece yazabilir.(group)

Sistemde bulunan diğer kişiler dosyayı sadece okuyabilir.(others)

*Bu izinler chmod komutu ile değiştirilebilir.

 

Dosya İçeriklerini Görüntüleme ve Değişiklik Yapma Komutları

  • vi: Dosya içeriğini görüntülemek ve dosyayı düzenleyebilmek için kullanılır.

  • vim: Vi komutuna benzer fakat daha özelliklidir.

  • view: Dosya read-only modunda görüntülenmektedir.

  • İnsert(i): Yazılanlar, imlecin o an bulunduğu yerden itibaren girilir.

  • Delete(x): İmlecin o an bulunduğu yerin sağındaki ilk karakteri siler.

  • Dosyadan Çıkma(:x): Değişiklikleri kaydeder ve dosyadan çıkar.

  • Dosyadan Çıkma (:q): Değişiklikleri kaydetmeden dosyadan çıkar.

 

Joker Karakterler(WildCards)

  • “*” : Bir katar'daki herhangi bir karakteri ifade eder. Örneğin *.txt yazıldığında .txt ile biten tüm kayıtları getirir.

  • “?” : Bir katar'daki tek bir karakteri ifade eder. Örneğin ?.txt yazıldığında tek karakterli .txt dosyalarını getirir.

  • “[]” : Bir katar'daki eşleşen karakter kümesini ifade eder. Örneğin ca[nt]* yazıldığında can veya cat ile başlayan kayıtları getirir.

 

CRONTAB

Belirlenen komut,belirlenen zaman diliminde çalışmasını sağlamak için kullanılan komuttur.

“*” ile gösterilen yerler zaman yada tarih değerlerinin kullanılmasında kullanılır.

 

.---------------- dakika (0 - 59)

|  .------------- saat (0 - 23)

|  |  .---------- Ayın Günleri (1 - 31)

|  |  |  .------- Ay (1 - 12)

|  |  |  |  .---- Haftanın Günleri (0 - 6) (Pazar=0 ya da 7)

|  |  |  |  |

*  *  *  *  *  /çalıştırılacak/komut/yada/script

  • Run every Monday at 07:00. Örneğinden yola çıkarsak;

  1. Yıldız 0 olmalıdır.(dakika)

  2. Yıldız 7 olmalıdır.(saat)

  3. Yıldız gün belirtilmediği için * olarak kalmalıdır.

  4. Yıldız ay belirtilmediği için * olarak kalmalıdır.

  5. Yıldız 1 olmalıdır.(Monday=1)

 

Sekme Tamamlama(Tab Completion)

  • Yum( Yellowdog Updater Modified) RPM tabanlı bir paket yöneticisidir. Redhat,Centos,Fedora vb. bir çok farklı Linux işletim sistemi için kullanılan yum komutları yeni paket kurulumu eski kurulumların kaldırılması paketler hakkında bilgi almak ve versiyon kontrolü gibi pek çok işlevi yerine getirebilirsiniz.

  • Apt-get, Ubuntu gibi Debian temelli Linux dağıtımlarında, tanımlanmış kaynaklardan yeni yazılım paketlerini indirme ve bağımlılıkları ile birlikte kurma, paketleri yükseltme, paket liste içeriklerini güncelleme gibi işlevleri yerine getirmek için kullanılan bir komut satırı arayüzüdür.

 

Linux hakkında temel bilgilerin paylaşıldığı içeriğin sonuna geldik. Umarım faydalı bir paylaşım olmuştur. Bir sonraki yazımızda görüşmek üzere...

 

Efser Yıldırım