Kendi Linux işletim sistemimizi nasıl yapabiliriz?

The_Moon

Centipat
Katılım
3 Şubat 2023
Mesajlar
470
Çözümler
1
Daha fazla  
Sistem Özellikleri
İntel Core İ57200U CPU 2.50Ghz 2.71Ghz
Nvdia Geforce 930MX
8 GB DDR4 Ram
Asus X542UR
Cinsiyet
Erkek
Arkadaşlar selam.
İşleri biraz abartmak istedim ve Linux tabanlı işletim sistem yapmak isterim. Öğrenmem gerekenler nelerdir? Neler yapmalıyım bana açıklayabilir misiniz?
 
Debian özelleştirebilirsin.
 
Herhangi bir dağıtımı taban olarak kullanırsan iş kolay ancak sıfırdan her şeyi sen yazacaksan o zaman iş çok zorlaşır.

Arch'ı taban olarak kullanmanı öneririm.
 
İlk başta Debian'ı özelleştirerek başlayabilirsin. Ama yaptığın şey oturumdan öteye gidemez.
Eğer gerçekten Linux tabanlı bir işletim sistemi yazmak istiyorsanız, çatallamak istediğiniz Linux dağıtımın yazıldığı program dilini öğrenerek başlayabilirsiniz.
Dilleri bilfiğinizi var sayıyorum. İlk önce alt yapısını kullanacağınız bir dağıtım belirleyin. Örneğin Debian.
Debian'nın web sitesine giderek kaynak kodlarına ulaşabilirsin. İşletim Sistemini dilediğin gibi çekip çevirdikten sonra GPL lisansı ile yayınlarsan Linux Dağıtımı yapmış olursun.

Bazı temel kavramlar;
Masaüstü Ortamı(Desktop Enviroment): Linux Dağıtımlarındaki grafiksel arayüz yazılımlarının tamamına masaüstü ortamı denir. En popüler Masaüstü ortamları; Gnome, KDE Plasma, XFCE, LXQT vb...

Çekirdek(Kernel): İşletim sistemlerinin ana kalbini oluşturan yapıdır. Linux sistemlerde adından da anlaşılacağı üzere Linux Kernel kullanılır. Linux'ta en güncel çekirdek sürümü Linux 6.x'tir.

Pencere Yöneticisi(Windows Manager): Pencere yöneticileri Linux sisteminde uygulamaların çalışmasını, pencerelerin yönetilmesini sağlayan temel yazılımdır. Bazı WM'ler; X11, Wayland...
Düzeltme: i3, bspwm, X Windows Manager...


Init(Sistem Yönetimi): Linux tabanlı işletim sistemleri için sistem komponentleri sağlayan bir sistem yazılımıdır. Örneğin; SystemD, Runit, OpenRC...

Paket Yöneticisi(Package Manager): Linux işletim sistemlerinin olmazsa olmazıdır. İşletim sistemine yazılımları indirmenizi, programları dağıtmanızı, sisteminizi güncellemenizi sağlayan yazılımlar bütünüdür. Binebi Uygulama Mağazası veya Güncelleme Yöneticisi gibidir. Örnek: Deb(dpkg), Pisi, Pacman, Google Play Store(APK), RPM...

Linux Dağıtımları bu gibi bileşenlerden oluşur. Bu yazılımların birleşmesi sonucu karşımıza İşletim Sistemi dediğimiz şey çıkar.

Linux Dağıtımı geliştirmek tıpkı Masaüstü Bilgisayar toplamak gibidir. Tamamen açık kaynak kodludur ve herkesin kullanımına açıktır. Bu sayede herkes her yazılımı dilediği gibi geliştirebilir kullanabilir.
 
Son düzenleme:
İlk başta Debian'ı özelleştirerek başlayabilirsin. Ama yaptığın şey oturumdan öteye gidemez.
Eğer gerçekten Linux tabanlı bir işletim sistemi yazmak istiyorsanız, çatallamak istediğiniz Linux dağıtımın yazıldığı program dilini öğrenerek başlayabilirsiniz.
Dilleri bilfiğinizi var sayıyorum. İlk önce altyapısını kullanacağınız bir dağıtım belirleyin. Örneğin Debian.
Debian'nın web sitesine giderek kaynak kodlarına ulaşabilirsin. İşletim Sistemini dilediğin gibi çekip çevirdikten sonra GPL lisansı ile yayınlarsan Linux Dağıtımı yapmış olursun.

Bazı temel kavramlar;
Masaüstü Ortamı(Desktop Enviroment): Linux Dağıtımlarındaki grafiksel arayüz yazılımlarının tamamına masaüstü ortamı denir. En popüler Masaüstü ortamları; GNOME, KDE Plasma, Xfce, LXQT vb...

Çekirdek(Kernel): İşletim sistemlerinin ana kalbini oluşturan yapıdır. Linux sistemlerde adından da anlaşılacağı üzere Linux Kernel kullanılır. Linux'ta en güncel çekirdek sürümü Linux 6.X'tir.

Pencere Yöneticisi(Windows Manager): Pencere yöneticileri Linux sisteminde uygulamaların çalışmasını, pencerelerin yönetilmesini sağlayan temel yazılımdır. Bazı WM'ler; X11, Wayland...

Init(Sistem Yönetimi): Linux tabanlı işletim sistemleri için sistem komponentleri sağlayan bir sistem yazılımıdır. Örneğin; SystemD, Runit, OpenRC...

