iOS-da Linux buyruq qatorini ishga tushirish

iOS-da Linux buyruq qatorini ishga tushirish

Siz iOS qurilmasida Linux buyruq qatorini ishga tushirishingiz mumkinligini bilarmidingiz? Siz "Nega men iPhone-da matnli ilovalardan foydalanishim kerak?" Deb so'rashingiz mumkin. Adolatli savol. Ammo agar siz Opensource.com ni o'qisangiz, ehtimol javobni bilasiz: Linux foydalanuvchilari uni istalgan qurilmada ishlatishni xohlashadi va uni o'zlari sozlashni xohlashadi.

Lekin, eng muhimi, ular murakkab muammolarni hal qilishni xohlashadi.

Menda yetti yoshli iPad 2 Mini bor, u hali ham elektron kitoblarni o'qish va boshqa vazifalarni bajarish uchun juda yaxshi. Biroq, men undan dasturlar va skriptlar to'plamim bilan ilovalarning buyruq qatoriga kirish uchun foydalanmoqchiman, ularsiz ishlay olmayman. Menga o‘zim ko‘nikib qolgan muhit, shuningdek, standart ishlab chiqish muhitim kerak. Va men bunga qanday erishdim.

Klaviaturaga ulanish

Telefon yoki planshetning ekran klaviaturasi orqali dasturlash uchun buyruq qatori bilan ishlash juda noqulay. Men tashqi klaviaturani Bluetooth orqali ulashni yoki simli klaviaturani ulash uchun kamera ulanishi adapteridan foydalanishni tavsiya qilaman (men ikkinchisini tanladim). Kinesis Advantage split klaviaturasini iPhone 6 ga ulaganingizda, sizga o'xshash g'alati qurilma paydo bo'ladi. korporativ kiberdeck klassikadan rol o'yinlari Shadowrun.

IOS-da qobiqni o'rnatish

iOS-da to'liq xususiyatli Linux tizimini ishga tushirish uchun ikkita variant mavjud:

  • Linux kompyuteriga ulangan xavfsiz qobiq (SSH).
  • Ochiq manbali, lekin Apple’ning xususiy TestFlight ilovasi yordamida o‘rnatilishi kerak bo‘lgan iSH bilan Alpine Linux yordamida virtual tizimni ishga tushirish

Shu bilan bir qatorda, cheklangan muhitda ochiq manbali vositalar bilan ishlash qobiliyatini ta'minlaydigan ikkita ochiq kodli terminal emulyator ilovalari mavjud. Bu eng noaniq variant - aslida siz Linux vositalarini shunday ishlatasiz, Linux emas. Ushbu ilovalar bilan ishlashda jiddiy xususiyatlar cheklovlari mavjud, ammo siz qisman buyruq qatori funksiyasiga ega bo'lasiz.

Murakkab echimlarga o'tishdan oldin men eng oddiy usulni ko'rib chiqaman.

Variant 1: Sandbox qobig'i

Eng oson yo'llardan biri iOS ilovasini o'rnatishdir LibTerm. bu ochiq manba nol dollarga 80 dan ortiq buyruqlarni qo'llab-quvvatlaydigan sandboxed buyruq qobig'i. U Python 2.7, Python 3.7, Lua, C, Clang va boshqalar bilan birga keladi.

Taxminan bir xil funktsiyaga ega a-qobiq, ishlab chiquvchilar tomonidan "ekran kiritish platformasi uchun test foydalanuvchi interfeysi" sifatida tasvirlangan. a-Shell manbalari joylashtirilgan Ochiq manba, u faol ishlab chiqilmoqda, fayl tizimiga kirishni ta'minlaydi va Lua, Python, Tex, Vim, JavaScript, C va C++, shuningdek Clang va Clang++ bilan birga keladi. Bu hatto Python paketlarini o'rnatishga imkon beradi.

Variant 2: SSH

