Meluncurkan baris perintah Linux di iOS

Meluncurkan baris perintah Linux di iOS

Tahukah Anda bahwa Anda dapat menjalankan baris perintah Linux di perangkat iOS? Anda mungkin bertanya, β€œMengapa saya harus menggunakan aplikasi teks di iPhone?” Pertanyaan yang wajar. Namun jika Anda membaca Opensource.com, Anda mungkin tahu jawabannya: Pengguna Linux ingin dapat menggunakannya di perangkat apa pun dan ingin menggunakan pengaturannya sendiri.

Namun yang terpenting, mereka mendambakan pemecahan masalah yang kompleks.

Saya memiliki iPad 2 Mini berusia tujuh tahun yang masih bagus untuk membaca ebook dan tugas lainnya. Namun, saya juga ingin menggunakannya untuk mengakses baris perintah aplikasi dengan kumpulan program dan skrip saya, yang tanpanya saya tidak dapat bekerja. Saya memerlukan lingkungan yang biasa saya gunakan, serta lingkungan pengembangan standar saya. Dan inilah cara saya berhasil mencapainya.

Koneksi papan ketik

Bekerja dengan baris perintah untuk pemrograman melalui keyboard di layar ponsel atau tablet cukup merepotkan. Saya sarankan menyambungkan keyboard eksternal, baik melalui Bluetooth atau menggunakan adaptor sambungan kamera untuk menyambungkan keyboard berkabel (saya memilih yang terakhir). Menghubungkan keyboard terpisah Kinesis Advantage ke iPhone 6 menghasilkan tampilan perangkat yang aneh dek cyber perusahaan dari klasik permainan peran lari bayangan.

Memasang shell di iOS

Untuk menjalankan sistem Linux yang berfungsi penuh di iOS, ada dua opsi:

  • Secure shell (SSH) terhubung ke mesin Linux
  • Menjalankan sistem virtual menggunakan Alpine Linux dengan iSH yang bersifat open source namun harus diinstal menggunakan aplikasi TestFlight milik Apple

Alternatifnya, ada dua aplikasi emulator terminal sumber terbuka yang menyediakan kemampuan untuk bekerja dengan alat sumber terbuka dalam lingkungan terbatas. Ini adalah opsi yang paling sederhana - sebenarnya, ini bukan cara Anda menjalankan Linux, tetapi alat Linux. Ada batasan parah saat bekerja dengan aplikasi ini, tetapi Anda mendapatkan fungsionalitas baris perintah parsial.

Sebelum beralih ke solusi kompleks, saya akan melihat metode paling sederhana.

Opsi 1: Shell di Sandbox

Salah satu cara termudah adalah dengan menginstal aplikasi iOS LibTerm. Itu sumber terbuka shell perintah sandbox dengan dukungan untuk lebih dari 80 perintah dengan harga nol dolar. Muncul dengan Python 2.7, Python 3.7, Lua, C, Clang dan banyak lagi.

Kurang lebih fungsinya sama seperti neraka, dijelaskan oleh pengembang sebagai "antarmuka pengguna uji untuk platform dengan input layar." sumber a-Shell diposting open source, sedang dalam pengembangan aktif, menyediakan akses sistem file, dan dikirimkan bersama Lua, Python, Tex, Vim, JavaScript, C dan C++, serta Clang dan Clang++. Bahkan memungkinkan Anda menginstal paket Python dengan pip.

Opsi 2: SSH

Langkah lain selain mengunduh aplikasi adalah menyiapkan klien SSH. Untuk waktu yang lama, kami dapat menggunakan salah satu dari banyak aplikasi klien SSH iOS untuk terhubung ke server yang menjalankan Linux atau BSD. Keuntungan menggunakan SSH adalah distribusi apa pun dapat berjalan di server dengan perangkat lunak apa pun. Anda bekerja dari jarak jauh dan hasil pekerjaan Anda ditransfer begitu saja ke emulator terminal di perangkat iOS Anda.

cangkang berkedip adalah aplikasi SSH berbayar yang populer di open source. Jika Anda tidak memperhatikan layar kecil perangkat, maka menggunakan software ini seperti menghubungkan ke server melalui baris perintah lainnya. Terminal Blink tampak hebat, memiliki banyak tema siap pakai dan kemampuan untuk membuatnya sendiri, termasuk kemampuan untuk menyesuaikan dan menambahkan font baru.

Opsi 3: Jalankan Linux

Menggunakan SSH untuk terhubung ke server di Linux adalah cara terbaik untuk mengakses baris perintah, tetapi memerlukan server eksternal dan koneksi jaringan. Ini bukan kendala terbesar, tapi tidak bisa diabaikan begitu saja, jadi Anda mungkin perlu bekerja dengan Linux tanpa server.

