Teknoloji

iSH Shell: iPhone’da Gerçek Bir Linux Terminali (2026 Rehberi)

iSH, iPhone ya da iPad’e jailbreak yapmadan çalışan bir Linux komut satırı getiriyor. Ücretsiz, App Store’da ve uzak bir oturum değil: kabuk da, dosya sistemi de, paketler de cihazın kendisinde duruyor.

Aslında nasıl çalışıyor

iSH bir sanal makine değil, yerel bir uyarlama da değil. Bir Alpine Linux kullanıcı alanını, kullanıcı modunda x86 öykünmesi ve sistem çağrısı çevirisi ile çalıştırıyor: gerçek x86 Linux ikilileri komut komut yorumlanıyor, yaptıkları Linux sistem çağrıları da iOS’un kabul edeceği biçime çevriliyor.

iSH’in bu kadar uyumlu ve bu kadar yavaş olmasının sebebi bu tasarım. Projenin yorumlayıcısı basit bir switch yerine işlev işaretçisi dizisi kullanan “threaded code” yöntemiyle yazılmış; bu, saf yaklaşıma göre kabaca 3–5 kat hız kazandırıyor ama her komutta bir öykünme bedeli ödemeye devam ediyorsunuz. Burayı betik ve küçük araç çalıştırılacak bir yer olarak düşünün, büyük proje derlenecek bir yer olarak değil.

Çoğu kişinin takıldığı bir sonuç var: öykünücü x86 olduğu için, bir Raspberry Pi’den ya da M serisi Mac’ten kopyaladığınız ARM ikilileri çalışmaz. Her şey Alpine’ın x86 depolarından gelmek zorunda.

Kurulum ve ilk beş dakika

App Store’dan iSH Shell’i kurun. İndirme boyutu küçüktür — 6 MB civarı — çünkü Alpine kök dosya sistemi ilk açılışta indirilip açılıyor. Mağaza sürümünün önüne geçmek isteyenler için bir TestFlight beta kanalı da var.

İlk yapılacak iş paket dizinini tazelemek:

apk update

Yaygın bir yanlış bilgi, iSH’in “Bash, Zsh ve Fish desteklediği”. Gelen şey Alpine’ın varsayılan kabuğu olan BusyBox ash. Bash, Zsh ve Fish’in üçü de mevcut, ama kendiniz kuruyorsunuz:

apk add bash git python3 nano openssh

Paket yönetimi: apt değil, apk

Linux alışkanlıklarınız Debian ya da Ubuntu’dan geliyorsa kas hafızanız sizi zorlayacak. Burada apt-get yok. Alpine apk kullanıyor:

Kurmak için apk add <paket>, kaldırmak için apk del <paket>, aramak için apk search <terim>, her şeyi güncellemek için apk upgrade.

Alpine, glibc yerine musl libc üzerine kurulu. Komut satırı yazılımlarının çoğu bunu umursamaz; ama glibc varsayan ara sıra bir ikili ya da bir Python wheel’i çalışmayı reddeder. Bu iSH’in değil, Alpine’ın sınırı.

git clone takılması ve çözümü

En çok bildirilen sorun tek: git clone komutu resolving deltas 0% satırında takılıp kalıyor. Bu bir ağ arızası değil, öykünme altındaki iş parçacığı sorunu. Git’i tek iş parçacığıyla çalışmaya zorlayın:

git config --global pack.threads "1"

Bundan sonra klonlama tamamlanır, büyük depolarda yavaş da olsa. Şunu da not edin: bu düzeltme klonlamayı çözer, sonrasındaki her şeyi değil. Çok iş parçacığı açan ya da tam bir glibc bekleyen araç zincirleri — Go derlemeleri en bilinen örnek — checkout başarılı olduktan sonra bile başarısız olabilir.

Güvenmeden önce bilinmesi gereken sınırlar

iOS arka plandaki uygulamaları askıya alır. Uzun bir iş sırasında iSH’ten çıkarsanız sistem er geç onu dondurur ya da belleğini geri alır. Projenin wiki’si, /dev/location’ı /dev/null’a okuyarak konum arka plan kipiyle uygulamayı ayakta tutan bir geçici çözüm anlatıyor. İşe yarıyor ama pil harcıyor ve desteklenen bir özellik değil, bir kaçamak.