Ilovani yuklab olishning yana bir qadami SSH mijozini sozlashdir. Uzoq vaqt davomida biz Linux yoki BSD bilan ishlaydigan serverga ulanish uchun iOS uchun ko'plab SSH mijoz ilovalaridan foydalana oldik. SSH dan foydalanishning afzalligi shundaki, server har qanday dasturiy ta'minot bilan har qanday tarqatishni ishga tushira oladi. Siz masofadan turib ishlaysiz va ishingiz natijalari shunchaki iOS qurilmangizdagi terminal emulyatoriga uzatiladi.

Miltillovchi qobiq mashhur pullik SSH ilovasi Ochiq manba. Agar siz qurilmaning kichik ekraniga e'tibor bermasangiz, unda ushbu dasturdan foydalanish serverga boshqa buyruq satri orqali ulanishga o'xshaydi. Blink Terminal ajoyib ko'rinadi, ko'plab tayyor mavzular va o'zingizni yaratish qobiliyatiga ega, shu jumladan yangi shriftlarni sozlash va qo'shish qobiliyati.

Variant 3: Linuxni ishga tushiring

Linux serveriga ulanish uchun SSH dan foydalanish buyruq qatoriga kirishning ajoyib usuli hisoblanadi, lekin u tashqi server va tarmoq ulanishini talab qiladi. Bu eng katta to'siq emas, lekin uni butunlay e'tiborsiz qoldirib bo'lmaydi, shuning uchun Linuxni serversiz ishga tushirishingiz kerak bo'lishi mumkin.

Agar bu sizning holatingiz bo'lsa, unda siz yana bir qadam tashlashingiz kerak bo'ladi. TestFlight ishlab chiqilgan ilovalarni Apple App Store do'konida chop etilishidan oldin o'rnatish uchun xususiy xizmatdir. TestFlight ilovasini App Store'dan o'rnatishingiz va keyin sinov ilovalaridan foydalanishingiz mumkin. TestFlight-dagi ilovalar cheklangan miqdordagi beta testerlarga (odatda 10 000 tagacha) ular bilan cheklangan vaqt davomida ishlash imkonini beradi. Sinov ilovasini yuklab olish uchun siz qurilmangizdan odatda test ilovasini ishlab chiqaruvchisi veb-saytida joylashgan havolaga o'tishingiz kerak.

iSH bilan Alpine Linuxni ishga tushirish

ISH tayyor tarqatish bilan virtual mashinani ishga tushiradigan ochiq manba TestFlight ilovasi Alpine Linux (bir oz harakat bilan siz boshqa taqsimotlarni ishga tushirishingiz mumkin).

Muhim xususiyat: eksperimental dastur. iSH hozirda sinov dasturi bo'lgani uchun doimiy va ishonchli ishlashni kutmang. TestFlight ilovalari vaqt bilan cheklangan. Mening joriy qurilishim faqat 60 kun davom etadi. Bu degani, 60 kundan keyin men musobaqadan chetlashtirilaman va iSH testining navbatdagi bosqichiga qaytadan qatnashishim kerak. Bundan tashqari, men ularni iOS’dagi Files yordamida eksport qilmasam yoki Git xostiga ko‘chirmasam yoki barcha fayllarimni yo‘qotaman. SSH orqali. Boshqa so'zlar bilan aytganda: Bu ish davom etishini kutmang! Tizimga siz uchun muhim narsani qo'ymang! Zaxira nusxasini alohida joyga!

iSH o'rnatilmoqda

O'rnatish bilan boshlang TestFlight App Store'dan. Keyin iSH ni o'rnating, o'rnatish havolasini oldi ilova veb-saytidan. AltStore-dan foydalangan holda boshqa o'rnatish usuli bor, lekin men uni sinab ko'rmadim. Yoki sizda pullik ishlab chiquvchi akkauntingiz bo'lsa, iSH omborini GitHub'dan yuklab olishingiz va uni o'zingiz o'rnatishingiz mumkin.

Havoladan foydalanib, TestFlight qurilmangizga iSH ilovasini o'rnatadi. Boshqa har qanday ilovada bo'lgani kabi, ekranda belgi paydo bo'ladi.

Paket boshqaruvi

