Linux’ta Program Kurmak Neden Hâlâ Sorun Olabiliyor?

Linux fanboylarına göre Linux’ta her şey mükemmel.

Terminal açarsın.

Bir komut yazarsın.

Program kurulur.

Bitti.

Tabii hikaye burada bitiyor.

Gerçek hayatta Linux kullanmaya başladığında program kurmanın bile dağıtıma, pakete, depoya, bağımlılığa ve geliştiricinin o dağıtımı destekleyip desteklemediğine bağlı olduğunu görüyorsun.

Linux’ta program kurmak neden hâlâ sorun olabiliyor?

Çünkü Linux dünyasında ortada tek bir masaüstü işletim sistemi yok.

Bir sürü dağıtım var.

Bir sürü paket formatı var.

Bir sürü depo var.

Bir sürü masaüstü ortamı var.

Sonra bunların hepsine “Linux” deniyor.

Kullanıcı da ortada kalıyor.

Windows’ta Program Kurmak Fazla Kolay Olduğu İçin Mi Kötü?

Windows’ta çoğu kullanıcı için olay basit.

Programın sitesine gir.

Kurulum dosyasını indir.

Çift tıkla.

İleri.

İleri.

Kur.

Bitti.

Linux tarafında ise aynı program için önce hangi dağıtımı kullandığını düşünmeye başlayabiliyorsun.

Ubuntu mu?

Fedora mı?

Arch mı?

Debian mı?

Mint mi?

Sonra paket formatı geliyor.

DEB mi?

RPM mi?

Flatpak mı?

Snap mi?

AppImage mı?

Bunların yanında kaynak koddan derleme ihtimali de bir yerlerde seni bekliyor.

Linux’ta program kurmak neden zor?

Çünkü sistem kullanıcıya gereğinden fazla seçenek sunup basit işi bile teknik probleme dönüştürebiliyor.

“Terminalden Kurarsın” Cevabı

Linux fanboylarının klasik cevabı:

“Terminalden kur.”

Tamam.

Ama normal kullanıcı neden terminal açmak zorunda?

Bir insan müzik programı kurmak istiyor.

Video oynatıcı kurmak istiyor.

Tarayıcı kurmak istiyor.

Grafik programı kurmak istiyor.

Bunun için komut satırı öğrenmesi neden gerekiyor?

Sonra bir komut yanlış yazılıyor.

Paket bulunamıyor.

Depo eklenmesi gerekiyor.

Anahtar problemi çıkıyor.

Bağımlılık eksik.

Sürüm uyuşmuyor.

Fanboy yine geliyor:

“Şu komutu çalıştır.”

Bilgisayar kullanmak mı?

Yoksa Linux forumlarında teknik destek uzmanlığı yapmak mı?

Paket Yöneticileri Bile Yetmiyor

Linux’un en çok övülen taraflarından biri paket yöneticileri.

Teoride güzel.

Programı depodan buluyorsun ve kuruyorsun.

Fakat her program depoda bulunmuyor.

Bulunan programın sürümü eski olabiliyor.

Geliştirici kendi deposunu kullanmanı isteyebiliyor.

Başka bir program başka yöntem kullanıyor.

Sonra kullanıcı yine farklı kurulum yöntemleri arasında dolaşıyor.

Linux program yükleme sorunu tam olarak burada ortaya çıkıyor.

Sistemde bir paket yöneticisi bulunması, bütün yazılımların tek bir standart üzerinden dağıtıldığı anlamına gelmiyor.

DEB, RPM, Snap, Flatpak, AppImage

Sonra Linux dünyası daha da güzel bir hale geliyor.

Bir program arıyorsun.

DEB var.

Başka sitede RPM var.

Başka yerde AppImage var.

Flathub’da Flatpak var.

Ubuntu tarafında Snap var.

Sonra Linux topluluğu bunların hangisinin daha iyi olduğunu tartışmaya başlıyor.

Kullanıcı ise programı kurmaya çalışıyor.

Linux program kurma yöntemleri çoğaldıkça deneyimin basitleşmesi gerekirken tam tersine seçenek çöplüğüne dönüşebiliyor.

“Şunu kullan.”

“Hayır Flatpak kullan.”

“Snap kötü.”

“AppImage daha iyi.”

“Arch kullanıyorsan AUR var.”

AUR zaten başlı başına ayrı bir dünya.

Program kurmak için önce hangi programı kurduğunu değil, hangi yöntemi kullanacağını düşünüyorsun.

Bağımlılık Çilesi

Linux’un başka bir klasiği de bağımlılıklar.

Bir programın çalışması için başka paketler gerekiyor.

O paket başka bir sürüm istiyor.

Başka program farklı sürüm bekliyor.

Sonra sistemde paket çatışması çıkabiliyor.

Kullanıcı ekrana bakıyor.

Bir sürü teknik mesaj.

Sonra internetten hata mesajını aramaya başlıyor.

Bir forum konusu buluyor.

2019 yılında yazılmış.

Birisi “şu komutu çalıştır” demiş.

Çalıştırıyorsun.

Bu sefer başka hata.

Linux bağımlılık sorunları yıllardır konuşulan bir mesele olmasına rağmen Linux ekosisteminin parçalı yapısı nedeniyle tamamen ortadan kalkmış değil.

Ve bunun adı kullanıcı dostu deneyim değil.

“Ama Flatpak Var”

Evet.

Flatpak var.

Sonra Snap var.

Sonra AppImage var.

