Linux komut satırını bir iOS cihazında çalıştırabileceğinizi biliyor muydunuz? “iPhone'umda neden mesajlaşma uygulamalarını kullanmalıyım?” diye soruyor olabilirsiniz. Adil soru. Ancak Opensource.com'u okursanız muhtemelen cevabı biliyorsunuzdur: Linux kullanıcıları onu herhangi bir cihazda kullanabilmek ve bunu kendileri özelleştirmek isterler.
Ama hepsinden önemlisi, karmaşık sorunları çözmeye can atıyorlar.
Yedi yaşında bir iPad 2 Mini'm var ve e-kitap okumak ve diğer görevler için hâlâ oldukça iyi. Ancak bunu, program setim ve komut dosyalarımla uygulamaların komut satırına erişmek için de kullanmak istiyorum; bunlar olmadan çalışamam. Standart geliştirme ortamımın yanı sıra alışık olduğum bir ortama da ihtiyacım var. Ve bunu şu şekilde başardım.
Klavyeye bağlanma
Bir telefonun veya tabletin ekran klavyesi aracılığıyla programlama yapmak için komut satırıyla çalışmak oldukça zahmetlidir. Kablolu bir klavyeyi bağlamak için Bluetooth aracılığıyla harici bir klavye bağlamanızı veya bir kamera bağlantı adaptörü kullanmanızı öneririm (ikincisini seçtim). Kinesis Advantage bölünmüş klavyeyi bir iPhone 6'ya bağladığınızda, şuna benzeyen tuhaf bir cihazla karşılaşıyorsunuz:
Kabuğu iOS'a yükleme
İOS'ta tam özellikli bir Linux sistemini çalıştırmak için iki seçenek vardır:
- Linux bilgisayara bağlı güvenli kabuk (SSH)
- Açık kaynak olan ancak Apple'ın tescilli TestFlight uygulaması kullanılarak kurulması gereken iSH ile Alpine Linux kullanarak sanal bir sistem çalıştırma
Alternatif olarak, kısıtlı bir ortamda açık kaynaklı araçlarla çalışma olanağı sağlayan iki adet açık kaynaklı terminal emülatör uygulaması bulunmaktadır. Bu en basitleştirilmiş seçenektir; aslında Linux araçlarını bu şekilde çalıştırırsınız, Linux'u değil. Bu uygulamalarla çalışırken ciddi özellik sınırlamaları vardır, ancak kısmi komut satırı işlevselliğine sahip olursunuz.
Karmaşık çözümlere geçmeden önce en basit yönteme bakacağım.
Seçenek 1: Korumalı alan kabuğu
En kolay yollardan biri iOS uygulamasını yüklemektir
Yaklaşık olarak aynı işlevselliğe sahiptir
Seçenek 2: SSH
Bir uygulamayı indirmenin bir diğer adımı, bir SSH istemcisi kurmaktır. Uzun bir süredir, Linux veya BSD çalıştıran bir sunucuya bağlanmak için iOS için birçok SSH istemci uygulamasından herhangi birini kullanabiliyoruz. SSH kullanmanın avantajı, sunucunun herhangi bir yazılımla herhangi bir dağıtımı çalıştırabilmesidir. Uzaktan çalışırsınız ve çalışmanızın sonuçları iOS cihazınızdaki terminal emülatörüne kolayca aktarılır.
Seçenek 3: Linux'u başlatın
Bir Linux sunucusuna bağlanmak için SSH kullanmak, komut satırına erişmenin harika bir yoludur, ancak harici bir sunucu ve ağ bağlantısı gerektirir. Bu en büyük engel değil ama tamamen göz ardı edilemez, dolayısıyla Linux'u sunucusuz çalıştırmanız gerekebilir.
Eğer durum buysa, o zaman bir adım daha ileri gitmeniz gerekecek.
Alpine Linux'u iSH ile Çalıştırmak
Önemli özelliği: deneysel uygulama. iSH şu anda bir test uygulaması olduğundan sürekli ve güvenilir bir çalışma beklemeyin. TestFlight uygulamalarının süresi sınırlıdır. Şu anki kurulumum yalnızca 60 gün sürecek. Bu, 60 gün sonra eleneceğim ve bir sonraki iSH testi turuna yeniden katılmak zorunda kalacağım anlamına geliyor. Üstelik iOS'taki Dosyalar'ı kullanarak dışa aktarmadığım veya bir Git ana bilgisayarına kopyalamadığım sürece tüm dosyalarımı kaybedeceğim veya
iSH'yi yükleme
Kurulumla başlayın
Bağlantıyı kullanarak TestFlight, iSH uygulamasını cihazınıza yükleyecektir. Diğer uygulamalarda olduğu gibi ekranda bir simge görünecektir.
Paket Yönetimi
iSH, Alpine Linux ile bir x86 öykünücüsü çalıştırır. Alpine, boyutu 5 MB'tan küçük olan küçük bir dağıtımdır. Bu benim Alpine ile ilk çalışmamdı, bu yüzden minimalizmin sinir bozucu olacağını düşünmüştüm ama aslında gerçekten hoşuma gitti.
Alpine bir paket yöneticisi kullanıyor
Paket nasıl kurulur:
apk add package
Bir paket nasıl kaldırılır:
apk del package
Diğer komutlar ve bilgiler nasıl bulunur:
apk --help
Paket yöneticisi güncellemesi:
apk update
apk upgrade
Bir metin düzenleyicinin kurulması
Alpine'ın varsayılan metin düzenleyicisi Vi'dir, ancak ben Vim'i tercih ediyorum, bu yüzden onu yükledim:
apk add vim
İstenirse Nano veya Emacs kurabilirsiniz.
Kabuk değişikliği
Seni bilmem ama benim ihtiyacım vardı
Balık kurulumu:
apk add fish
Otomatik tamamlama ve kılavuz sayfalarıyla Bash'e ihtiyacınız varsa bunları yükleyin:
apk add bash bash-doc bash-completion
Alpine'ın minimalist ideolojisi genellikle diğer dağıtımlarda paketlenmiş bazı programların birkaç küçük pakete bölüneceği anlamına gelir. Bu aynı zamanda sisteminizin boyutunu tam olarak istediğiniz şekilde özelleştirebileceğiniz ve azaltabileceğiniz anlamına da gelir.
Bash'i yükleme hakkında daha fazla bilgi için bkz.
Varsayılan kabuğu değiştirme
Balıkları kurduktan sonra geçici olarak girerek ona geçebilirsiniz. fish
ve kabuğa giriyorum. Ama balığı varsayılan kabuk ve komut yapmak istiyorum chsh
Diğer dağıtımlarda kullandığım işe yaramadı.
İlk önce balığın nereye kurulduğunu öğreniyoruz:
which fish
İşte elde ettiklerim:
/usr/bin/fish
Daha sonra oturum açma kabuğunu balık olarak değiştirin. Size uygun herhangi bir düzenleyiciyi kullanabilirsiniz. Yeni başlayan biriyseniz Nano'yu yükleyin (komutla) apk add nano
) böylece konfigürasyon dosyalarını düzenleyebilir ve CTRL+X ile kaydedebilir, onaylayıp çıkabilirsiniz.
Ama Vim'i kullandım:
vim /etc/passwd
İlk satırım şöyleydi:
root:x:0:0:root:/root:/bin/ash
Balığı varsayılan kabuk yapmak için bu satırı aşağıdaki şekilde değiştirin:
root:x:0:0:root:/root:/usr/bin/fish
Daha sonra dosyayı kaydedin ve çıkın.
Eminim hemen kullanılabilmesi için kabuğun yolunu değiştirmenin iyi bir yolu vardır. Ancak bunu bilmiyorum, bu yüzden uygulama tarayıcısına dönmenizi, kabuktan çıkmaya zorlamanızı ve güvenli tarafta olmak için iPad veya iPhone'unuzu kapatıp yeniden başlatmanızı öneririm. “Alpine'e Hoş Geldiniz!” mesajına ek olarak iSH'yi tekrar ve şimdi açın. ve apk'den başlatmayla ilgili bilgiler için standart balık girişine hoş geldiniz mesajını göreceksiniz: Dost canlısı interaktif kabuk olan balıklara hoş geldiniz. Yaşasın!
Python ve pip'i kurma
eklemeye karar verdim
apk add python3
Python 2.x güncelliğini kaybetmiş olmasına rağmen onu yükleyebilirsiniz:
apk add python
Pip adlı Python paket yöneticisini kuralım ve
python3 -m ensurepip --default-pip
Paket yöneticisini kurmak ve yapılandırmak biraz zaman alacaktır, o yüzden bekleyin.
Daha sonra dosyaları ağ üzerinden aktarmak için bir araç indirebilirsiniz.
apk add curl
Kılavuzları okumak
Fish, man sayfalarına dayalı yerleşik otomatik tamamlamayı kullanır. Diğer komut satırı kullanıcıları gibi ben de kılavuzu kullanıyorum man
, ancak Alpine'da yüklü değil. Bu yüzden onu terminal çağrı cihazıyla kurdum
apk add man man-pages less less-doc
Adama ek olarak muhteşem kullanıyorum
Pip kullanarak kurdum:
pip install tldr
Ekip tldr
yeni bir sayfa isteğiyle karşılaştığında sayfaları almak için web'e bağlanır. Bir komutun nasıl kullanılacağını bilmeniz gerekiyorsa, şöyle bir şey yazabilirsiniz: tldr curl
ve sade İngilizce bir açıklama ve komutun nasıl kullanılacağına dair iyi örnekler alın.
Elbette tüm bu kurulum çalışmaları kullanılarak otomatikleştirilebilir.
ek bilgi
iSH Wiki'nin bir sayfası var "
Başka bir wiki sayfası nasıl olduğunu açıklıyor
Git'i de yükleyebilirsiniz (evet! apk add git
) ve çalışmanızı uzak bir depoya gönderin veya SSH aracılığıyla sunucuya aktarın. Ve tabii ki GitHub'dan istediğiniz sayıda harika açık kaynaklı projeyi indirip çalıştırabilirsiniz.
iSH hakkında daha fazla bilgiyi şu bağlantılarda bulabilirsiniz:
Reklam gibi
Vdsina sunar
Kaynak: habr.com