Linux Nedir? Çekirdek, Dağıtım ve Temel Kavramlar
Linux, sunucuların, bulut altyapısının ve Android'in temelinde çalışan açık kaynaklı işletim sistemi çekirdeğidir. 'Linux' çoğunlukla çekirdeği bir paket yöneticisi ve araçlarla birleştiren dağıtımları (Ubuntu, Debian, Fedora) ifade eder. Komut satırı, dosya sistemi hiyerarşisi ve izinler temel kavramlardır.
Linux, dünyanın en yaygın kullanılan açık kaynaklı işletim sistemi çekirdeğidir. 1991'de Linus Torvalds tarafından başlatıldı ve bugün gezegendeki sunucuların, bulut altyapısının, Android telefonların ve sayısız gömülü cihazın temelinde çalışıyor. Çoğu internet hizmeti, bir Linux sunucusu üzerinde ayaktadır. Masaüstünde Windows ve macOS kadar yaygın olmasa da, teknik dünyanın görünmeyen omurgasıdır.
Linux'u anlamak için önce bir ayrımı netleştirmek gerekir: "Linux" kelimesi hem dar hem geniş anlamda kullanılır.
Çekirdek ve dağıtım
Teknik olarak Linux, yalnızca işletim sisteminin çekirdeğidir (kernel). Çekirdek, donanım ile yazılım arasındaki köprüdür: İşlemciyi, belleği, diskleri ve çevre birimlerini yönetir, programların bunlara güvenli biçimde erişmesini sağlar. Ancak tek başına bir çekirdek kullanılabilir bir sistem değildir.
Günlük dilde "Linux" dediğimizde genellikle bir dağıtımı (distribution ya da kısaca distro) kastederiz. Bir dağıtım, Linux çekirdeğini; sistem araçları, bir paket yöneticisi, kabuk ve genellikle bir masaüstü ortamıyla bir araya getiren tam bir paketi ifade eder. Ubuntu, Debian, Fedora ve Arch Linux en bilinen örneklerdir. Hepsi aynı çekirdeği kullanır ama farklı felsefe, araç ve güncelleme yaklaşımlarıyla gelir.
Açık kaynak ve özgür yazılım
Linux'un tanımlayıcı özelliği açık kaynaklı olmasıdır. Kaynak kodu herkese açıktır; incelenebilir, değiştirilebilir ve dağıtılabilir. GPL lisansı altında yayınlanır. Bu açıklık, dünya çapında on binlerce geliştiricinin katkıda bulunduğu büyük bir topluluk yarattı ve Linux'un bu kadar farklı donanıma uyarlanabilmesinin temel nedeni oldu. Hiçbir tek şirket Linux'a sahip değildir; gelişimi büyük ölçüde Linux Vakfı etrafında eşgüdümlenir.
Temel kavramlar
Linux'a yeni başlayan biri birkaç temel kavramla sık karşılaşır:
- Kabuk (shell) ve komut satırı: Linux'un gücü büyük ölçüde metin tabanlı komut satırında (genellikle Bash kabuğu) ortaya çıkar. Grafik arayüz olmadan da sistemi tam olarak yönetmek mümkündür — sunucularda zaten çoğunlukla böyle çalışılır.
- Dosya sistemi hiyerarşisi: Linux'ta her şey tek bir ağaç yapısında,
/(kök dizin) altında düzenlenir. Sürücü harfleri yoktur; aygıtlar bile bu ağaca bağlanır (mount edilir). - "Her şey bir dosyadır": Linux felsefesinde cihazlar, süreçler ve hatta bazı sistem bilgileri dosya gibi ele alınır; bu tutarlılık sistemi öğrenmeyi ve otomatikleştirmeyi kolaylaştırır.
- İzinler ve kullanıcılar: Linux çok kullanıcılı bir sistemdir; her dosya ve sürecin sahibi ve erişim izinleri vardır. Yönetimsel yetki
rootkullanıcısına aittir. - Paket yöneticisi: Yazılım kurmak için tek tek dosya indirmek yerine, dağıtımın paket yöneticisi (apt, dnf, pacman gibi) kullanılır; bağımlılıkları da otomatik yönetir.
Nerede kullanılıyor?
- Sunucular ve bulut: Web sunucularından veritabanlarına kadar internet altyapısının büyük bölümü Linux üzerinde çalışır.
- Konteynerler: Docker ve Kubernetes gibi teknolojiler, temelde Linux çekirdeğinin yeteneklerine (namespace, cgroups) dayanır.
- Mobil ve gömülü: Android, Linux çekirdeği üzerine kuruludur; yönlendiriciler, akıllı TV'ler ve IoT cihazları da sıkça Linux çalıştırır.
- Süper bilgisayarlar: Dünyanın en güçlü süper bilgisayarlarının neredeyse tamamı Linux kullanır.
Nereden başlamalı?
Linux öğrenmenin en etkili yolu onu kullanmaktır: Ubuntu gibi yeni başlayan dostu bir dağıtımı bir sanal makinede ya da ayrı bir bölümde kurmak iyi bir başlangıçtır. Asıl beceri komut satırında gelişir — dosya gezinme, izin yönetimi ve paket kurulumu gibi temel komutları öğrenmek, sistemin mantığını hızla oturtur. Çekirdek ve geliştirme süreci hakkında resmi kaynak kernel.org'dur; dağıtımların kendi belgeleri ise günlük kullanım için en pratik rehberlerdir.
Benzer İçerikler
CI/CD Nedir? Sürekli Entegrasyon ve Sürekli Teslim
CI/CD, kodun yazımından yayına kadar olan süreci otomatikleştiren uygulamalar bütünüdür. Continuous Integration sık birleştirme ve otomatik testle hataları erken yakalar; Continuous Delivery/Deployment yayını güvenli bir rutine dönüştürür. Merkezinde derleme-test-dağıtım aşamalarından oluşan pipeline vardır.
27 Eki 20262 kaynakOPS2 DKMikroservis Mimarisi Nedir? Monolitten Dağıtık Sistemlere
Mikroservis mimarisi, bir uygulamayı bağımsız çalışan küçük servislere bölen bir tasarım yaklaşımıdır. Her servis tek bir işten sorumludur, ayrı dağıtılır ve API ile haberleşir. Monolite göre esneklik ve ölçeklenme kazandırır ama dağıtık sistem karmaşıklığı getirir; çoğu proje monolit olarak başlamalıdır.
27 Eki 20262 kaynakOPS2 DKKubernetes Nedir? Konteyner Orkestrasyonuna Giriş
Kubernetes (K8s), konteyner haline getirilmiş uygulamaların dağıtımını, ölçeklenmesini ve yönetimini otomatikleştiren açık kaynaklı bir orkestrasyon sistemidir. 'Arzu edilen durum' modeli, kendi kendini iyileştirme ve bildirimsel YAML yapılandırmasıyla modern bulut yazılımının fiili standardı haline geldi.
27 Eki 20262 kaynak