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.
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
Taxminan bir xil funktsiyaga ega
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.
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.
iSH bilan Alpine Linuxni ishga tushirish
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.
iSH o'rnatilmoqda
O'rnatish bilan boshlang
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.
Alpine paket menejeridan foydalanadi
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 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
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!
Python va pip-ni sozlash
Men qo'shishga qaror qildim
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
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
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
apk add man man-pages less less-doc
Manga qo'shimcha ravishda men ajoyib foydalanaman
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
qo'shimcha ma'lumot
iSH Wiki-da sahifa bor "
Boshqa wiki sahifasi qanday qilib tushuntiriladi
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
Manba: www.habr.com