JIT yok. Apple, App Store uygulamalarına iSH’in çalışma anında kod derlemesini sağlayacak yetkiyi vermiyor; bu da öykünücünün ulaşabileceği hıza tavan koyuyor.

Uygulama kum havuzunun içindesiniz. iSH iOS’un geri kalanına dokunamaz. Files uygulamasıyla bütünleşiktir, veri alıp verebilirsiniz; ama “iOS’ta sistem seviyesinde erişim” bu değildir — bu ifade pek çok yazıda geçiyor ve yanlış.

iSH mi, a-Shell mi?

Gerçekçi iki seçenek bunlar ve birbirinin tam tersi.

a-Shell iOS için derlenmiş yerel ikililerle geliyor. Hızlı ve pil dostu, ama bir Linux dağıtımı değil: apk yok, apt yok, hiçbir paket yöneticisi yok ve eklenmesi de planlanmıyor. Geliştiricinin paketlediği neyse onu kullanıyorsunuz.

iSH ise binlerce kurulabilir paketiyle gerçek bir Alpine sistemi; bedelini de öykünme yüküyle ödüyor.

Hız paket çeşitliliğinden önemliyse a-Shell’i, gerçekten bir Linux dağıtımı gerekiyorsa ve yavaşlığa katlanabiliyorsanız iSH’i seçin. Sık sorulan bir soruyu da kapatalım: Termux hiçbir zaman iOS’a uyarlanmadı. App Store’da kendini “iPhone için Termux” diye tanıtan ne varsa, Android’deki proje değildir.

Projenin 2026’daki durumu

Bu konuda net olalım. App Store sürümü 1.3.2 ve Mayıs 2023 tarihli — üç yılı aşkın süredir mağazaya yeni sürüm gelmedi. Sayfa hâlâ yaklaşık 1.200 değerlendirmede 5 üzerinden 4,7 puan taşıyor ve uygulama iOS 11 ve sonrasında çalışıyor.

Depo daha hareketli bir tablo çiziyor: 20 binden fazla yıldız, 4 binin üzerinde commit ve 660 civarı açık sorun. Geliştirme durmuş değil, ama tamamlanmış sürümlerin App Store’a akışı durma noktasına gelmiş; açık sorun sayısı da karşılaşacağınız pürüzlerin dürüst bir göstergesi.

Peki kurmaya değer mi?

Beklentiyi doğru ayarlarsanız evet. Cepte bir Unix ortamı olarak — kabuk betiği yazıp çalıştırmak, vim ya da nano ile dosya düzenlemek, hızlı Python denemeleri, gerçek bir sunucuya SSH, git işlemleri, bilgisayardan uzaktayken gece ikide bir metin dosyasını kurcalamak — işini görüyor ve iOS’ta bunu bu kadar eksiksiz yapan başka bir şey yok.

Bir geliştirme makinesi olaraksa sizi yoracak. Derleme yavaş, uzun işler uygulama arka plana düşünce ölüyor, bazı paketler hiç uyuşmuyor. Bu sayfadaki eski değerlendirmemiz iSH’in “daha çok çalışmaya ihtiyacı var” yönündeydi; üç yıl sonra bu hâlâ geçerli — fark şu ki artık sürtünmenin tam olarak nerede olduğunu bir izlenim olarak değil, adıyla söyleyebiliyoruz.

NE
Editör
The Nedese editorial team covers competitive gaming guides, patch notes, and strategy breakdowns across all major titles. With over 15 years of coverage, our writers combine deep game knowledge with practical in-match experience.
Okuyucu Yorumları
Tartışma
0 yorum
Henüz yorum yok. Düşüncelerini paylaşan ilk kişi ol.
Yorum Yaz
Bu yazıyı faydalı buldunuz mu? Düşüncelerinizi diğer okuyucularla paylaşın.
Topluluk
Kendi sunucunu tanıtmak ister misin?
Topluluk tarafından yönetilen sunucunu dizinimize ekleyip daha fazla oyuncuya ulaş. Toplulukla bağlantı kurmak için Discord'umuza katıl ya da sunucunu hemen gönder.
Sunucunu Gönder