8 puan yazan GN⁺ 2025-03-31 | 10 yorum | WhatsApp'ta paylaş

"Linux dağıtımlarını Windows gibi hale getirmeliyiz."

  • Bu yazı, mevcut Linux'un taşınabilirlik ve dağıtım modelindeki sorunları çözmek için temelde Wine üzerinden Windows çalıştırılabilir dosyalarını çalıştırabilen bir Linux dağıtımı oluşturma önerisidir
  • Böylece Windows kullanıcıları neredeyse hiç eğitim almadan Linux'a kolayca geçebilir ve Linux'un uzun süredir devam eden uyumluluk sorunları da birlikte çözülebilir

Linux ortamının istikrarsızlığı

  • Windows'ta 20 yıllık .exe dosyaları bile çalışabilirken, Linux'ta 1 yıl önceki bir ikili dosya bile çalışmayabilir
  • Bunun nedeni, Linux'ta kütüphane sürümü farkları ve güncellemeler yüzünden aynı çalıştırılabilir dosyanın farklı dağıtımlarda çalışmamasıdır
  • Linux'un sistem çağrıları kararlıdır, ancak bunun üzerine kurulu C kütüphanesi (libc) kararsızdır ve kullanıcı alanının büyük kısmı buna bağımlıdır

Linux'ta ikili dağıtım sorunu

  • Linux'ta çalıştırılabilir dosya dağıtmanın tam dört ana yolu vardır ve her birinin kendi sorunları bulunur
    • Ham ikili: çoğu ortamda çalışmaz
    • AppImage: tüm bağımlılıkları içerir, ancak kusursuz korunabilirliği belirsizdir
    • Flatpak: her uygulama için sandbox sağlar
    • Snap: başka bir sandbox tabanlı paket yöneticisi
  • Bunların hepsinin kurulum, güncelleme ve kaldırma yöntemleri birbirinden farklıdır ve aynı anda bir arada bulunabilirler
  • Uzun vadeli uygulama koruma ve yeniden çalıştırma açısından çoğu uygun değildir; 20 yıl sonra çalıştırılabilme ihtimali neredeyse yoktur

Neden çözüm Win32?

  • Windows'un Win32 API'si, Linux üzerinde fiilen tek kararlı ABI (Application Binary Interface) olarak değerlendirilmektedir
  • Windows, doğrudan sistem çağrısı yapmak yerine dinamik kütüphaneler üzerinden çağrı yaparak API kararlılığını korur
  • Bu yapı sayesinde Microsoft, çekirdeği içeride değiştirirken kullanıcıya aynı arayüzü sunmaya devam edebilir
  • Buna karşılık Linux doğrudan sistem çağrıları kullanır ve kütüphaneleri kararsız olduğu için uyumluluk sorunları sürer
  • Wine, bu Win32 yapısını uygulayarak 1990'lardaki Windows 95 dönemine ait uygulamaları bile çalıştırabilir
  • Özellikle yalnızca Win32 tabanlı uygulamalar kullanıldığında, Wine ile Windows arasındaki uyumluluk farkı neredeyse yoktur

Yeni bir Linux dağıtımı tasarısı

  • Windows'a benzer bir masaüstü ortamına sahip bir Linux dağıtımı oluşturma önerisi
  • Bu dağıtımda varsayılan olarak Wine kurulu olacak ve küçük bir çekirdek yamasıyla Windows çalıştırılabilir dosyaları otomatik olarak tanınıp çalıştırılabilecek
  • Kullanıcı başına Wine ortamı (prefix) ayarlanacak, Windows tarzı dosya sistemi ve GUI sunulacak
  • Mevcut Linux ortamı da arka planda korunacak ve ileri düzey kullanıcılar buna erişebilecek

Gerçek çoklu platform desteği

  • Wine yalnızca Linux'ta değil, FreeBSD, macOS, Android gibi çeşitli işletim sistemlerinde de çalışabilir
  • Tüm uygulamalar yalnızca Win32 uygulaması olarak dağıtılırsa, ayrı bir port işlemi olmadan birçok platformda çalıştırılabilir
  • Tek bir uygulamayla birden çok işletim sistemi uyumluluğu sağlanabilir

Gelecekteki tehditler

  • macOS ve Windows giderek daha kapalı bir yöne evriliyor ve kullanıcının kontrolünü elinden alıyor
    • Windows, otomatik ekran görüntüsü ve yapay zeka analiz özellikleri ekliyor
    • macOS, Gatekeeper aracılığıyla yalnızca onaylı uygulamaların çalışmasına izin verecek şekilde kısıtlama getiriyor
  • Her iki işletim sistemi de kullanıcının faaliyetlerini izliyor ve yasa dışı dosyaları tarayıp bildirme işlevlerine kadar hazırlanıyor
  • Microsoft, çevrimiçi hesap olmadan Windows kullanımını giderek daha da zorlaştırıyor
  • Bu nedenle hesap askıya alınırsa bilgisayarın kendisini bile kullanamama durumu ortaya çıkabilir

Bu gidişatın kötü niyetten çok ekonomik ve politik baskıların sonucu olduğu yorumu yapılıyor

Linux'u neden Windows gibi paketleyelim?

  • Yeni Linux dağıtımı taşınabilirlik sorununu çözerken Windows kullanıcılarına da tanıdık bir geçiş ortamı sunar
  • Windows 11 yükseltmesinin dayatıldığı bir dönemde, kolay geçilebilen bir alternatif sunabilir
  • Yazıya göre tam da şimdi, kullanıcının egemenliğini geri kazandırabilecek bir Linux dağıtımını tasarlamanın doğru zamanı

