Android, Termux dan Linux

Termux merupakan salah satu terminal emulator yang tersedia di jagat Android, namun ada satu hal yang berbeda dengan terminal ini; pertama kali membuka aplikasinya, kamu akan disuguhi layaknya sedang menjalankan Linux.
Instalasi
Dimana saya bisa menginstall termux? di playstore ada, namun dari github yang saya sudah lupa dimana saya membaca, mereka menyarankan kamu untuk melakukan instalasi dari github release, maupun dari f-droid. Alasannya? pengurus paketnya berbeda, meskipun hampir sama, namun beberapa fitur asli dihilangkan permintaan dari google si pemilik playstore.
Termux | F-Droid - Free and Open Source Android App Repository
Perlu diingat juga bahwa plugin yang ada di Playstore tidak bisa dipakai dengan rilis dari GitHub maupun F-Droid, jadi ya…
Perintah dasar
Sudah diinstal? selamat! sekarang anda bisa menggunakan termux untuk keperluan iseng - iseng. Cukup banyak yang bisa dilakukan, namun sesuai saran dari termux sendiri, baiknya kamu melakukan update paket data pada termux. Sebelum melakukan update kamu juga sebaiknya melakukan pergantian repo dimana paket aplikasi akan diunduh.
termux-change-repo
untuk mengubah lokasi repo, tentu pilih Asia dong, kita kan di Indonesia.pkg upgrade
untuk melakukan cek update dan sekaligus melakukan update.pkg install <nama app>
untuk menginstal paket aplikasipkg remove <nama app>
untuk menghapus paket aplikasiapt autoremove
untuk menghapus dependensi yang mungkin tidak ikut terhapus ketika menghapus paket aplikasi.termux-reset
untuk me reset secara aplikasi, atau bisa juga dengan cara menghapus data pada termux.termux-setup-storage
untuk membuat symlink penyimpanan perangkat kita didalam termux, jadi kita bisa copy - paste data kita yang ada di “unduhan” misalnya untuk kita akses di dalam termux.
Khusus apt autoremove
memang saya tuliskan karena
pkg
tidak memiliki perintah ini, dan kadang menjengkelkan
saja ada 1 paket aplikasi yang tertinggal dan tidak ikut dihapus.
Perintah lain tentu seperti perintah yang ada pada sistem operasi linux pada umumnya.
Masalah:
tidak ada koneksi jaringan setelah menjalankan
pkg upgrade
Pada beberapa kasus, seperti perangkat smartphone saya yang bisa dikatakan cupu, setelah berhasil mengupdate semua paket data, saya tidak bisa mengakses internet, tidak bisa melakukan instalasi paket aplikasi, tidak bisa melakukan ping, dan sebagainya.
Saya tidak begitu tahu alasannya, namun ketika saya mencoba untuk
mengisolasi masalah ini, saya temukan bahwa paket aplikasi
curl
dan libcurl
yang menyebabkan saya tidak
bisa mengakses internet. Solusinya? akhirnya saya menandai curl agar
tidak ikut di upgrade dengan menggunakan perintah
apt mark hold curl
.
Bagi kamu yang sudah terlanjur, silahkan reset termux anda, hehe.
Install proot-distro
Setelah semua lancar, kamu bisa menginstall proot-distro
dengan menjalankan pkg install proot-distro
yang mana ini
akan membantu kamu untuk menjalankan linux di termux. Informasi mengenai
proot
akan saya tempel dibawah, dan akan saya ambil quote
yang ada didalam wikinya:
If you have rooted device and want to have a better experience with using the Linux distributions in Termux, then use
chroot
. In this case get started with Linux Deploy app for automated distribution installation. Things like shell can be used from Termux of course.
Jika kamu memiliki root dan ingin merasakan linux seperti native,
silahkan menggunakan chroot
, namun saya tidak akan membahas
ini disini, setidaknya saat ini.
Menggunakan
proot-distro
Perintah dasar pada proot-distro
sudah dijelaskan pada
wiki diatas, namun karena mengetik di smartphone sangatlah tidak nyaman,
kamu bisa menggunakan perintah berikut:
pd ls
untuk menampilkan distro apa saja yang bisa kamu installpd i <nama distro>
untuk menginstall distropd sh <nama distro>
untuk login ke distro yang sudah diinstallpd rm <nama distro>
untuk menghapus distro yang sudah diinstall
Ketika berhasil login, kamu akan masuk ke dalam sistem distro linux
dengan user root. Namun tenang saja karena proot
tidak
benar - benar memberikan anda akses root, proot
menipu
distro tersebut agar kamu bisa menggunakannya.
Kekurangan proot
Karena proot
bukanlah chroot
, cukup banyak
kekurangan yang dimiliki, misalnya pada umumnya dengan distro apapun,
kamu tidak akan bisa menggunakan docker, appimage, flatpak, snap dan
segala hal yang berhubungan dengan system mounting dengan FUSE. Hal ini
dikarenakan proot
bisa dikatakan hanya melakukan
bind mount
agar distro mengira berjalan pada environment
yang sebeneranya, untuk lebih lengkap kekurangan bisa kamu baca di
bawah:
Install distro, dan gunakan!
Distro apa yang paling bagus untuk digunakan? tidak ada, pilih distro yang paling kamu kenali / kuasai, atau gunakan yang ingin kamu coba.
Saya pribadi suka dengan alpine, karena paket aplikasinya sederhana
dan bisa langsung diinstall dengan perintah
apk add <nama app>
. Selain itu, alpine memang
dirancang dengan tujuan mengurangi memory footprint pada memory
constrained devices.
Apa yang bisa kamu lakukan pada linux di genggaman mu ini? Banyak sebetulnya, karena pada dasarnya kamu memiliki hampir semua akses linux, sama seperti kalian mengantongi perangkat Raspberry Pi (minus GPIO). Hanya saja, perlu kalian ingat bahawa termux berdiri diatas android, sebagai userspace application, yang artinya termux berjalan dengan banyak batasan bisa saja dengan mudah di bunuh oleh OOM android.
Menggunakan logika yang sama, artinya kamu tidak bisa berharap
menggunakan kemampuan maksimal hardware dari perangkat androidmu ketika
menggunakan proot
, hal yang berbeda jika kamu menggunakan
chroot
(karena kamu diharuskkan untuk mengompile custom
kernel untuk linuxmu sendiri).
{{< callout emoji=“⚠️” >}}
proot
hanya berjalan pada userspace android sehingga
tidak bisa menggunakan kemampuan hardware secara maksimal, jika
perangkatmu memiliki OOM yang “galak” maka termux kemungkinan akan
sering di “bunuh” oleh android.
{{< /callout >}}
Linux tidak bisa terhubung ke internet
Seharusnya sih tidak ada kendala, namun karena sistem kita berada di atas android, kamu bisa melakukan cek terhadap beberapa poin berikut:
- Pastikan kamu punya akses internet. Coba buka google pada perangkat androidmu, coba ping ketika didalam termux, siapa tahu kuota kamu habis ketika melakukan instalasi distro.
- Cek “private dns” yang digunakan di androidmu. Kamu yang ingin menghilangkan iklan dengan menggunakan DoT DNS pada android pasti mengubah pengaturan ini, matikan dan coba lagi.
- Masuk ke linux distro mu dan ubah
/etc/resolv.conf proot
menggunakannameserver 8.8.8.8
untuk seluruh distronya, dan terkadang ISP kita memblokir ini. Kamu yang menggunakan WiFi bisa menambahkannameserver 192.168.1.1
di baris paling atas. Sesuaikan IP address sesuai dengan pengaturan WiFi mu.
Artikel lainnya menyusul, karena saya kehabisan ide untuk menulis di siang ini.