iSH Alpine Linux bilan x86 emulyatorini boshqaradi. Alpine - bu kichik distro bo'lib, hajmi 5 MB dan kam. Bu mening Alpine bilan birinchi marta ishlaganim edi, shuning uchun minimalizm zerikarli bo'ladi deb o'yladim, lekin bu menga juda yoqdi.

iOS-da Linux buyruq qatorini ishga tushirish
Alpine paket menejeridan foydalanadi apk, bu hatto apt yoki pacmandan ham osonroq.

Paketni qanday o'rnatish kerak:

apk add package

Paketni qanday olib tashlash mumkin:

apk del package

Boshqa buyruqlar va ma'lumotlarni qanday topish mumkin:

apk --help

Paket menejeri yangilanishi:

apk update
apk upgrade

Matn muharriri o'rnatilmoqda

Alpine-ning standart matn muharriri - Vi, lekin men Vim-ni afzal ko'raman, shuning uchun uni o'rnatdim:

apk add vim

Agar xohlasangiz, Nano yoki Emacs-ni o'rnatishingiz mumkin.

Qobiq o'zgarishi

Siz haqingizda bilmayman, lekin menga kerak edi baliq qobig'i. Boshqalar afzal ko'rishadi Bash yoki zsh. Biroq, Alp kulidan foydalanadi! Ash - Dash qobig'ining vilkasi, o'zi esa asl kulning vilkasi yoki Almquist qobig'i. Uning ustuvorligi - tezlik. Men o'rnatilgan avtomatik to'ldirish, ranglar, Vim tugmachalarini boshqarish va baliq qobig'idan yaxshi ko'radigan va biladigan sintaksisni ta'kidlash uchun tezlikni almashtirishga qaror qildim.

Baliq o'rnatish:

apk add fish

Agar sizga avtomatik to'ldirish va man sahifalari bilan Bash kerak bo'lsa, ularni o'rnating:

apk add bash bash-doc bash-completion

Alp tog'larining minimalistik mafkurasi odatda boshqa tarqatishlarda to'plangan ba'zi dasturlar bir nechta kichikroq paketlarga bo'linishini anglatadi. Bundan tashqari, siz tizimingiz hajmini o'zingiz xohlagan tarzda sozlashingiz va kamaytirishingiz mumkinligini anglatadi.

Bash-ni o'rnatish haqida ko'proq ma'lumot olish uchun qarang ushbu qo'llanma.

Standart qobiqni o'zgartirish

Baliqni o'rnatganingizdan so'ng, siz kirish orqali unga vaqtincha o'tishingiz mumkin fish va qobiqqa kirish. Lekin men baliqni standart qobiq va buyruq qilishni xohlayman chsh, men boshqa tarqatishlarda ishlatganim ishlamadi.

Avval baliq qaerga o'rnatilganligini bilib olamiz:

which fish

Mana menda nima bor:

/usr/bin/fish

Keyinchalik, login qobig'ini baliqqa o'zgartiring. Siz o'zingiz uchun qulay bo'lgan har qanday tahrirlovchidan foydalanishingiz mumkin. Agar siz yangi boshlovchi bo'lsangiz, Nano-ni o'rnating (buyruq bilan apk add nano) konfiguratsiya fayllarini tahrirlash va ularni CTRL+X orqali saqlash, tasdiqlash va chiqish.

Lekin men Vim dan foydalandim:

vim /etc/passwd

Mening birinchi qatorim shunday edi:

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

Baliqni standart qobiq qilish uchun ushbu qatorni quyidagiga o'zgartiring:

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

Keyin faylni saqlang va chiqing.

Ishonchim komilki, qobiqqa yo'lni o'zgartirishning yaxshi usuli bor, shuning uchun uni darhol ishlatish mumkin. Lekin men buni bilmayman, shuning uchun men dastur brauzeriga qaytishni, qobiqdan chiqishni va xavfsiz tomonda bo'lish uchun iPad yoki iPhone-ni o'chiring va qayta ishga tushirishni maslahat beraman. “Alp tog‘lariga xush kelibsiz!” xabariga qo‘shimcha ravishda iSHni qayta va hozir oching. va apk-dan ishga tushirish haqida ma'lumotga ega bo'lsangiz, standart baliq login xush kelibsiz xabarini ko'rasiz: Baliqqa xush kelibsiz, do'stona interaktiv qobiq. Xayr!