10 yorum

 
roxie 2025-04-02

20 yıl dayanan bir ekosisteme insan hak veriyor ama işin sonunda neden wine var..

 
yfkim97 2025-04-02

Mac OS artık pek kullanılacak gibi görünmüyor

 
labeldock 2025-04-01

Eleştirel bakmak istemiyorum ama çeşitli işletim sistemlerini kullanmış biri olarak buna pek katılamıyorum. Artık çoğu GUI aracı web üzerinden kullanılabiliyor; iyi bir masaüstü gerekiyorsa arayüzü güzel olan Windows'ta yapmak daha mantıklı olur ve sürücü desteği de Windows'ta çok daha iyi.

 
alucardkang 2025-03-31

Steam olması gerekirken...

 
prunusnira 2025-03-31

Tmax Windows... Lindows/Linspire... ReactOS... Off başım...
Valve'in Proton'u gerçekten büyük iş yapıyor gibi görünüyor

 
aer0700 2025-03-31

Oldukça ilginç bir öneri gibi görünüyor.

 
kwj9211 2025-03-31

Top-tier oyunlar / yazılımlar iyi çalışsın diye sadece ince ayar yapmak daha iyi olmaz mı

...diye düşünmemek gerekir herhalde? haha

 
kandk 2025-03-31

Windows 11 ve üstü bir PC olmadan oyun oynanabilen bir dönem gelse keşke hıçkırık hıçkırık

 
GN⁺ 2025-03-31
Hacker News görüşleri
  • Linux dağıtımlarında varsayılan olarak Windows ikililerini çalıştıran Wine kullanan bir dağıtım yapılması yönünde bir görüş var

    • Debian'da sudo apt install wine-binfmt komutuyla kolayca kurulabiliyor
    • Başka yöntemlerle de yapılandırma dosyaları düzenlenerek kullanılabiliyor
  • Windows'ta 20 yıllık bir exe dosyası bile hâlâ çalışabilirken, Linux'ta 1 yıllık bir ikili bile güncellemeler nedeniyle çalışamaz hâle gelebiliyor

    • Windows, uygulama kurulurken tüm dinamik bağımlılıkları birlikte paketlerken Linux uygulamalar arasında dinamik bağımlılıkları paylaşıyor
    • Bağımlılıklar değişirse uygulama çalışmayabiliyor
    • Bunu çözmek için Windows'taki gibi dağıtmak ya da statik olarak linklemek mümkün
  • Yeni bir dağıtıma ihtiyaç olduğu düşünülmüyor

    • Windows uygulamalarının çoğu Wine üzerinden çalışabiliyor, ancak bir uygulamayı çalıştırmak için yapılan hack'ler başka bir uygulamayı bozabiliyor
    • Her kullanıcının ayarları ayrı ayrı düzenlemesi gerekiyor ve bir kişinin bilgisayarında çalışan şey başka bir kişinin bilgisayarında çalışmayabiliyor
    • En basit çözüm, Wine içeren bir container dağıtarak tüm kullanıcıların aynı artifact'i almasını ve bunun her zaman çalışmasını sağlamak
    • Bu alan açısından verimsiz, ancak container kullanımı için Wine'ı küçültmenin bir yolu gerekli
    • Lisanslama ve yazılım anti-pattern'leri bu sistemin önündeki tek engel
  • Zorin OS, .exe dosyaları için neredeyse varsayılan olarak Wine desteği sunuyor ve Steam OS/Proton tarafında yeni oyunlar için Linux portu yapmak yerine Proton'a optimize edilmesine dair resmî yönergeler bulunuyor

  • Linux dağıtımları genellikle çalıştırılabilir dosyaları dinamik olarak linkliyor ve eski kütüphane sürümlerini tutmuyor

    • Windows'ta paket yöneticisi olmadığı için çalıştırılabilir dosyaların eski sürümleri korunuyor
    • Windows Store ve yeni CLI araçları var, ancak geleneksel olarak Windows uygulama kurulumu dosyayı elle indirip kurma şeklinde yapılıyor
    • Linux'ta da aynı şekilde yapılabilir, ancak Linux dağıtımlarının paket yöneticileri genellikle çok iyi
  • Linux sistem çağrıları çok kararlı, ancak bunun üzerindeki C kütüphaneleri öyle değil

    • Windows'ta da aynı sorun var ve libc, Visual C++ runtime'ın bir parçası olarak dağıtılıyor
    • Windows, Visual Studio'nun yeni bir sürümü çıkana kadar libc için geriye dönük uyumluluğu koruyor
  • Lindows/Linspire isteyen birini andırıyor

  • Windows ABI bu kadar kararlıysa, neden Win95 veya NT kullanan bazı bilgisayarlara belirli bir yazılım çalışmayı bırakır korkusuyla kimsenin dokunmadığı merak ediliyor

    • Bu tür bilgisayarlar endüstriyel ortamlarda, halk kütüphanelerinde, kurumsal veritabanlarında vb. sık görülüyor
  • exe dosyalarını çalıştırmak için kernel yaması gerekmiyor; binfmt_misc bunu halledebiliyor

    • wine-binfmt, PE dosyalarını otomatik olarak Wine üzerinden çalıştırıyor