GNU/Linux >> Belajar Linux >  >> Linux

Termux mengubah Android menjadi lingkungan pengembangan Linux

Jadi Anda akhirnya menemukan cara untuk keluar dari Vim dan Anda dapat menulis versi "Hello World" yang paling optimal di sisi Mississippi ini. Sekarang saatnya untuk meningkatkan permainan Anda! Lihat Termux untuk Android.

Apa itu Termux?

Termux adalah emulator terminal Android dan lingkungan Linux. Artinya dalam praktiknya adalah Anda dapat menginstal Termux di sebagian besar perangkat Android dan melakukan hampir semua hal yang akan Anda lakukan di lingkungan pengembangan Linux penuh pada perangkat itu. Itu semua terdengar keren, tetapi Anda mungkin bertanya pada diri sendiri, "mengapa saya ingin membuat kode di ponsel saya di layar sentuh? Kedengarannya mengerikan." Mulailah berpikir lebih jauh tentang tablet yang dipasangkan dengan keyboard atau Chromebook yang sekarang dapat menjalankan aplikasi Android. Ini adalah perangkat yang sangat murah yang sekarang dapat digunakan untuk memperkenalkan peretasan dan pengembangan Linux kepada orang-orang. Saya tahu banyak dari kita di komunitas Linux memulai dengan menginstal Linux di PC lama.

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Tablet dan Chromebook adalah komputer rongsokan generasi ini. Dan ada banyak untuk pergi sekitar. Mengapa tidak menggunakannya untuk memperkenalkan generasi berikutnya ke Linux? Dan karena Termux dapat diinstal dengan satu klik di Google Play Store, saya berpendapat Termux adalah cara termudah untuk memperkenalkan siapa pun ke Linux. Tapi jangan tinggalkan semua kesenangan untuk noobs. Termux dapat mengakomodasi banyak kebutuhan Anda untuk lingkungan pengembangan Linux.

Termux adalah Linux, tetapi didasarkan pada Android dan berjalan dalam sebuah wadah. Itu berarti Anda dapat menginstalnya tanpa memerlukan akses root—tetapi itu juga berarti mungkin perlu waktu untuk membiasakan diri. Dalam artikel ini, saya akan menguraikan beberapa tip dan trik yang saya temukan untuk membuat Termux bekerja sebagai lingkungan pengembangan penuh waktu.

Di mana semua barang saya?

Basis sistem file Termux yang dapat Anda lihat dimulai di sekitar /data/data/com.termux/files/ . Di bawah direktori itu, Anda akan menemukan direktori home Anda dan usr direktori, di mana semua paket Linux diinstal. Ini agak aneh, tapi bukan masalah besar kan? Anda akan salah, karena hampir setiap skrip di planet ini dikodekan dengan keras untuk /bin/bash . Pustaka, file yang dapat dieksekusi, dan file konfigurasi lainnya berada di tempat yang tidak sesuai dengan distribusi Linux lainnya.

Termux menyediakan banyak sekali paket yang telah dimodifikasi agar berjalan dengan benar. Coba cari di sana terlebih dahulu daripada melakukan pembuatan khusus. Namun, Anda mungkin masih perlu membuat banyak hal secara khusus. Anda dapat mencoba memodifikasi kode sumber paket Anda, dan meskipun mengubah jalur itu mudah, itu menjadi cepat tua. Untungnya Termux juga dibundel dengan termux-exec. Termux-exec akan mengarahkan ulang jalur skrip dengan cepat agar dapat berfungsi dengan benar.

Anda mungkin masih mengalami beberapa jalur hard-code yang tidak ditangani oleh termux-exec. Karena Anda tidak memiliki akses root di Termux, Anda tidak bisa hanya membuat symlink untuk memperbaiki masalah jalur. Namun, Anda dapat membuat chroot jail. Dengan menggunakan paket PROot, Anda dapat membuat chroot yang Anda kendalikan sepenuhnya dan memungkinkan Anda untuk memodifikasi apa pun yang Anda inginkan. Anda juga dapat membuat chroot dari distribusi Linux yang berbeda. Jika Anda adalah penggemar Fedora, Anda dapat menggunakan Termux dan menjalankannya di chroot jail. Lihat halaman PROot untuk lebih banyak distro dan detail instalasi, atau Anda dapat menggunakan skrip ini untuk membuat jail chroot Termux. Saya hanya mencoba chroot Termux dan chroot Ubuntu. Chroot Ubuntu memiliki beberapa masalah yang perlu diatasi, jadi jarak tempuh Anda mungkin berbeda tergantung pada versi Linux yang Anda pilih.

Satu pengguna untuk mengatur semuanya

