iToverDose/Yazılım· 15 MAYIS 2026 · 00:07

Android 15'de Debian Uygulamaları Nasıl Doğrudan Çalıştırılır?

Android 15'in getirdiği seccomp kısıtlamaları nedeniyle PRoot kullanılarak Debian uygulamaları çalıştırılamıyor. İşte `patchelf` ve `LD_PRELOAD` ile geliştirdiğimiz yeni yöntemle, uygulamaları doğrudan Termux üzerinde native olarak çalıştırmayı öğrenin.

DEV Community2 dk okuma0 Yorumlar

Android cihazlarınızda uzun süredir kullanılan PRoot, Android 15’in piyasaya sürülmesiyle birlikte işlevselliğini kaybetti. Yeni güvenlik filtreleri nedeniyle Debian/glibc tabanlı uygulamalar çalıştırılamaz hale geldi. Ancak endişelenmeyin: bu sorunu çözmek için geliştirdiğimiz üç aşamalı yöntem, uygulamaları doğrudan native olarak çalıştırmaya imkan tanıyor.

Bu rehberde, GCC, Python, Bun, Git ve 300’den fazla Debian paketini Android cihazınızda root gerektirmeden ya da gerektirerek çalıştırmanın yolunu öğreneceksiniz. Böylece bulut bağımlılığı olmadan tam bir Linux deneyimine sahip olabilirsiniz.

Android 15’in Neden Olduğu Sorun: Seccomp Güvenlik Duvarı

Android 15, seccomp adı verilen bir güvenlik mekanizmasını daha da sıkılaştırdı. Seccomp (Secure Computing Mode), uygulamaların yapabileceği sistem çağrılarını (syscall) kısıtlayan bir kernel özelliği olarak çalışır. Temelde, bir uygulamanın hangi kernel fonksiyonlarına erişebileceğini belirler — tıpkı bir program için erişim kontrol listesi gibi.

Ancak Android 15’in getirdiği değişiklikler, PRoot’un kullandığı sistem çağrılarını bloke ediyor. Özellikle set_robust_list adı verilen bir fonksiyon, glibc tarafından başlangıçta çağrıldığında SIGSYS hatasıyla sonuçlanıyor. Bu durum, PRoot’un Linux ortamı simüle etmesini imkansız hale getiriyor. Dolayısıyla, kullanıcılar proot-distro komutunu çalıştırdığında aşağıdaki hata mesajını alıyor:

Bad system call (SIGSYS)
set_robust_list: Function not implemented

Peki bu neden önemli? Çünkü PRoot artık standart bir çözüm değil — Android 15’in güvenlik katmanı, bu aracın temel çalışma prensibini devre dışı bırakmış durumda.

PRoot’un Yerini Alacak Üç Farklı Yöntem

PRoot’un artık çalışmaması nedeniyle, geliştirdiğimiz üç farklı çözüm yolu, kullanıcıların ihtiyaçlarına göre değişiklik gösteriyor. Her bir yöntemin avantajları ve kullanım senaryoları farklıdır:

Yöntem 1: En Doğal Çalışma (Root Gerekmez)

Bu yöntem, uygulamaları tamamen native olarak çalıştırmak için tasarlandı. Öncelikle, çalıştırılacak olan ELF ikililerinin (binary) `interpreter` yolunu değiştiriyoruz. Bu işlem için patchelf aracını kullanıyoruz. Ardından, Termux’un Bionic libc’sinin müdahalesini engellemek için LD_PRELOAD ortam değişkenini ayarlıyoruz.

Kullanım komutu şu şekildedir:

patchelf --set-interpreter /data/data/com.termux/files/usr/glibc-root/lib/ld-linux-aarch64.so.1 --set-rpath /data/data/com.termux/files/usr/glibc-root/usr/lib/aarch64-linux-gnu binary_file
LD_PRELOAD= binary_file arg1 arg2

Bu yöntemle, basit uygulamaları doğrudan ve hızlı bir şekilde çalıştırabilirsiniz. Ancak, karmaşık bağımlılıkları olan uygulamalar için uygun olmayabilir.

Yöntem 2: Üretim Ortamı için Stabil Çözüm (Root Gerektirir)

Daha karmaşık uygulamalar için, root erişimine ihtiyaç duyan ikinci bir yöntem geliştirdik. Bu yöntemde, uygulamayı root yetkisiyle çalıştırarak Termux’un kısıtlamalarından kurtuluyoruz. Komut aşağıdaki gibidir:

su -c "LD_PRELOAD=/data/data/com.termux/files/usr/glibc-root/lib/ld-linux-aarch64.so.1 \
LD_LIBRARY_PATH=/data/data/com.termux/files/usr/glibc-root/lib/aarch64-linux-gnu:/data/data/com.termux/files/usr/glibc-root/usr/lib/aarch64-linux-gnu \
/data/data/com.termux/files/usr/glibc-root/usr/bin/binary \"\$@\""

Bu yaklaşım, derin bağımlılık zincirlerine sahip uygulamalar için daha uyumlu bir çözüm sunar. Ancak root erişimi gerektirdiği için, tüm kullanıcılar için uygun değildir.

**Yöntem 3:

Yapay zeka özeti

Android 15'in getirdiği seccomp kısıtlamaları nedeniyle PRoot kullanılarak Debian uygulamaları çalıştırılamıyor. İşte `patchelf` ve `LD_PRELOAD` ile geliştirdiğimiz yeni yöntemle, uygulamaları doğrudan Termux üzerinde native olarak çalıştırmayı öğrenin.

Yorumlar

00
YORUM BIRAK
ID #L6CPPD

0 / 1200 KARAKTER

İnsan doğrulaması

2 + 3 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.