Ba al zenekien Linux komando-lerroa iOS gailu batean exekutatu dezakezula? Baliteke galdetuko duzu: "Zergatik erabili behar ditut testu-aplikazioak nire iPhonean?" Bidezko galdera. Baina Opensource.com irakurtzen baduzu, ziurrenik erantzuna jakingo duzu: Linux erabiltzaileek edozein gailutan erabili ahal izatea nahi dute eta beraiek pertsonalizatu nahi dute.
Baina, batez ere, arazo konplexuak konpontzeko gogoa dute.
Zazpi urteko iPad 2 Mini bat daukat, oraindik ere nahiko ona dena liburu elektronikoak eta beste zeregin batzuk irakurtzeko. Hala ere, aplikazioen komando-lerroan sartzeko ere erabili nahi dut nire programa eta script multzoarekin, eta hori gabe ezin dut lan egin. Ohituta nagoen ingurune bat behar dut, baita nire garapen ingurune estandarra ere. Eta hona hemen nola lortu nuen hori lortzea.
Teklatu batera konektatzea
Telefono edo tabletaren pantailako teklatuaren bidez programatzeko komando-lerroarekin lan egitea nahiko deserosoa da. Kanpoko teklatua konektatzea gomendatzen dut, Bluetooth bidez, edo kameraren konexio-egokigailu bat erabiltzea kablezko teklatua konektatzeko (azken hau aukeratu dut). Kinesis Advantage zatitutako teklatua iPhone 6 batera konektatzen duzunean, antza duen gailu arraro bat lortzen duzu.
shell-a iOS-en instalatzen
IOS-en Linux sistema oso bat exekutatzeko, bi aukera daude:
- Secure shell (SSH) Linux ordenagailu batera konektatuta
- Sistema birtual bat exekutatzen Alpine Linux erabiliz iSH-rekin, kode irekia dena baina Appleren TestFlight aplikazio jabeduna erabiliz instalatu behar dena.
Alternatiba gisa, kode irekiko terminal emulatzaile bi aplikazio daude, ingurune mugatu batean kode irekiko tresnekin lan egiteko gaitasuna ematen dutenak. Hau da aukerarik txikiena; izan ere, horrela exekutatzen dituzu Linux tresnak, ez Linux. Ezaugarrien muga handiak daude aplikazio hauekin lan egitean, baina komando lerroko funtzionaltasun partziala lortzen duzu.
Soluzio konplexuetara pasatu aurretik, metodorik errazena aztertuko dut.
1. aukera: Sandbox shell
Modu errazenetako bat iOS aplikazioa instalatzea da
Gutxi gorabehera funtzionalitate bera du
2. aukera: SSH
Aplikazio bat deskargatzean beste urrats bat SSH bezero bat konfiguratzea da. Aspalditik, iOSerako SSH bezero-aplikazio ugari erabili ahal izan ditugu Linux edo BSD exekutatzen duen zerbitzari batera konektatzeko. SSH erabiltzearen abantaila zerbitzariak edozein softwarerekin edozein banaketa exekutatu dezakeela da. Urrunetik lan egiten duzu eta zure lanaren emaitzak iOS gailuko terminal-emuladorera transferitzen dira.
3. aukera: abiarazi Linux
SSH erabiltzea Linux zerbitzari batera konektatzeko modu bikaina da komando-lerrora sartzeko, baina kanpoko zerbitzari bat eta sareko konexio bat behar ditu. Hau ez da oztoporik handiena, baina ezin da guztiz baztertu, beraz, baliteke Linux exekutatu behar izatea zerbitzaririk gabe.
Zure kasua hau bada, urrats bat gehiago eman beharko duzu.
Alpine Linux exekutatzen iSH-rekin
Ezaugarri garrantzitsua: aplikazio esperimentala. Gaur egun iSH proba aplikazio bat denez, ez espero funtzionamendu konstante eta fidagarria. TestFlight aplikazioak denbora mugatuta daude. Nire egungo eraikuntzak 60 egun baino ez ditu iraungo. Horrek esan nahi du 60 egunen buruan ezabatu egingo naizela eta iSH proben hurrengo txandan berriro sartu beharko naizela. Gainera, nire fitxategi guztiak galduko ditut iOS-en Fitxategiak erabiliz esportatzen baditut edo Git ostalari batera kopiatzen ez baditut.
iSH instalatzen
Hasi instalazioarekin
Esteka erabiliz, TestFlight-ek iSH aplikazioa instalatuko du zure gailuan. Beste edozein aplikaziorekin bezala, ikono bat agertuko da pantailan.
Paketeen kudeaketa
iSH-k x86 emuladore bat exekutatzen du Alpine Linux-ekin. Alpine distro txiki bat da, 5 MB baino gutxiagoko tamaina duena. Alpine-rekin lan egiten nuen lehen aldia izan zen, beraz, minimalismoa gogaikarria izango zela pentsatu nuen, baina benetan gustatu zitzaidan.
Alpine paketeen kudeatzailea erabiltzen du
Nola instalatu paketea:
apk add package
Nola kendu pakete bat:
apk del package
Nola aurkitu beste komando eta informazio batzuk:
apk --help
Pakete-kudeatzailea eguneratzea:
apk update
apk upgrade
Testu-editorea instalatzea
Alpineren testu-editore lehenetsia Vi da, baina Vim nahiago dut, beraz, instalatu dut:
apk add vim
Nahi izanez gero, Nano edo Emacs instala ditzakezu.
Maskorraren aldaketa
Ez dakit zutaz, baina behar nuen
Arrain instalazioa:
apk add fish
Bash behar baduzu bere osatze automatikoa eta man orrialdeekin, instalatu itzazu:
apk add bash bash-doc bash-completion
Alpine-ren ideologia minimalistak normalean beste banaketa batzuetan bilduta dauden programa batzuk pakete txikiagotan banatuko direla esan nahi du. Horrek esan nahi du zure sistemaren tamaina pertsonalizatu eta murriztu dezakezula nahi duzun moduan.
Bash instalatzeari buruzko informazio gehiago lortzeko, ikus
Shell lehenetsia aldatzea
Arraina instalatu ondoren, aldi baterako alda dezakezu sartuz fish
eta oskoletan sartu. Baina arraina lehenetsitako shell eta komandoa egin nahi dut chsh
, beste banaketa batzuetan erabili nuena, ez zuen funtzionatu.
Lehenik eta behin arraina non instalatzen den jakingo dugu:
which fish
Hona hemen lortu dudana:
/usr/bin/fish
Ondoren, aldatu saioa hasteko shell-a arrainera. Zuretzako komeni den edozein editore erabil dezakezu. Hasiberria bazara, instalatu Nano (komandoarekin apk add nano
) konfigurazio fitxategiak editatu eta CTRL+X bidez gorde, berretsi eta irten ahal izateko.
Baina Vim erabili nuen:
vim /etc/passwd
Nire lehen lerroa honelakoa izan zen:
root:x:0:0:root:/root:/bin/ash
Arraina maskor lehenetsia izateko, aldatu lerro hau honela:
root:x:0:0:root:/root:/usr/bin/fish
Ondoren, gorde fitxategia eta irten.
Ziur nago modu on bat dagoela oskolerako bidea aldatzeko, berehala erabil dadin. Baina ez dakit, beraz, aplikazioaren arakatzailera itzultzea gomendatzen dut, shell-etik irtetea behartu eta seguru egoteko, itzali eta berrabiarazi iPad edo iPhone. Ireki iSH berriro eta orain, "Ongi etorri Alpinera!" mezuaz gain. eta apk-tik abiarazteari buruzko informazioa arrainen saioa hasteko ongietorri mezu estandarra ikusiko duzu: Ongi etorri arrainera, maskara interaktibo atsegina. Aupa!
Python eta pip konfiguratzen
gehitzea erabaki nuen
apk add python3
Python 2.x zaharkituta dagoen arren, instala dezakezu:
apk add python
Instala dezagun pip and izeneko Python pakete kudeatzailea
python3 -m ensurepip --default-pip
Denbora pixka bat beharko da paketeen kudeatzailea instalatzeko eta konfiguratzeko, beraz, itxaron.
Ondoren, tresna bat deskargatu dezakezu fitxategiak sarean transferitzeko
apk add curl
Eskuliburuak irakurtzea
Fish-ek osatze automatiko integratua erabiltzen du man orrietan oinarrituta. Komando-lerroko beste erabiltzaile batzuek bezala, eskuliburua erabiltzen dut man
, baina ez dago Alpine-n instalatuta. Beraz, terminal orriarekin instalatu nuen
apk add man man-pages less less-doc
Gizonaz gain bikaina erabiltzen dut
Pip erabiliz instalatu dut:
pip install tldr
Team tldr
Webera konektatzen da orrialde berri baten eskaera aurkitzen duenean orriak berreskuratzeko. Komando bat erabiltzen jakin behar baduzu, antzeko zerbait idatz dezakezu tldr curl
eta lortu deskribapen bat ingeles arruntean eta komandoa erabiltzeko adibide onak.
Noski, instalazio lan guzti hau automatizatu daiteke erabiliz
Informazio osagarria
iSH Wikiak orrialde bat du "
Beste wiki orrialde batek nola azaltzen du
Git ere instala dezakezu (bai! apk add git
) eta eraman zure lana urruneko biltegi batera edo transferitu zerbitzarira SSH bidez. Eta, noski, GitHub-etik kode irekiko proiektu bikain asko deskargatu eta exekutatu ditzakezu.
Esteka hauetan iSH-ri buruzko informazio gehiago aurki daiteke:
Publizitatearen Eskubideei buruz
Vdsina eskaintza
Iturria: www.habr.com