Di Termux, semuanya diinstal dan dijalankan di bawah satu pengguna. Ini bukan masalah, melainkan sesuatu yang perlu Anda biasakan. Ini juga berarti layanan umum dan grup pengguna yang mungkin Anda kenal tidak dapat ditemukan di mana pun. Dan tidak ada yang memulai secara otomatis saat boot, jadi terserah Anda untuk mengelola memulai dan menghentikan layanan yang mungkin Anda gunakan, seperti database, SSH, dll. Juga ingat, satu pengguna Anda tidak dapat memodifikasi sistem dasar, jadi Anda perlu untuk menggunakan chroot jika Anda perlu melakukannya. Karena Anda tidak memiliki skrip awal prasetel yang bagus, Anda mungkin harus membuat beberapa skrip Anda sendiri.

Untuk pengembangan sehari-hari, saya membutuhkan Postgres, Nginx, dan Redis. Saya belum pernah memulai layanan ini secara manual sebelumnya; biasanya mereka mulai dan berhenti untuk saya secara otomatis, dan saya harus melakukan sedikit penggalian untuk mengetahui cara memulai layanan favorit saya. Berikut adalah contoh dari tiga layanan yang baru saja saya sebutkan. Mudah-mudahan, contoh-contoh ini akan mengarahkan Anda ke arah yang benar untuk menggunakan layanan favorit Anda. Anda juga dapat melihat dokumentasi paket untuk menemukan informasi tentang cara memulai dan menghentikannya.

Postgres

Mulai:pg_ctl -D $PREFIX/var/lib/postgresql start

Berhenti:pg_ctl -D $PREFIX/var/lib/postgresql stop

Nginx

Mulai:nginx

Stop:nginx -s stop

Redis

Mulai:redis-server $PREFIX/etc/redis.conf

Berhenti:kill "$("$PREFIX/bin/applets/cat" "$PREFIX/var/run/redis_6379.pid"

Ketergantungan rusak

Android dibangun secara berbeda dari versi Linux lainnya, dan kernel serta pustakanya tidak selalu cocok dengan perangkat lunak Linux pada umumnya. Anda dapat melihat masalah porting umum saat mencoba membangun perangkat lunak di Termux. Anda dapat mengatasi sebagian besar dari mereka, tetapi mungkin terlalu banyak upaya untuk memperbaiki setiap ketergantungan pada perangkat lunak Anda.

Misalnya, masalah terbesar yang saya temui sebagai pengembang Python adalah kernel Android tidak mendukung semaphore. Pustaka multi-pemrosesan di Python bergantung pada fungsi ini, dan memperbaikinya sendiri terlalu sulit. Sebagai gantinya, saya meretasnya dengan menggunakan mekanisme penyebaran yang berbeda. Sebelum saya menggunakan uWSGI untuk menjalankan layanan web Python saya, jadi saya beralih ke Gunicorn. Ini memungkinkan saya untuk merutekan menggunakan pustaka multi-pemrosesan Python standar. Anda mungkin harus sedikit kreatif untuk menemukan dependensi perangkat lunak alternatif saat beralih ke Termux, tetapi daftar Anda mungkin akan sangat kecil.

Termux Sehari-hari

Saat menggunakan Termux setiap hari, Anda pasti ingin mempelajari layar sentuh atau pintasan keyboard perangkat kerasnya. Anda juga memerlukan editor teks atau IDE untuk pengkodean. Semua editor berbasis konsol yang mungkin tersedia melalui instalasi paket cepat:Vim, Emacs, dan Nano. Termux hanya berbasis konsol, jadi Anda tidak akan dapat menginstal editor apa pun berdasarkan antarmuka grafis. Saya ingin memastikan Termux memiliki IDE yang bagus untuk digunakan, jadi saya membangun editor Neutron64 berbasis web untuk berinteraksi secara mulus dengan Termux. Cukup buka Neutron64.com dan instal Neutron Beam di Termux untuk memulai pengkodean.

Lihat Termux dan ubah perangkat Android lama Anda menjadi pusat pengembangan. Selamat membuat kode!


Linux
  1. Pengembangan fleksibel di Linux, apa lingkungan gratis yang bagus?

  2. Di mana saya meletakkan pustaka pihak ketiga untuk menyiapkan lingkungan pengembangan C++ Linux?

  3. Linux:proses menjadi layanan

  1. Mengatur variabel lingkungan Linux

  2. aksesibilitas variabel lingkungan di Linux

  3. Android - Apakah Android berbasis Linux?

  1. Menyiapkan lingkungan pengembangan python virtualenv di Debian Linux

  2. Kali Linux di Android menggunakan Linux Deploy

  3. C # di lingkungan linux