Eski bir Android telefonumu Linux sunucusuna dönüştürme girişimim, birden fazla Linux dağıtımını denememle sonuçlandı.

Tıpkı eski masaüstü ve dizüstü bilgisayarlar gibi, eski akıllı telefonunuzu da yeniden kullanmanın birçok yolu var. Kamerası iyi çalışıyorsa, onu bir geçici web kamerası Bilgisayarınız için veya hatta Frigate sunucusunu kullanan eksiksiz izleme sistemiAlternatif olarak, güvenilir bir Ev Asistanı panosu oluşturmak için dokunmatik ekranını kullanabilirsiniz. Ya da benim gibi üretkenliğe önem veriyorsanız, Tekrar kullanın ve bir Stream Deck'e dönüştürün.

Eski bir Android telefonumu Linux sunucusuna dönüştürme girişimim, birden fazla Linux dağıtımını denememle sonuçlandı: Mobil sunucuların olanaklarını keşfetmek.

Peki ya Android telefonunuzu Raspberry Pi gibi cihazlarla rekabet edebilecek bir ev sunucusuna dönüştürmeye ne dersiniz? Bu beni başka bir fikre yönlendirdi ve bu projeyi denemeye karar verdim. Sonuçta, akıllı telefonumda PC oyunları çalıştırmayı daha önce denemiştim, bu yüzden Linux kapsayıcılarını çalıştırmak çok zor olmamalı, değil mi? Aslında tam olarak değil. Kök ayrıcalıklarına sahip olmamamın getirdiği kısıtlamalar nedeniyle, telefonumda yalnızca birkaç dağıtım çalıştırabildim ve dağıtımlar arasında geçiş yapmak için paketlenmiş hizmetleri çalıştırmaktan daha iyi bir kurulum elde ettim.

Bu kurulum için uygun paketleri seçin.

Sonunda Temux + proot-distro kurmayı seçtim.

DokuWiki'yi proot-distro'ya kurmak

Bu projedeki en büyük zorluk, telefonumu rootlamadan güvenilir bir şekilde çalışan bir kurulum bulmaktı. Geçmişte, telefonlarımı satın aldıktan hemen sonra jailbreak yapardım. Ancak modern uygulamaların getirdiği tüm kısıtlamalar nedeniyle, rootlama işleminden kaçınmanın en iyisi olduğunu düşündüm.

Ne yazık ki, konteynerleri doğrudan çalıştırma yöntemi, root erişimli bir makine ve hatta bazı durumlarda özel çekirdek modülleri gerektiriyor. Bu sınırlama, alternatif bir çözüm aramam gerektiği anlamına geliyordu. Sanal makineleri (chroot üzerinden çalıştırılanlar bile) root erişimli olmayan makinelerde çalıştırmak da benzer bir soruna yol açıyordu.

Bu, Android projelerimde sıklıkla kullandığım güçlü bir terminal emülatörü olan Termux'u içeren alternatif bir çözümle sonuçlandı. GitHub'da biraz rastgele gezinmem, bu deney için mükemmel bir paket gibi görünen proot-distro'ya yönlendirdi. Özünde yaptığı şey, Linux dağıtımlarını istediğim gibi kurcalayabileceğim bir proot ortamı (chroot'un kullanıcı alanı versiyonu) oluşturmak. Bunun beni yakında bir dağıtımdan diğerine atlayacağımı nereden bilebilirdim ki?

Android'de Linux dağıtımlarıyla oynamak

proot-distro ilk başta iyi çalıştı.

Termux'a proot-distro kullanarak Arch Linux kurulumu

Tüm hazırlıklar tamamlandıktan sonra, projeyi bir sonraki aşamaya taşıma zamanı gelmişti. Termux'ta `pkg install proot-distro` komutunu çalıştırdıktan sonra, gerekli paketlerin yüklenmesi için birkaç dakika bekledim. Ardından, akıllı telefonumda Debian ortamını kurmaya başlamak için `proot-distro install debian` komutunu çalıştırdım. Kurulum tamamlandıktan sonra, Debian'a giriş yapmak için `proot-distro login debian` komutunu çalıştırdım ve gerçekten de, meşhur Debian işletim sistemi telefonumda çalışıyordu.

