Linux İşletim Sistemi Değildir
Linux, sanılanın aksine bir işletim sistemi niteliği taşımaz.
Bu sebepten ötürü işletim sisteminden bahsedilen yerlerde genellikle GNU/Linux ismi geçer.
Linux bu konumda işletim sisteminin çekirdeği olur.
Çekirdek tek başına kullanılamayacağı için bu çekirdekle çalışan yazılımlar yapılmıştır.
GNU ise Linux çekirdeği üzerinde çalışan bir yazılım koleksiyonudur.
Günümüzde çoğu dağıtım GNU yazılımlarıyla birlikte gelir.
GNU yazılımlarının en önemlileri GNU coreutils (temel araçlar), gcc (gnu derleyici koleksiyonu) gibi araçlardır.
coreutils altında işletim sistemi için olmazsa olmaz 100 den fazla program (ls, rm, chmod vb.) bulunur.
GNU coreutils alternatifi olarak genellikle busybox kullanılır. Daha minimal bir koleksiyondur.
Yer ve hafıza gücü kısıtlamaları olan ortamlarda (Gömülü cihazlar vb.) tercih edilir.
Dağıtımlar (Distrolar)
Linux çekirdeği ve seçili yazılımların birleşimine Linux dağıtımı denir.
Yabancı kaynaklarda distro diye de görebilirsiniz (distribution kelimesinin kısaltması).
Seçili yazılımlar kısmına bakacak olursak, dağıtımı yapan kişilerin
kullanıcılar için önem arz eden, kurulum ve kullanımı kolaylaştıran yazılımlar
seçtiklerini görürüz.
Bunlara örnek olarak:
- Masaüstü Ortamı (kısaltması: DE, örn. KDE, GNOME) / Pencere Yöneticisi (kısaltması: WM, örn. i3, hyprland)
- Paket Yöneticisi (örn. apt, pacman, xbps, dpkg, Portage, PiSi)
- Sistem/Servis Yöneticileri/Init Sistemleri (örn. systemd, openrc, runit, s6)
- Kurulum kolaylaştıran sistemler
- Günlük hayatta kullanışlı olan araçlar (İnternet tarayıcısı, dosya yöneticisi, ofis programları vb.)
verilebilir. Burda dağımlar arası en sık değişen yazılımları eklemek istedim fakat
liste fazlasıyla uzun.
Her bir dağıtım, yazılımlarla beraber konfigürasyonlar da paylaşır.
Örneğin masaüstü ortamı dahil olan dağıtımlar logoları olan arkaplan fotoğraflarını paylaşabilir.
Dağıtımlar sıfırdan tasarlanmak zorunda değildirler.
Açık kaynak oldukları için bir dağıtım bir başka dağıtımı taban alabilir.
Bu durumda paylaşılan programların bir kısmını ordan alırlar.
Dağıtım geliştiricileri dağıtımlarının farklı sürümlerini iso dosyaları aracığılıyla paylaşırlar.
Bu sürümler farklı bir donanım platformuna veya farklı bir hedef kitleye hitap edebilir.
Linux kurmaya karar veren yeni kullanıcılar dağıtım seçmekte zorlanabilirler.
Dağıtımların farklarını ve amaçlarını anlamak, bu konuda yardımcı olabilir.
Dağıtımların Farkları
Bu başlıkta yukarıdaki listede verdiğim örnekleri detaylı açıklamak istedim.
Yeni kullanıcılar dağıtımlardan bağımsız olarak bu tür yazılımlar arasında da kalabilirler.
Kullanıcının kendi sistemini kurmasına izin veren dağıtımlar (Arch, Gentoo, Void vb.)
bu tür programlarla birlikte gelmeyebilir.
Masaüstü Ortamları / Pencere Yöneticileri
Bu yazılımlar, kullanıcının bilgisayla olan etkileşimini
grafik arayüz aracığılıyla gerçekleştiren programlardır.
Bu programlarda başlangıç menüsü, görev çubuğu, widgetlar, ikonlar (internet durumu, batarya, ses vb.)
bulunabilir. Aynı zamanda kullanıcının çalıştırdığı grafik programlarının (İnternet tarayıcısı, dosya yöneticisi vb.)
pencerelerini kullanıcının isteğine göre yönetebilmesini sağlar.
Kullanıcılar bu özellikleri istedikleri gibi kişiselleştirebilir.
Bu tür yazılımlara örnek olarak KDE, GNOME, Xfce, Cinnamon verilebilir.
Pencere yöneticileri ise masaüstü ortamlarına göre daha sade yazılımlardır.
Bu sebepten ötürü yeni kullanıcılar sorun yaşayabilirler.
Masaüstü yöneticilerine kıyasla pencere yöneticilerinin varsayılan kurulumları
daha kaba ve kullanımı daha zor olarak gözükebilir. Konfigürasyon için genellikle
bir programlama dili (awesomewm için Lua, Xmonad için Haskell, Qtile için Python)
yada özel bir konfigürasyon dili kullanılır. (örn. i3, bspwm, hyprland)
Burda yeni kullanıcılar için masaüstü ortamlarını kullanmalarını önerebilirim.
Tecrübe edindikçe farklı yazılımlar deneyebilir ve keşfedebilirsiniz.
Paket Yöneticisi
Linuxta yazılım yükleme genellikle paketlerle sağlanır.
Dağıtımlar genellikle kendi paket depolarını sunucularda tutarlar.
Örnek verecek olursak Ubuntu dağıtımının paket yöneticisi apt dir.
Ubuntuya apt ile kurulan paketler Ubuntu gelştiriciletinin belirledikleri sunuculardan alınır.
Kullanım kolaylığı için dağıtımlar grafik arayüzlü mağaza programları yapabilirler.
Sistem/Servis Yöneticileri (Init Sistemleri)
init, bilgisayar çalıştırıldığında Linux çekirdeğinin çalıştırdığı ilk programdır.
init, bilgisayar kapanana kadar çalışmaya devam eder ve bu süreçte çalıştırılan diğer programlar,
init programından çalıştırılır. Bu programı sağlayan yazılımlara bakacak olursak
yukarıdaki listede verildiği gibidir. Bu yazılımlardan en yaygını systemd projesinin init programıdır.
Servis olarak çalışan programlar (dhcp sunucusu/clienti, login yöneticisi, ağ yöneticisi vb.) bu yazılımlar tarafından yönetilir.
Popüler Dağıtımlar
Linux dağıtımlarını saymaya kalkarsak işin içinden çıkılacak gibi durmuyor.
Linux Dağıtımları Listesi (Wikipedia)
Linux Dağıtımları ağacı (Wikipedia)
Bu sebepten ötürü popüler dağıtımları bu başlık altında birleştirmek istedim.
Burda bahsetmek istediğim bir diğer konu da aşağıda bahsi geçen dağıtımların çoğunun kendi topluluk forum, wiki gibi kuruluşları olmasıdır.
Dağıtımları kullanırken yaşanabilen sorunların cevaplarını forumlarda ve wikilerde bulmak mümkündür.
Özellikle wikilerde dağıtımların kuruluş aşamaları ve programlarlar hakkında bilgiler bulmak mümkündür.
Debian ve Debian Tabanlı Dağıtımlar
Debian Linux ekosisteminin en temel dağıtımlarından biridir.
Debian Project organizastonu tarafından oluşturulmuştur.
İlk sürümü 1993 yılının Ağustos ayında yayınlanmıştır.
Stabil ve LTS (uzun vadeli destekli) yazılımları barındırır.
dpkg isiminde paket yöneticisini bünyesinde barındırır.
Birden çok donanım platformuna kurulabilir.
Debian tabanlı bazı popüler dağıtımlar arasında:
- Ubuntu
- Pardus
- Linux Mint
- Kali Linux
bulunur.
Pardus
Pardus dağıtımının ilk sürümü 27 Aralık 2005 yılında yayınlanmıştır.
Geliştirilmesi, TÜBİTAK BİLGEM (Bilgi Güvenliği İleri Teknolojiler Araştırma Merkezi) bünyesinde
oluşturulan bir ekip tarafından sürdürülmüştür.
Debian Linux tabanlıdır.
Farklı kullanımlar ve platformlar için sürümleri vardır.
Bu sürümler aşağıdaki gibidir:
- Pardus Masaüstü
- Pardus ETAP
- Pardus Eğitim
- Pardus ARM
- Pardus Bulut ve Sunucu
Ubuntu ve Ubuntu Tabanlı Dağıtımlar
Ubuntu dağıtımı Debian tabanlıdır.
İlk sürümü 20 Ekim 2004'te yayınlanmıştır.
Canonical Ltd. şirketi tarafından geliştirilmektedir.
apt isimli paket yöneticisini bünyesinde barındırır.
Ubuntu dağıtımı tabanlı birçok dağıtım bulunur.
Bu dağıtımlara örnek olarak:
- Kubuntu (KDE Plasma)
- Lubuntu (LXDE/LXQT)
- Xubuntu (Xfce)
- Ubuntu Studio (İçerik üreticileri için özelleştirilmiş)
- Ubuntu MATE (MATE ve araçları)
- Linux Mint bulunur.
Arch Linux ve Arch Tabanlı Dağıtımlar
Arch Linux, rolling-release sürüm modeline sahip, minimal kurulum ortamı olan ve
kurulması gereken programların ve konfigürasyonların tercihini tamamen kullanıcıya
bırakan bir dağıtımdır. Debian veya Ubuntu gibi kurulum arayüzü yoktur. Kurulum tamamen terminalden yapılır.
Daha kolay kurulum tecrübesi için bazı araçlar yazılmıştır (örn. archinstall)
pacman paket yöneticisini barındırır.
Arch Linux tabanlı bazı dağıtımlar:
- ArchBang (Grafik kurulum arayüzü, i3wm)
- Artix Linux (systemd dışında, openrc, runit init sistemleri tercihi)
- BlackArch (Siber givenlik odaklı)
- Garuda Linux (Oyun odaklı bir dağıtım)
- Manjaro (Kendi repo yani paket deposunu bulundurur, çoğu DE hazır gelir)
- Parabola (Binary blob yani kapalı kaynak kod bulundurmayan dağıtım)
- SteamOS (Valve tarafından geliştirilen ve Steam Deck'te kullanılan dağıtım, eskiden Debian tabanlıydı)
RPM (paket yöneticisi) Tabanlı Dağıtımlar
RPM paket yöneticisini kullanan en popüler dağıtımlar:
- Red Hat Linux dağıtımının bölümü sonucu (2003 yılında bölünmüştür)
- Red Hat Enterprise Linux (RHEL, ticari)
- Fedora (Red Hat sponsorlu, topluluk tarafından geliştirilen)
- SUSE Linux dağıtımının bölümü sonucu
- SUSE Linux Enterprise (ticari)
- openSUSE
Bu dağıtımları taban alan birçok dağıtım bulunur.
RHEL tabanlı bazı dağıtımlar:
- CentOS (topluluk tarafından geliştiriyordu, 2024 yılında sonlandırıldı)
- Rocky Linux (CentOS projesinin kurucusunun projesi)
- AlmaLinux (topluluk tarafından geliştiriliyor, CentOS alternatifi)
Fedora dağıtımını taban alan bazı dağıtımlar:
- QubesOS (Yüksek güvenlik amaçlı)
- Asashi Linux (Linux'u Maclerde çalıştırmayı hedefleyen proje)
- Linux XP (Windows XP'ye benzemeyi amaçlayan dağıtım)
Gentoo Linux ve Gentoo Tabanlı Dağıtımlar
Gentoo Linux, minimal kurulum ortamı olan, Portage paket yönetim sistemine sahip,
yüksek kişiselleştirme ve optimizasyon seçeneklerini sunan bir dağıtımdır.
Kullanımı tecrübe gerektirebilir.
Portage paket sistemi bir paket yöneticisi değildir, bu sistemi kullanan iki temel
komponent ebuild ile emerge dir. emerge, ebuild için bir arayüzdür.
ebuild, paketleri kurulumu ve yüklenmesi ile ilgilenirken emerge paket depolarını yöneten,
paketler arası bağımlılıkları çözümleyen programdır.
Portage paket sisteminde paketlerde dağıtılan programın binary (derli hali) yerine kaynak kodu bulunur. (Kapalı kaynak paketler hariç)
Kullanıcının indirdiği paketteki kod, ebuild tarafından derlenir ve yüklenir.
Portage sistemi esnekliğinden ötürü diğer dağıtımlarda kullanılabilir ve bir meta-dağıtım olarak ta geçer.
Gentoo kurarken Linux çekirdeği dahil tüm programlar sıfırdan derlenir.
Derleme opsiyonları kullanıcı tarafından konfigürasyon dosyalarıyla belirlenir.
Basit derleme opsiyonları haricinde Portage, yazılımların diğer yazılımlar için olan desteklerin
eklenmesi yada eklenmemesi seçeneğini de kullanıcıya bırakır (USE Flags).
Yüksek konfigürasyon ve optimizasyon özellikleri burdan gelmektedir.
Gentoo tabanlı bazı dağıtımlar:
- ChromeOS (Chromebooklarda kullanılan dağıtım, tüm uygulamalar Chrome üzerinden çalışır, kapalı kaynak)
- ChromiumOS (ChromeOS açık kaynak versiyonu)
- Funtoo Linux (Gentoo'nun kurucusu tarafından oluşturulmuştur, sonlandırılmıştır)
Slackware
Slackware, SLS (Softlanding Linux System) tabanlı bir dağıtımdır.
Stabilite, sadelik ve saflık hedeflidir.
Minimal kurulumu vardır.
Paket yöneticisi olarak pkgtools programları kullanılır.
Bu paket yönetici programları otomatik bağımlılık çözümlemeleri yapmazlar.
Bu görev kullanıcıya bırakılır.
Fakat Slackware'in önerilen full kurulumundaki tüm paketlerin bağımlılıkları çözümlüdür.
Slackware'in bir paket deposu yoktur. Paketler tarball dosyalarıyla indirilir.
Android ve Android Tabanlı Dağıtımlar
Android, Google tarafından geliştirilen, modifikasyonlu Linux çekirdeği çalıştıran
ve mobil cihazlar için tasarlanmış işletim sistemidir.
Android tabanlı bazı dağıtımlar:
- GrapheneOS (Android tabanlı, açık kaynak, gizlilik ve güvenlik hedefli)
- LineageOS (açık kaynak)
- CalyxOS (online gizlilik ve güvenliği hedefleyen, açık kaynak dağıtım)
- /e/ (Eelo) (LineageOS ve Android tabanlı)
Kaynak Tabanlı Dağıtımlar
Bu kategoride Arch Linux'a ilham olan CRUX,
kullanıcının kendi sistemini sıfırdan kurduğu LFS (Linux From Scratch),
Linux dağıtımı geliştirme ortamı için olan T2 SDE,
ve birkaç tane daha kaynak kodundan başlayıp paket yöneticisi vb. yazılımlar olmadan kurulan dağılımlar var.
Neden Çok Fazla Dağıtım Var?
Bu ekosistemin açık kaynaklı yazılımlardan oluştuğunu hatırlayalım.
İsteyen herkes herhangi bir yazılımı indirebilir ve modifiye edebilir.
Farklı amaçlar için farklı dağıtımlar oluşturulabilir.
Kısacası, ihtimaller sonsuzdur.
Bazı insanlar hobi olsun diye dağıtımlar oluşturmuştur.
Kendi dağıtımınızı oluşturmak Linux ekosistemi hakkında bilgi kazandıran bir tecrübedir.
Bunun sonucu olarak çok fazla dağıtım ortaya çıkmıştır.
Eğer Linux ve Linux dağıtımları hakkında tecrübe edinmek istiyorsanız ve bilgisayarınıza Linux kurmak istemiyorsanız
sanal makine kullanabilirsiniz. Bu sayede gelecekte bilgisayarınıza Linux kurma kararı alırsanız alışma süreci daha konforlu olabilir.
Benzer şekilde iki işletim sistemi kurmak istiyorsanız dual boot'ta ayrı bir seçenek.
Son Söz
Söylediklerimi toplamak gerekirse Linux ekosistemi dinamiktir ve özgür yazılımlarla oluşmuştur.
Kullanıcılarına özgürlük ve seçim tanır.
Dağıtımlar, bu ekosistemdeki yazılımları kullanıcı için düzenler, ayarlar ve paylaşır.
Bu da her bir ihtiyaç için farklı programlar ve dağıtımların oluşturulduğu bir ortam sağlar.
Okuduğunuz için teşekkürler.
Top comments (0)