Jika ini kasus Anda, Anda perlu mengambil satu langkah lebih jauh. TestFlight adalah layanan eksklusif untuk menginstal aplikasi yang sedang dikembangkan sebelum dirilis ke Apple App Store. Anda dapat menginstal aplikasi TestFlight dari App Store dan kemudian menggunakan aplikasi pengujian. Aplikasi di TestFlight mengizinkan penguji beta dalam jumlah terbatas (biasanya hingga 10) untuk bekerja dengannya dalam waktu terbatas. Untuk mengunduh aplikasi pengujian, Anda perlu mengakses tautan di perangkat Anda, yang biasanya terdapat di situs web pengembang aplikasi pengujian.

Menjalankan Alpine Linux dengan iSH

ISH adalah aplikasi TestFlight sumber terbuka yang menjalankan mesin virtual dengan distribusi siap pakai Alpine Linux (dengan sedikit usaha, Anda dapat menjalankan distro lain).

Fitur penting: aplikasi eksperimental. Karena iSH saat ini merupakan aplikasi pengujian, jangan mengharapkan kinerja yang konsisten dan andal. Aplikasi TestFlight dibatasi waktu. Bangunan saya saat ini hanya akan berjalan 60 hari. Artinya setelah 60 hari saya akan dikeluarkan dan harus mengikuti kembali pengujian iSH tahap berikutnya. Selain itu, saya akan kehilangan semua file saya jika saya tidak mengekspornya dengan File di iOS atau menyalinnya ke host Git atau melalui SSH. Dengan kata lain: Jangan berharap semuanya terus berhasil! Jangan memasukkan sesuatu yang penting bagi Anda ke dalam sistem! Cadangkan ke lokasi terpisah!

Instalasi iSH

Mulailah dengan instalasi TestFlight dari App Store. Kemudian instal iSH, mendapatkan tautan untuk menginstal dari situs web aplikasi. Ada cara lain untuk menginstal menggunakan AltStore, tapi saya belum mencobanya. Atau, jika Anda memiliki akun pengembang berbayar, Anda dapat mengunduh repositori iSH dari GitHub dan menginstalnya sendiri.

Menggunakan tautan tersebut, TestFlight akan menginstal aplikasi iSH di perangkat Anda. Seperti halnya aplikasi lainnya, sebuah ikon akan muncul di layar.

Manajemen Paket

iSH menjalankan emulator x86 dengan Alpine Linux. Alpine adalah distribusi kecil yang berukuran kurang dari 5MB. Ini pertama kalinya saya bekerja dengan Alpine, jadi menurut saya minimalisnya akan mengganggu, tapi saya sangat menyukainya.

Meluncurkan baris perintah Linux di iOS
Alpine menggunakan manajer paket apkyang lebih mudah daripada apt atau pacman.

Cara menginstal paket:

apk add package

Cara menghapus paket:

apk del package

Cara mengetahui perintah dan informasi lainnya:

apk --help

Pembaruan manajer paket:

apk update
apk upgrade

Memasang editor teks

Editor teks standar Alpine adalah Vi, tapi saya lebih suka Vim, jadi saya menginstalnya:

apk add vim

Jika diinginkan, Anda dapat menginstal Nano atau Emacs.

Perubahan cangkang

Saya tidak tahu tentang Anda, tetapi saya membutuhkannya kulit ikan. Orang lain lebih suka Menampar ΠΈΠ»ΠΈ Zsh. Namun, Alpine menggunakan abu! Ash adalah garpu dari cangkang Dash, yang merupakan garpu dari abu asli, atau Cangkang Almquist. Prioritasnya adalah kecepatan. Saya memutuskan untuk menukar kecepatan dengan pelengkapan otomatis bawaan, warna, manajemen kunci Vim, dan penyorotan sintaksis yang saya sukai dan ketahui dari cangkang ikan.

instalasi ikan:

apk add fish

Jika Anda memerlukan Bash dengan pelengkapan otomatis dan halaman manualnya, instal:

apk add bash bash-doc bash-completion

Ideologi minimalis Alpine biasanya berarti bahwa beberapa program yang merupakan satu paket di distribusi lain akan dipecah menjadi beberapa paket yang lebih kecil. Ini juga berarti Anda dapat menyesuaikan dan memperkecil ukuran sistem sesuai keinginan Anda.

Untuk informasi lebih lanjut tentang menginstal Bash, lihat tutorial ini.

Mengubah shell default