iOS-da Linux buyruq qatorini ishga tushirish

Python va pip-ni sozlash

Men qo'shishga qaror qildim Python (3.x versiyasi), nafaqat kod yozish uchun, balki bir nechta Python dasturlarini ishlatganim uchun ham. Keling, uni o'rnatamiz:

apk add python3

Python 2.x eskirgan bo'lsa-da, uni o'rnatishingiz mumkin:

apk add python

Keling, pip va deb nomlangan Python paket menejerini o'rnatamiz sozlash vositalari:

python3 -m ensurepip --default-pip

Paket menejerini o'rnatish va sozlash biroz vaqt oladi, shuning uchun kuting.

Keyin tarmoq orqali fayllarni uzatish uchun vositani yuklab olishingiz mumkin kıvrım:

apk add curl

Qo'llanmalarni o'qish

Fish man sahifalariga asoslangan o'rnatilgan avtoto'ldirishdan foydalanadi. Boshqa buyruq qatori foydalanuvchilari singari, men qo'llanmadan foydalanaman man, lekin u Alp tog'larida o'rnatilmagan. Shuning uchun men uni terminal peyjer bilan o'rnatdim Kamroq:

apk add man man-pages less less-doc

Manga qo'shimcha ravishda men ajoyib foydalanaman tldr sahifalar loyihasi, bu soddalashtirilgan va jamiyat tomonidan boshqariladigan man sahifalarini taqdim etadi.

Men uni pip yordamida o'rnatdim:

pip install tldr

komanda tldr yangi sahifa soʻroviga duch kelganda sahifalarni olish uchun internetga ulanadi. Agar siz buyruqni qanday ishlatishni bilishingiz kerak bo'lsa, shunga o'xshash narsalarni yozishingiz mumkin tldr curl va oddiy ingliz tilida tavsif va buyruqdan qanday foydalanishning yaxshi misollarini oling.

Albatta, bu barcha o'rnatish ishlari yordamida avtomatlashtirilishi mumkin nuqta fayllari yoki o'rnatish skripti, lekin aslida bu Alp tog'larining mafkurasiga to'g'ri kelmaydi - minimal o'rnatishni sizning ehtiyojlaringizga mos ravishda sozlash. Qolaversa, shuncha vaqt ketdi, shunday emasmi?

qo'shimcha ma'lumot

iSH Wiki-da sahifa bor "nima ishlaydi" Hozirda qaysi paketlar ishlayotgani haqida hisobotlar bilan. Aytgancha, shunday ko'rinadi npm hozir ishlamayapti.

Boshqa wiki sahifasi qanday qilib tushuntiriladi iSH fayllariga kirish iOS Files ilovasidan. Bu fayllarni ko'chirish va nusxalash usullaridan biridir.

Gitni ham o'rnatishingiz mumkin (ha! apk add git ) va ishingizni masofaviy omborga suring yoki SSH orqali serverga o'tkazing. Va, albatta, siz GitHub-dan istalgan miqdordagi ochiq manbali loyihalarni yuklab olishingiz va ishga tushirishingiz mumkin.

iSH haqida ko'proq ma'lumotni quyidagi havolalarda topishingiz mumkin:

Reklama huquqlari to'g'risida

Vdsina takliflar Linuxda virtual serverlar yoki Windows. Biz eksklyuziv foydalanamiz markali uskunalar, o'z dizaynidagi eng yaxshi server boshqaruv paneli va Rossiya va Evropa Ittifoqidagi eng yaxshi ma'lumotlar markazlaridan biri. Buyurtma berishga shoshiling!

iOS-da Linux buyruq qatorini ishga tushirish

Manba: www.habr.com

a Izoh qo'shish