Paket Yöneticisi(Package Manager): Linux işletim sistemlerinin olmazsa olmazıdır. İşletim sistemine yazılımları indirmenizi, programları dağıtmanızı, sisteminizi güncellemenizi sağlayan yazılımlar bütünüdür. Binebi Uygulama Mağazası veya Güncelleme Yöneticisi gibidir. Örnek: Deb(dpkg), Pisi, Pacman, Google Play Store(APK), RPM...

Linux Dağıtımları bu gibi bileşenlerden oluşur. Bu yazılımların birleşmesi sonucu karşımıza İşletim Sistemi dediğimiz şey çıkar.

Linux Dağıtımı geliştirmek tıpkı Masaüstü bilgisayar toplamak gibidir. Tamamen açık kaynak kodludur ve herkesin kullanımına açıktır. Bu sayede herkes her yazılımı dilediği gibi geliştirebilir kullanabilir.

Pencere yöneticisi örnekleri yanlış olmuş hocam. i3, bspwm gibi örnekler daha doğru olur.

X11 ve wayland görüntü sunucularıdır. Tıpkı WM gibi grafik arayüzünün temel gereksinimlerindendir.

Ayrıca her DE'de WM bulunmaktadır. WM'lerle DE'ler arasındaki fark ne o zaman derseniz gelen ek paketlerdir.
 
Pencere yöneticisi örnekleri yanlış olmuş hocam. i3, bspwm gibi örnekler daha doğru olur.

X11 ve wayland görüntü sunucularıdır. Tıpkı WM gibi grafik arayüzünün temel gereksinimlerindendir.

Ayrıca her DE'de WM bulunmaktadır. WM'lerle DE'ler arasındaki fark ne o zaman derseniz gelen ek paketlerdir.
Uyardığınız için teşekkürler hocam. Wikipedia'da WM sayfasında Wayland ve X11'den de bahsediyordu o yüzden karıştırmışım.
 
Uyardığınız için teşekkürler hocam. Wikipedia'da WM sayfasında Wayland ve X11'den de bahsediyordu o yüzden karıştırmışım.

Hocam X Windows Manager gene doğru bir örnek değil bana kalırsa.

Örnek:
Kwin(KDE pencere yöneticisi.)
Mutter(GNOME pencere yöneticisi.)
Xfwm(Xfce pencere yöneticisi.)
Openbox(lxqt gibi bazı masaüstü ortamlarında seçenek olarak sunulan ayrıca tek başına da indirilip kullanılabilen bir pencere yöneticisi.)

Bu örneklerini verdiğim pencere yöneticileri geleneksel pencere yöneticileridir.

Bir de tiling(döşeme) pencere yöneticileri vardır. Workspace'in nimetlerinden dibine kadar yararlanılan ve klavye kısayollarının çok önem arz ettiği pencere yöneticileridir. Farklı bir deneyim sunar. Herkese hitap etmeyebilir.

Örnek:
i3WM
Bspwm
Awesomewm
Hyprwm
 
Hocam X Windows Manager gene doğru bir örnek değil bana kalırsa.

Örnek:
Kwin(KDE pencere yöneticisi.)
Mutter(GNOME pencere yöneticisi.)
Xfwm(Xfce pencere yöneticisi.)
Openbox(lxqt gibi bazı masaüstü ortamlarında seçenek olarak sunulan ayrıca tek başına da indirilip kullanılabilen bir pencere yöneticisi.)

Bu örneklerini verdiğim pencere yöneticileri geleneksel pencere yöneticileridir.

Bir de tiling(döşeme) pencere yöneticileri vardır. Workspace'in nimetlerinden dibine kadar yararlanılan ve klavye kısayollarının çok önem arz ettiği pencere yöneticileridir. Farklı bir deneyim sunar. Herkese hitap etmeyebilir.

Örnek:
i3WM
Bspwm
Awesomewm
Hyprwm
1688635298210.png

Hocam dediğim gibi Wikipedia'da böyle yazıyordu. Window manager - Wikipedia
Pencere Sistemi ile Pencere Yöneticisi farklı şeyler mi?
 
Linux From Scratch (LFS) kitabı ile sıfırdan bir dağıtım yapabilirsin. Kitap zaten başından sonuna kadar neyin nasıl yapılacağını detaylı bir şekilde ele alıyor.

Ne kadar GNU/Linux deneyimin var bilmiyorum ama bu işlere yeniysen önce hazır bir dağıtım kullanabilirsin. Biraz İngilizce ve Bash programlama dilini öğrenebilirsin. Terminal üzerinden kaynak koddan program derlemeyi ve ayarlarını yapmayı öğrenebilirsin. Ubuntu gibi kullanımı kolay dağıtımlara alıştıktan sonra Arch, Slackware, Gentoo gibi biraz daha ileri seviye GNU/Linux bilgisi olan kişilere uygun dağıtımlara geçebilir ve bir süre de onları kullanabilirsin.

Yani tır ve otobüs ehliyeti almak için bile önceden araba ehliyetinin olması gerekiyor. Daha hiç ehliyet almamış ve hiç direksiyon başına geçmemiş kişilere tır ya da otobüs kullandırmıyorlar. GNU/Linux dünyası da biraz böyle. Önce alış ve öğren, sonra daha zor işlere bakarsın.

Gentoo kurmak, Linux From Scratch ile dağıtım yapmak çok zevkli hobiler bu arada. Meraklılarına tavsiye ederim.
 

Yeni konular

Geri
Yukarı