Sıkça Sorular Sorular¶
Windows'tan Linux'a geçmeli miyim?¶
Linux'un Avantajları¶
- Kullanıcılarına özgürlük ve kontrol olanağı sağlar. İstediğiniz masaüstü ortamını istediğiniz tema ile; istediğiniz performans ayarlarını istediğiniz zaman kullanabilirsiniz. (ör. Gnome, KDE, Mate, Xfce)
- Dağıtımlar çoğunlukla ücretsizdir, bu yüzden işletim sistemi lisansına para ödemek veya korsan yöntemlere başvurmak zorunda kalmazsınız.
- Hem yüklü olan veya yüklenecek uygulamaların veya araçların neredeyse hepsinin açık kaynaklı olmasından ötürü, hem de market payı düşük bir işletim sistemi olmasından ötürü virüs kapma riski çok azdır.
- Yazılım yüklemek çok daha kolaydır, dağıtımınızın yazılım deposunda istediğiniz yazılımı aratıp indirebilirsiniz. (ör. Flathub, Debian Packages, Arch Linux Packages)
- Aygıt sürücüleri çoğunlukla otomatik olarak yüklenir. Nadiren bazı donanımlar ek sürücüler yüklemeyi zorunlu kılabilir.
- Çoğunlukla Windows ve macOS'e göre daha az bellek ve işlemci gücü kullanır. Ancak bu kullanılan dağıtıma veya sistem yapılandırmasına göre değişebilir.
- Proton (Valve <3) ve Lutris gibi araçlar sayesinde, oynayacağınız oyun Linux için çıkarılmamış olsa bile Windows'ta oynadığınız oyunların büyük bir çoğunluğu desteklenir. (bkz. ProtonDB)
Linux'un Dezavantajları¶
- Windows'a özel çoğu program Linux'ta çalışmaz (ör. Adobe programları, Microsoft Office, çoğu DAW). Alternatiflerinin bulunmasını gerektirir (ör. LibreOffice, GIMP, Krita, Inkscape). Bunların dışında çoğunlukla profesyonel amaçlı kullanılan yazılımların büyük bir çoğunluğu Linux için çıkarılmaz (ör. CAD yazılımlarının büyük bir çoğunluğu).
- Çekirdek seviyesinde çalışan anti-cheat içeren çoğu oyun çalışmaz (ör. Vanguard, EA Anticheat). Hangi anti-cheat içeren oyunların çalıştığını öğrenmek için Are We Anti-Cheat Yet? veri tabanına göz atabilirsiniz.
- Çoğu Nvidia sürücüsü destekleniyor olsa da Linux'un Nvidia ile arası tarihsel olarak pek iyi olmamıştır. Ekran kartınızın desteği hakkında kısa bir araştırma yapmanız tavsiye edilir.
- Bazı alışkanlıkları değiştirme zorunluluğu. Linux'un farklı yapısı başlangıçta bir kültür şoku etkisi yaratabilir. Bu durumun geçici olduğunu ve bir günde Linux'u hakkıyla öğrenemeyeceğinizi bilmeniz gerekir. Gerekli zamanı verdiğinizde ve sabırlı olduğunuzda Linux sağladığı tüm özelleştirme imkanıyla ve sunduğu esnekliklerle sizin için bir vazgeçilmez olabilir.
Linux en çok kimlere uygundur?¶
Herkes için uygundur. Öyle veya böyle herkes Linux kullanabilir. Ancak daha çok gizliliğine önem verenlere, özgür yazılım fikri ile ilgilenenlere, kişiselleştirme tutkunlarına, yazılımcılara, editörlere, akademisyenlere, öğrencilere, minimalizm sevdalılarına, eski bilgisayara sahip kullanıcıya, render odaklı bilgisayar sahiplerine, iş akışında verimlilik arayanlara ve meraklı kullanıcılara daha uygun bir işletim sistemidir denebilir.
Linux hakkında yanlış bilinenler¶
- "Linux her şeyi daha hızlı yapar." Her zaman değil, kullandığınız programlara ve seçtiğiniz dağıtıma göre bu çok değişiklik gösterir.
- "Linux kullanmak için komut satırına bir sürü kodlar yazmak gerekir." Bu günümüzde pek geçerli değildir, popüler dağıtımların çoğunda sıradan bir Linux kullanıcısı terminal ile hiç etkileşime girmeden tüm sistemi yönetebilir ve kullanabilir. Sistemi daha hızlı kullanabilmek için bazı komutları bilmek, örneğin paket yükleme komutları gibi, faydalı olabilir, ancak zorundalık değildir. Neredeyse her şeyin grafik arayüzü vardır.
- "Linux kullanmak hackerlıkta yardımcı olur." Bu doğru değildir. Çok güzel yemekler yemek sizi aşçı yapmıyorsa, Linux kullanmak da sizi "hacker" yapmayacaktır. Siber güvenlikle alakalı profesyonel kurslara başvurmak daha mantıklı bir çözüm olacaktır.
- "Linux bir işletim sistemidir." Hayır, Linux bir işletim sistemi çekirdeğidir. Bu çekirdeğin üzerine eklenerek yazılmış tüm projelere dağıtım, yani işletim sistemi adı verilir. Örneğin Ubuntu bir dağıtım/işletim sistemidir, Linux ise Ubuntu dağıtımının çekirdeğidir.
Dağıtım nedir?¶
Linux aslında bir işletim sistemi çekirdeğidir demiştik. Bu çekirdek üzerine katman katman örülen farklı paketlerden oluşturulan ve farklı tipte kullanıcılar tarafından kullanılmaya hazır paketler topluluğuna dağıtım denir.
Dağıtımların birbirlerinden farkları hitap ettiği kullanıcı tipi, paket yönetimi, sürüm yönetimi, farklı ihtiyaçlara göre özel araçlar geliştirme gibi çeşitli tercihler olabilir.
Linux'ta üç adet popüler taban dağıtım vardır. Diğer dağıtımların büyük kısmı bu taban dağıtımlara bağımlı şekilde geliştirilir. Bunlar Debian, RHEL (Fedora) ve Arch Linux tabanlarıdır. Hatta Debian'a bağlı olsa da kendine bağımlı onlarca dağıtıma sahip olmasından dolayı Ubuntu'yu bile bir taban olarak kabul edebiliriz.
Stabil dağıtım ve güncel dağıtım ayrımı¶
Stabil dağıtımlar¶
Yalnızca kritik bug'lar ve güvenlik yamaları yapılarak belirli bir yazılım sürümünü uzun vadede idame ettirme politikasına sahip dağıtımlar stabil dağıtımlardır. Dağıtımlar için stabilite öngörülebilir yazılımlara sahip olmasıyla ilişkilidir. Bir yazılımın öngörülebilir olması onu doğrudan problemsiz kılmaz, bu yanlış anlaşılan bir konsepttir. Stabil yazılımların sorunları veya eksiklikleri bilindik sorunlardır ve buna uygun rehberlerle veya alternatif üçüncü parti yazılımlara yönelerek kullanıcı tarafından bu eksikliklerin giderilmesi beklenir. Sistem bu sayede daha kararlı tutulur.
Debian/Ubuntu tabanı 2-3 yıllık döngülerle LTS (uzun vadeli destek) sürümü yayımlarlar. Linux Mint ve ZorinOS bu tabanın üzerine oluşturulmuş dağıtımlardır.
Güncel dağıtımlar¶
Yazılımların yalnızca bug düzeltmeleri veya güvenlik güncellemeleri değil, özellik güncellemelerini de veren dağıtımlardır. Yani kullandığınız yazılımlara gelen ek özellikler hızlıca sunulur. Genelde mevcut sorunları hızlıca çözme yoluna giden bir politika izlerler, bu sayede kullanıcılara daha iyi bir deneyim sağlayabilirler. Ancak güncel dağıtımlardaki sorun da paketlerin uzun vadeli testlerden geçmemesi sebebiyle öngörülemez oluşlarıdır. Bir sorunu çözmek yenisini yaratabileceği için daha kararsız bir deneyim sunabilirler. Modern dağıtımlarda bunun için btrfs dosya sistemi üzerine snapper kurtarma aracı gibi yöntemler geliştirilmiştir.
Arch Linux, CachyOS gibi dağıtımlar olduğunca güncel paketler sunan bleeding edge olarak isimlendirilen dağıtımlardır, OpenSUSE Tumbleweed OpenQA sistemiyle paketlerini bir dizi teste tâbi tutup o şekilde güncelleme sunar, Fedora ise 6 ayda bir sürüm atlayan leading edge tarzı dağıtımlardır.
Kürate (Curated) dağıtımlar¶
Tamamen izledikleri politika gereği, ihtiyaca ve hitap ettiği kitleye bağlı olarak hangi tipte yazılımları güncel hangi tipte yazılımları stabil tutacaklarına karar veren geliştiricilere sahip dağıtımlardır. Bazzite, Solus, Nobara, PikaOS, Pop!_OS gibi dağıtımlar bunlara örnek gösterilebilir. Politikaları ve tabanlarına bağlı olarak güncel veya stabil tarafa yakın olabilirler.
Örneğin Solus haftalık olarak sistem güncellemesini toplu şekilde veren ama kritik paketleri aylarca test edip bekletebilen bağımsız bir dağıtımdır. Pop!_OS Ubuntu'nın 2024 yılı LTS sürümünü taban almasına rağmen masaüstü ortamı olan COSMIC'in güncellemelerini testten çıkar çıkmaz vermektedir.
... dağıtımdan ... dağıtıma geçmeli miyim?¶
Çoğu Linux dağıtımı, belirli programlar ve masaüstü ortamlarıyla birlikte gelse de modüler bir yapıya sahiptir. Yani istediğiniz programı, masaüstü ortamını veya pencere yöneticisini değiştirebilir ya da birden fazlasını aynı anda kullanabilirsiniz. Örneğin:
- Gnome ile gelen Ubuntu’ya, depolardan KDE kurarak Ubuntu üzerinde KDE kullanabilirsiniz.
- Dosya yöneticisi gibi temel uygulamaları da değiştirebilirsiniz. Örneğin, Nautilus yerine Dolphin tercih edebilirsiniz.
- Eğer kullandığınız Linux çekirdeği donanımınızda sorun çıkarıyorsa, LTS (“Uzun Vadeli Destek”) çekirdeğini kurup test edebilirsiniz.
Dolayısıyla dağıtımlar arasındaki en temel farklardan biri aslında yazılım depolarıdır. Mesela bir dağıtımda Chrome 140 sürümündeyken, başka bir dağıtımda 139 sürümünde olabilir. Bu fark, dağıtımların güncellik–stabilite dengesine yönelik tercihleriyle ilgilidir.
Kullanıcılar dağıtımların tercihlerine tam olarak bağımlı değillerdir, istedikleri takdirde farklı paket depoları ekleyip veya farklı bir paket tipini kullanarak en güncel yazılımlara yine ulaşabilirler. Örneğin Linux Mint'in kendi deposunda 3.4 versiyonlu bir yazılım işinizi görmüyorsa Flatpak paket tipiyle 5.0 sürümünü kurabilirsiniz. Linux bu özgürlüğü sağlamaktadır.
Masaüstü Ortamı Nedir?¶
Masaüstü Ortamı (Desktop Environment - DE) bilgisayarı görsel olarak kullanmanızı sağlayan grafik arayüzdür. Linux, Windows ve macOS gibi tek bir masaüstü ortamından ibaret değildir. Yeni bir Linux kullanıcısı için en önemli adım dağıtımlardan önce kullanacağı masaüstü ortamını tercih etmektir. KDE Plasma, GNOME, COSMIC, Cinnamon, Budgie, XFCE, LXQt gibi farklı amaçlara hizmet eden ve farklı felsefelere sahip kullanıcı arayüzlerini inceleyebilirsiniz.
Teknik açıdan masaüstü ortamı; aslında TTY'yi maskeleyen kullanıcı arayüzü olarak görülebilir. TTY ya da terminal arayüzü grafiksel ortamın arkaplanında çalışan komut işleme kısmıdır. Masaüstü ortamı olmaz ise TTY yani o "korkunç" siyah ekran sizi karşılar. Grafik katmanı (Wayland/X11 + Display Server + Gtk/Qt kütüphaneleri) ve onun üzerine inşaa edilen masaüstü ortamları (KDE, GNOME vb.) TTY'de yapabileceklerinizi kolayca grafik arayüzünden yapmanızı sağlar. Grafik katmanda sorun yaşadığınızda Ctrl+Alt+F3 (F4,F5 ... de dahil) kısayoluyla TTY arayüzüne ulaşıp terminalden sistem kurtarma yapabilirsiniz.
Farklı uygulama paket tipleri nelerdir?¶
Dağıtıma bağlı sistem paketleri¶
Bir dağıtımda en çok uyumluluğa sahip paket tipi o dağıtımın kendi resmi paketleridir. Bu yüzden özel bir durum olmadıkça resmi depolardan sistem paketlerini kurmak önerilir.
-
.deb (Debian, Ubuntu, Mint vb.) Linux dünyasında en yaygın paket tipidir.
aptpaket yöneticisini kullanır. -
.rpm (Fedora, OpenSUSE) Geniş paket desteği mevcuttur. Güvenlik ve doğrulama mekanizmaları gelişkindir. Bağımlılık çözmede başarılı bir paket tipidir.
dnfvezypperpaket yöneticileri tarafından kullanılır. -
.pkg.tar.zst (Arch Linux, CachyOS vb.) Sıkıştırma algoritması zstd çok başarılıdır, bu sayede az yer kaplar ve indirme ve kurulumu hızlıdır.
pacmanpaket yöneticisi ile yönetilirler.
İzole paketler¶
Dağıtımlardan ve sistem paketlerinden bağımsız kendi havuzunda çalışan yalıtılmış paketlerdir. Evrensel niteliğe sahiptirler.
-
Flatpak En yaygın izole paket sistemidir. Flathub üzerinden uygulamalar görüntülenebilir. Kimi dağıtımlarda uygulama mağazalarına entegre edilmiştir. Dağıtımınıza uygun kurulumu için bu adrese bakabilirsiniz. Flatpak paketleri için uygulama kaynağında sistem paketi veya flatpak paketi olarak farklı seçenekler bulunabilir. İzole bir ortamda çalıştığı için çeşitli izinler isteyebilir, bunları yönetmek adına Flatseal uygulaması kullanılabilir.
-
Appimage Kurulum olmadan doğrudan dosya ile çalıştırılan paketlerdir. Windowstaki portable uygulamalar gibidir. Bu uygulamaların güncellemelerini yönetmek ve uygulama menüsü ikonu oluşturmak için Gear Lever uygulaması kullanılabilir.
-
Snap Canonical şirketinin tekelinde kapalı kaynaklı bir izole paket sistemidir. Bu yüzden tartışmalara yol açmıştır. Flatpak ile neredeyse aynı yapıdadır ancak ek olarak sistem servisleri ve sunucu araçlarını da paketleyebilmektedir.
-
Homebrew (Linuxbrew) İzole olarak CLI (terminal) uygulamaları kurup yönetmenizi sağlar. Daha çok Mac ortamında tercih edilse de Linux'ta da kullanılabilir. Geliştiricilerin tercih ettiği bir yöntemdir.
Özel paketleme tipleri¶
-
Tarball Normal sıkıştırılmış paketlerdir (.zip, .rar gibi). Dosyayı bir klasöre açarak içindeki binary (Windows'taki .exe gibi) dosyasıyla ilgili uygulama direkt çalıştırılabilir. Kimi tarball paketleri kendi kendini güncelleyebilen ve kendi ikonlarını oluşturabilen yapıdadır, örneğin Zen Browser ve Telegram uygulamaları.
-
Distrobox Konteyner mantığında çalışan minimal işletim sistemleri olarak düşünülebilir. Farklı bir dağıtıma ait paketleri kullanmak için tercih edilir. Örneğin Fedora kullanırken Arch Linux'a ait paketler kurulup ana sisteme bağlantı olarak aktarılabilir. Orta-ileri düzey kullanıcıya hitap eder. BoxBuddy, Distroshelf gibi GUI araçlarla kolayca yönetilebilir.
-
AUR (Arch Kullanıcı Deposu) Arch tabanlı dağıtımlarda farklı kaynaklardan paketlerin çekilip otomatik olarak derlenmesini sağlayan paket tariflerinin olduğu bir depodur.
yay,parugibi CLI veya Shelly gibi GUI uygulamalarla yönetilebilir. Devasa bir paket çeşitliliğine sahiptir. Ancak düzenli olarak siber saldırıya uğradığından güvenlik açısından soru işareti oluşturmuştur. Ayrıca sürekli yapılan derleme işlemleri işlemciye yük olabilir. -
NIXPkgs (Nix) Nix evrensel nitelikte bir paket sistemidir. Atomik olarak çalışan bir paket sistemidir, eski sürümlere geri dönmesi kolaydır. İki farklı sürümü aynı anda çalıştırmak gibi özellikleriyle geliştiricilere hitap eder. Dizin yapısının klasik Linux dosya sistemiyle çakışmaması sebebiyle her dağıtıma kurulabilir. İleri düzey kullanıcılara hitap eder.
X11 mi Wayland mi?¶
Genel kullanım¶
Eskisine kıyasla Wayland, günümüzde X11 kadar desteklenmektedir. Sadece X11 desteği olan arayüzler ise xwayland aracılığı ile çoğunlukla çalıştırılabilmektedir.
Ancak hyprland gibi Wayland dizgicileri, Nvidia ekran kartlı bilgisayarlarda doğru bir şekilde çalışabilmesi için ön hazırlık gerektirmektedir. Diğer Wayland dizgicileri ile alakalı, Nvidia'ya özgü ayarların araştırılması, yaşanabilecek hataların önlenmesi açısından önemlidir.
Güvenlik¶
Wayland, tüm pencerelerin girdi ve çıktılarını sistemden izole eder, bu hem girdi hem de çıktı açısından güvenli bir protokol olmasını sağlar. X11, bu tip güvenlik özelliklerinden mahrumdur.
Ek olarak; Wayland bir dizgicide çalışan çoğu kod, kök kullanıcı düzeyinde çalışmayı gerektirmez, çoğunlukla client tarafında çalışır. Bu sebeple kök izni kaynaklı bir güvenlik açığının oluşması engellenmiş olur.
VNC ve ağ üzerinden görüntü¶
Wayland, güvenli yapısı gereği VNC gibi teknolojileri desteklemek için ekstra bir katmana ihtiyaç duyar. X11, başından itibaren server-client mantığı ile yazıldığı için daha pürüssüz bir deneyim sunar.
Dizgileme¶
Dizgileme; yani pencerelerin animasyonları, VSync, saydamlıklar, gölgeler gibi özellikler X11'de zorunlu değildir. Wayland'de ise "pencere yöneticisi" mantığı yoktur ve direkt olarak dizgiciler vardır, yani zorunludur.
X11'deki bu isteğe bağlı dizgileme yöntemi, sonradan çalıştırılan dizgicinin tüm piksel bilgisini aktif bir şekilde almasını gerektirdiği için gecikme ortaya çıkarır. Wayland'de ise dizgileme işi pasif bir şekilde yapıldığı için, yani direkt olarak client tarafından dizgiciye bildirilme şeklinde yapıldığı için, gecikme azdır.
Diğer avantajlar¶
- HDR ve renk profili desteği: Özellikle yeni monitörlerde kullanıcıların aradığı bir özelliktir, Wayland'de desteği vardır.
- Monitörlerde farklı yenileme oranları: Örneğin X11 kullanan, 60Hz ve 100Hz iki monitör içeren bir sistemde, iki monitörün de maksimum yenileme oranlarını kullanmak isterseniz VSync gibi dizgileyici özelliklerinden feragat etmeniz gerekir. Wayland'de ise bu tip bir kısıt yoktur, farklı yenileme oranlarına sahip ekranların dizgilemesi doğru bir şekilde yapılır.
- Monitörlerde farklı kademeli ölçeklendirme: Wayland'de bir monitörün yakınlaştırma ölçeğinin %110, diğerinin %120 gibi bir değere atanabilme imkanı vardır.