Setelah ikan dipasang, Anda dapat beralih sementara ke sana dengan mengetik fish dan pergi ke shell. Tapi saya ingin menjadikan ikan sebagai shell default, dan perintahnya chsh, yang saya gunakan di distribusi lain, tidak berfungsi.

Pertama, mari kita cari tahu di mana ikan dipasang:

which fish

Inilah yang terjadi pada saya:

/usr/bin/fish

Selanjutnya, ubah shell login menjadi fish. Anda dapat menggunakan editor apa pun yang Anda suka. Jika Anda seorang pemula, maka instal Nano (dengan perintah apk add nano) sehingga Anda dapat mengedit file konfigurasi dan menyimpannya melalui CTRL+X, konfirmasi dan keluar.

Tapi saya menggunakan Vim:

vim /etc/passwd

Baris pertama saya adalah:

root:x:0:0:root:/root:/bin/ash

Untuk menjadikan ikan sebagai shell default, ubah baris ini menjadi berikut:

root:x:0:0:root:/root:/usr/bin/fish

Kemudian simpan file dan keluar.

Saya yakin ada cara yang baik untuk mengubah jalur shell agar bisa langsung digunakan. Tapi saya tidak mengenalnya, jadi saya sarankan kembali ke browser aplikasi, keluar paksa dari shell, dan yang pasti, matikan dan restart iPad atau iPhone. Buka iSH lagi dan sekarang, selain pesan β€œSelamat datang di Alpine!” dan informasi tentang peluncuran dari apk, Anda akan melihat pesan selamat datang login ikan standar: Selamat datang di ikan, cangkang interaktif yang ramah. Hore!

Meluncurkan baris perintah Linux di iOS

Menyiapkan Python dan pip

Saya memutuskan untuk menambahkan Ular sanca (versi 3.x), tidak hanya untuk menulis kode, tetapi juga karena saya menggunakan beberapa program Python. Mari kita instal:

apk add python3

Meskipun Python 2.x sudah usang, Anda juga dapat menginstalnya:

apk add python

Instal manajer paket Python bernama pip dan alat penyiapan:

python3 -m ensurepip --default-pip

Diperlukan waktu untuk menginstal dan mengkonfigurasi manajer paket, jadi bersabarlah.

Anda kemudian dapat mengunduh alat untuk mentransfer file melalui jaringan keriting:

apk add curl

Membaca manual

Fish menggunakan pelengkapan otomatis bawaan berdasarkan halaman manual. Seperti pengguna baris perintah lainnya, saya menggunakan manual man, dan Alpine belum menginstalnya. Jadi saya menginstalnya dengan pager terminal kurang:

apk add man man-pages less less-doc

Selain manusia, saya menggunakan yang luar biasa proyek halaman tldr, yang menyediakan halaman manual yang disederhanakan dan berbasis komunitas.

Saya menginstalnya dengan pip:

pip install tldr

Tim tldr terhubung ke web untuk mengambil halaman ketika menemukan permintaan untuk halaman baru. Jika Anda perlu mengetahui cara menggunakan suatu perintah, Anda dapat menulis sesuatu seperti tldr curl dan dapatkan deskripsi dalam bahasa Inggris sederhana dan contoh bagus tentang cara menggunakan perintah tersebut.

Tentu saja, semua pekerjaan instalasi ini dapat diotomatisasi menggunakan dotfile atau skrip instalasi, tetapi sebenarnya ini tidak terlalu sesuai dengan ideologi Alpine - menyesuaikan instalasi minimum dengan jelas sesuai kebutuhan Anda. Lagipula, itu memakan waktu lama, bukan?

informasi tambahan

iSH Wiki memiliki halaman "pekerjaan apa" dengan laporan paket mana yang sedang berjalan. Omong-omong, sepertinya npm tidak berfungsi saat ini.

Halaman wiki lain menjelaskan caranya mengakses file iSH dari aplikasi File iOS. Ini adalah salah satu cara Anda dapat memindahkan dan menyalin file.

Anda juga dapat menginstal Git (ya! apk add git ) dan dorong pekerjaan Anda ke repositori jarak jauh atau dorong ke server melalui SSH. Dan, tentu saja, Anda dapat mengunduh dan menjalankan sejumlah proyek sumber terbuka hebat dari GitHub.

Informasi lebih lanjut tentang iSH dapat ditemukan di tautan berikut:

Tentang Hak Periklanan

Vdsina menawarkan server virtual di Linux atau jendela. Kami menggunakan secara eksklusif peralatan bermerek, panel kontrol server internal terbaik dan salah satu pusat data terbaik di Rusia dan UE. Segera pesan!

Meluncurkan baris perintah Linux di iOS

Sumber: www.habr.com

Tambah komentar