Bunların ortaya çıkmasının kendisi bile Linux masaüstündeki paketleme probleminin ne kadar uzun süredir çözülemeyen bir konu olduğunu gösteriyor.

Normal kullanıcı açısından ideal olan şey basit:

Programı bul.

Kur.

Çalıştır.

Linux dünyasında ise programın nasıl paketlendiğini, hangi depoda bulunduğunu ve sistemin bunu nasıl yönettiğini düşünmek zorunda kalabiliyorsun.

Bir işletim sistemi kullanıcısının bunları bilmesi gerekmemeli.

Dağıtım Çeşitliliği Her Şeyi Daha Da Karıştırıyor

Linux fanboyu burada gururla ortaya çıkıyor:

“İstediğin dağıtımı seçebilirsin.”

Evet.

Sorun da zaten bu.

Ubuntu’da çalışan yöntem Fedora’da aynı olmayabilir.

Arch’ın paket sistemi farklıdır.

Debian’ın sürüm politikası farklıdır.

Fedora başka bir dünyadır.

Sonra bir yazılım geliştiricisi çıkıp sadece belirli dağıtımları resmi olarak destekler.

Kullanıcı da hangi paketi indireceğini anlamaya çalışır.

Linux dağıtımları neden bu kadar fazla?

Çünkü Linux dünyası ortak bir masaüstü standardı etrafında birleşmek yerine yıllardır parçalanmış durumda.

Her topluluğun kendi yöntemi var.

Her dağıtımın kendi tercihleri var.

Sonra kullanıcıdan bunların hepsini bilmesi bekleniyor.

Windows Kullanıcısı Buna Neden Sinirlenir?

Çünkü Windows kullanıcısı işletim sistemini kullanmak istiyor.

İşletim sisteminin nasıl çalıştığını öğrenmek istemiyor.

Bir program kurmak için paket bağımlılıklarını araştırmak istemiyor.

Depo eklemek istemiyor.

Terminal komutlarını ezberlemek istemiyor.

Dağıtım forumlarında çözüm aramak istemiyor.

Programın neden çalışmadığını anlamak için log dosyası okumak istemiyor.

Adam sadece programı açmak istiyor.

Linux ise bazı durumlarda kullanıcıya şu mesajı veriyor:

“Önce sistem yönetimi öğren.”

İşte Linux neden kullanıcı dostu değil sorusunun cevaplarından biri burada yatıyor.

“Linux’u Bilmiyorsan Kullanma”

Linux topluluğunda bu tavır da oldukça meşhur.

Bir sorun yaşarsın.

Çözüm ararsın.

Birisi gelir:

“RTFM.”

Başka biri:

“Terminal kullanmayı öğren.”

Başka biri:

“Arch kur.”

Başka biri:

“Yanlış dağıtım kullanıyorsun.”

Sonra sorun çözülür.

Ama asıl problem çözülmez.

Kullanıcının program kurmak için neden bütün bu süreçlerden geçmek zorunda olduğu sorgulanmaz.

Çünkü Linux fanboyu için teknik uğraş bir problem değil.

Hatta bazen özellik.

Bilgisayar Kullanmak mı, Sistem Yönetmek mi?

Linux’un masaüstündeki en büyük problemlerinden biri burada ortaya çıkıyor.

Linux kullanıcısı zaman zaman işletim sisteminin kullanıcısı olmaktan çıkıp sistem yöneticisine dönüşüyor.

Program kuruyorsun.

Paket kontrol ediyorsun.

Depo kontrol ediyorsun.

Bağımlılık kontrol ediyorsun.

Terminal açıyorsun.

Forum okuyorsun.

Komut kopyalıyorsun.

Sonra program açılıyor.

Tebrikler.

Bir program kurmak için küçük çaplı sistem yönetimi yaptın.

Linux’ta program kurmak neden hâlâ sorun olabiliyor?

Çünkü Linux ekosistemi masaüstü kullanıcı deneyimini tek ve tutarlı bir sistem haline getirmek yerine farklı dağıtımların ve paketleme sistemlerinin oluşturduğu dev bir karmaşayı beraberinde taşıyor.

Sonuç

Linux fanboyları yıllardır “Linux artık masaüstüne hazır” diyor.

Sonra program kurmaya çalışıyorsun.

DEB.

RPM.

Flatpak.

Snap.

AppImage.

AUR.

Bağımlılıklar.

Depolar.

Terminal.

Komutlar.

Sürüm problemleri.

Ve bütün bunların sonunda sana söylenen şey:

“Linux böyle öğrenilir.”

Hayır.

Bir işletim sisteminin kötü kullanıcı deneyimini “öğrenme süreci” diye pazarlamak onu iyi bir kullanıcı deneyimine dönüştürmüyor.

Linux’ta program kurmak neden zor?

Çünkü ortada yıllardır süren bir standart ve ekosistem karmaşası var.

Linux program yükleme sorunu sadece tek bir paketin kurulup kurulamaması değil.

Asıl sorun, kullanıcının daha programı kurmadan önce hangi yöntemi kullanacağını düşünmek zorunda kalması.

Windows’ta program kurmak için çoğu zaman programı indirirsin.

Linux’ta ise bazen önce Linux’u çözmen gerekir.

İşte masaüstünde neden hâlâ Windows’un gerisinde kaldığının en güzel örneklerinden biri de budur.

Bilgisayarı kullanmak istiyorsan bilgisayarı kullanırsın.

Program kurmak için işletim sistemiyle güreşmezsin.

Yorum Bırak