Sudo ayrıcalıklarıyla hiçbir paketi çalıştıramadığım için, paketleri her zamanki `apt update` ve `apt upgrade` komutlarını kullanarak güncelleyerek başladım. Ardından, DokuWiki de dahil olmak üzere bazı normal paketleri yüklemeyi denedim. Ancak paketlerin çoğu anında başarısız oldu. Ayrıca Docker'ı yüklemeyi de denedim ve bu da bazı hatalar verdi. Bu başarısız denemelerden yılmayarak, çalışmayı reddeden Podman'a yöneldim. Şimdi geriye dönüp baktığımda, konteyner çalışma zamanlarının telefonumda çalışması için bazı çekirdek değişiklikleri yapmam gerektiğinden, bunun çok mantıklı olduğunu görüyorum.

Ama root uygulamalarını çalıştıramadım.

Termux'ta proot-distro kullanarak Arch Linux kurulumu

GitHub'da biraz gezindikten sonra proot-apps deposunu buldum. Adından da tahmin edebileceğiniz gibi, LinuxServer'daki yaratıcı geliştiricilerin proot ortamında çalışmak üzere tasarlanmış bir uygulama koleksiyonu. Bu yüzden, bu uygulamalardan bazılarını Debian sanal makineme kurmaya başladım. Ne yazık ki, Nextcloud gibi tipik Docker kapsayıcıları için tasarlanmış olanlar kurulumumda çalışmadı. İlginç bir şekilde, hata kodunda QEMU'dan (daha doğrusu yokluğundan) bahsediliyordu; uygulama için gerekli bile olmaması gereken bir şey.

Ancak paketleri farklı bir dağıtımda çalıştırmayı deneyebileceğimi düşündüm. Fedora, Podman için daha iyi bir desteğe sahip, bu yüzden konteyner çalışma zamanını farklı bir dağıtımda çalıştırmayı deneyebileceğimi düşündüm; ancak bu da işe yaramadı. Ardından, bir Arch Linux kurulumunda proot-apps çalıştırmayı denedim, ancak diğer bazı dağıtımlar hiç çalışmadı. Beni en çok rahatsız eden son kısım buydu...

Termux-Pentesting-Distro deposuna taşındı

Ama o zamana kadar başlangıçtaki projenin amacını yitirmiştim.

Debian, Fedora ve Arch gibi dağıtımlar "çalışırken", paketlerle ilgili sorunlar yaşamadan birçok uygulamayı yükleyemediğimi fark ettim; hatta buna neofetch gibi basit bir program bile dahildi. GitHub'da Termux-Pentesting-Distro deposunu bulduktan sonra son bir deneme yapmaya karar verdim. Sonuç mu? Bu deponun yalnızca çok çeşitli harika dağıtımları desteklemekle kalmayıp aynı zamanda birçok uygulamayı da çalıştırdığı ortaya çıktı. Herhangi bir pencere yöneticisi veya masaüstü ortamı çalıştıramasam da, telefonuma birçok dağıtımı yükleyebildim.

Benzer şekilde, yeni dağıtımın depolarından Emacs, Neovim ve diğer temel Linux uygulamalarını yükleyebildim. Peki sorun neydi? Bu zamana kadar, konteyner çalıştırma hedefimden tamamen sapmış ve harika dağıtımlarla denemeler yapmaya başlamıştım. Kendimi savunmam gerekirse, beynim Linux dağıtımlarının çokluğu karşısında heyecanlanmaktan kendini alamadı; özellikle de tamamen yeni isimlere sahip birkaç dağıtım olduğu için. Dahası, her Linux sürümü Neofetch ile birlikte geldi ve dağıtımlar arasında geçiş yapmaktan daha çok sevdiğim bir şey varsa, o da Neofetch'in harika bileşenini görmek.

Şimdilik, özellikle telefonumda temel kapsayıcıları çalıştırmanın bir yolunu bulamadığım için, düzenlediğim dağıtımlar arasındaki garip geçişlerden memnunum. Yakında ikinci, biraz daha eski bir telefonu rootlamayı planlıyorum, böylece herkes gibi Docker ve Podman kapsayıcılarıyla bunu tekrar deneyebilirim.

Yoruma kapalı.