Γνωρίζατε ότι μπορείτε να εκτελέσετε μια γραμμή εντολών Linux σε μια συσκευή iOS; Ίσως ρωτάτε, "Γιατί να χρησιμοποιήσω εφαρμογές κειμένου στο iPhone;" Δίκαιη ερώτηση. Αλλά αν διαβάζετε το Opensource.com, πιθανότατα γνωρίζετε την απάντηση: οι χρήστες Linux θέλουν να μπορούν να το χρησιμοποιούν σε οποιαδήποτε συσκευή και θέλουν να χρησιμοποιούν τις δικές τους ρυθμίσεις.
Αλλά πάνω από όλα λαχταρούν να λύσουν σύνθετα προβλήματα.
Έχω ένα iPad 2 Mini επτά ετών που εξακολουθεί να είναι καλό για ανάγνωση ebook και άλλες εργασίες. Ωστόσο, θέλω επίσης να το χρησιμοποιήσω για πρόσβαση στη γραμμή εντολών των εφαρμογών με το σύνολο των προγραμμάτων και των σεναρίων μου, χωρίς τα οποία δεν μπορώ να εργαστώ. Χρειάζομαι ένα περιβάλλον στο οποίο έχω συνηθίσει, καθώς και το τυπικό περιβάλλον ανάπτυξης μου. Και να πώς κατάφερα να το πετύχω αυτό.
Σύνδεση σε πληκτρολόγιο
Η εργασία με τη γραμμή εντολών για προγραμματισμό μέσω του πληκτρολογίου οθόνης ενός τηλεφώνου ή tablet είναι αρκετά άβολη. Συνιστώ να συνδέσετε ένα εξωτερικό πληκτρολόγιο, είτε μέσω Bluetooth είτε χρησιμοποιώντας έναν προσαρμογέα σύνδεσης κάμερας για να συνδέσετε ένα ενσύρματο πληκτρολόγιο (εγώ επέλεξα το δεύτερο). Η σύνδεση ενός διαιρεμένου πληκτρολογίου Kinesis Advantage σε ένα iPhone 6 οδηγεί σε μια παράξενη συσκευή που μοιάζει
Εγκατάσταση του κελύφους σε iOS
Για να εκτελέσετε ένα πλήρως λειτουργικό σύστημα Linux σε iOS, υπάρχουν δύο επιλογές:
- Ασφαλές κέλυφος (SSH) συνδεδεμένο σε μηχανή Linux
- Εκτέλεση εικονικού συστήματος χρησιμοποιώντας Alpine Linux με iSH, το οποίο είναι ανοιχτού κώδικα αλλά πρέπει να εγκατασταθεί χρησιμοποιώντας την αποκλειστική εφαρμογή TestFlight της Apple
Εναλλακτικά, υπάρχουν δύο εφαρμογές εξομοιωτή τερματικού ανοιχτού κώδικα που παρέχουν τη δυνατότητα εργασίας με εργαλεία ανοιχτού κώδικα σε περιορισμένο περιβάλλον. Αυτή είναι η πιο απογυμνωμένη επιλογή - στην πραγματικότητα, δεν τρέχετε έτσι το Linux, αλλά τα εργαλεία Linux. Υπάρχουν σοβαροί περιορισμοί όταν εργάζεστε με αυτές τις εφαρμογές, αλλά έχετε μερική λειτουργικότητα γραμμής εντολών.
Πριν προχωρήσω σε πολύπλοκες λύσεις, θα εξετάσω τον απλούστερο τρόπο.
Επιλογή 1: Κέλυφος στο Sandbox
Ένας από τους ευκολότερους τρόπους είναι να εγκαταστήσετε την εφαρμογή iOS
Περίπου η ίδια λειτουργικότητα
Επιλογή 2: SSH
Ένα άλλο βήμα πέρα από τη λήψη μιας εφαρμογής είναι η ρύθμιση ενός προγράμματος-πελάτη SSH. Για μεγάλο χρονικό διάστημα, ήμασταν σε θέση να χρησιμοποιήσουμε οποιαδήποτε από τις πολλές εφαρμογές πελάτη iOS SSH για σύνδεση σε διακομιστή με Linux ή BSD. Το πλεονέκτημα της χρήσης SSH είναι ότι οποιαδήποτε διανομή μπορεί να εκτελεστεί στον διακομιστή με οποιοδήποτε λογισμικό. Εργάζεστε εξ αποστάσεως και τα αποτελέσματα της εργασίας σας απλώς μεταφέρονται στον εξομοιωτή τερματικού στη συσκευή σας iOS.
Επιλογή 3: Εκτελέστε Linux
Η χρήση SSH για σύνδεση σε διακομιστή υπό Linux είναι ένας πολύ καλός τρόπος πρόσβασης στη γραμμή εντολών, αλλά απαιτεί έναν εξωτερικό διακομιστή και μια σύνδεση δικτύου. Αυτό δεν είναι το μεγαλύτερο εμπόδιο, αλλά δεν μπορεί να αγνοηθεί εντελώς, επομένως μπορεί να χρειαστεί να εργαστείτε με Linux χωρίς διακομιστή.
Εάν αυτή είναι η περίπτωσή σας, τότε θα χρειαστεί να το κάνετε ένα βήμα παραπέρα.
Εκτέλεση Alpine Linux με iSH
Σημαντικό χαρακτηριστικό: πειραματική εφαρμογή. Εφόσον το iSH είναι επί του παρόντος μια δοκιμαστική εφαρμογή, μην περιμένετε συνεπή και αξιόπιστη απόδοση. Οι εφαρμογές TestFlight είναι χρονικά περιορισμένες. Η τρέχουσα κατασκευή μου θα τρέξει μόνο 60 ημέρες. Αυτό σημαίνει ότι μετά από 60 ημέρες θα αποβληθεί και θα πρέπει να επανέλθω στην επόμενη φάση του τεστ iSH. Επιπλέον, θα χάσω όλα τα αρχεία μου εάν δεν τα εξαγάγω με τα Αρχεία στο iOS ή δεν τα αντιγράψω σε έναν κεντρικό υπολογιστή Git ή
Εγκατάσταση iSH
Ξεκινήστε με την εγκατάσταση
Χρησιμοποιώντας τον σύνδεσμο, το TestFlight θα εγκαταστήσει την εφαρμογή iSH στη συσκευή σας. Όπως με κάθε άλλη εφαρμογή, στην οθόνη θα εμφανιστεί ένα εικονίδιο.
Διαχείριση πακέτων
Το iSH εκτελεί έναν εξομοιωτή x86 με το Alpine Linux. Το Alpine είναι μια μικροσκοπική διανομή που έχει μέγεθος μικρότερο από 5 MB. Αυτή ήταν η πρώτη μου φορά που δούλευα με την Alpine, οπότε σκέφτηκα ότι ο μινιμαλισμός θα ήταν ενοχλητικός, αλλά μου άρεσε πολύ.
Η Alpine χρησιμοποιεί έναν διαχειριστή πακέτων
Πώς να εγκαταστήσετε το πακέτο:
apk add package
Πώς να αφαιρέσετε ένα πακέτο:
apk del package
Πώς να μάθετε άλλες εντολές και πληροφορίες:
apk --help
Ενημέρωση διαχείρισης πακέτων:
apk update
apk upgrade
Εγκατάσταση προγράμματος επεξεργασίας κειμένου
Ο τυπικός επεξεργαστής κειμένου της Alpine είναι το Vi, αλλά προτιμώ το Vim, οπότε το εγκατέστησα:
apk add vim
Εάν θέλετε, μπορείτε να εγκαταστήσετε το Nano ή το Emacs.
Αλλαγή κελύφους
Δεν ξέρω για εσάς, αλλά χρειαζόμουν
εγκατάσταση ψαριών:
apk add fish
Εάν χρειάζεστε το Bash με την αυτόματη συμπλήρωση και τις σελίδες man, εγκαταστήστε τα:
apk add bash bash-doc bash-completion
Η μινιμαλιστική ιδεολογία της Alpine συνήθως σημαίνει ότι ορισμένα προγράμματα που αποτελούν ένα ενιαίο πακέτο σε άλλες διανομές θα χωριστούν σε πολλά μικρότερα πακέτα. Σημαίνει επίσης ότι μπορείτε να συντονίσετε και να μειώσετε το μέγεθος του συστήματος ακριβώς όπως το θέλετε.
Για περισσότερες πληροφορίες σχετικά με την εγκατάσταση του Bash, βλ
Αλλαγή του προεπιλεγμένου κελύφους
Μόλις εγκατασταθεί το ψάρι, μπορείτε να μεταβείτε προσωρινά σε αυτό πληκτρολογώντας fish
και πηγαίνοντας στο κέλυφος. Αλλά θέλω να κάνω τα ψάρια το προεπιλεγμένο κέλυφος και την εντολή chsh
, που χρησιμοποίησα σε άλλες διανομές, δεν λειτούργησε.
Αρχικά, ας μάθουμε πού είναι εγκατεστημένα τα ψάρια:
which fish
Να τι μου συνέβη:
/usr/bin/fish
Στη συνέχεια, αλλάξτε το κέλυφος σύνδεσης σε ψάρι. Μπορείτε να χρησιμοποιήσετε όποιο πρόγραμμα επεξεργασίας θέλετε. Εάν είστε αρχάριοι, τότε εγκαταστήστε το Nano (με την εντολή apk add nano
) ώστε να μπορείτε να επεξεργαστείτε τα αρχεία διαμόρφωσης και να τα αποθηκεύσετε μέσω CTRL+X, να επιβεβαιώσετε και να βγείτε.
Αλλά χρησιμοποίησα το Vim:
vim /etc/passwd
Η πρώτη μου γραμμή ήταν:
root:x:0:0:root:/root:/bin/ash
Για να κάνετε τα ψάρια το προεπιλεγμένο κέλυφος, αλλάξτε αυτήν τη γραμμή ως εξής:
root:x:0:0:root:/root:/usr/bin/fish
Στη συνέχεια αποθηκεύστε το αρχείο και βγείτε.
Είμαι βέβαιος ότι υπάρχει ένας καλός τρόπος για να αλλάξετε τη διαδρομή του κελύφους ώστε να μπορεί να χρησιμοποιηθεί αμέσως. Αλλά δεν τον γνωρίζω, γι' αυτό συνιστώ να επιστρέψετε στο πρόγραμμα περιήγησης της εφαρμογής, να εξαναγκάσετε την έξοδο από το κέλυφος και για να είστε σίγουροι, απενεργοποιήστε και επανεκκινήστε το iPad ή το iPhone. Ανοίξτε το iSH ξανά και τώρα, εκτός από το μήνυμα "Καλώς ήρθατε στο Alpine!" και πληροφορίες σχετικά με την εκκίνηση από το apk, θα δείτε το τυπικό μήνυμα καλωσορίσματος σύνδεσης ψαριών: Καλώς ορίσατε στα ψάρια, το φιλικό διαδραστικό κέλυφος. Ζήτω!
Ρύθμιση Python και pip
αποφάσισα να προσθέσω
apk add python3
Αν και το Python 2.x είναι ξεπερασμένο, μπορείτε να το εγκαταστήσετε επίσης:
apk add python
Εγκαταστήστε έναν διαχειριστή πακέτων Python που ονομάζεται pip and
python3 -m ensurepip --default-pip
Θα χρειαστεί λίγος χρόνος για να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του διαχειριστή πακέτων, γι' αυτό να είστε υπομονετικοί.
Στη συνέχεια, μπορείτε να κάνετε λήψη ενός εργαλείου για τη μεταφορά αρχείων μέσω του δικτύου
apk add curl
Διαβάζοντας εγχειρίδια
Το Fish χρησιμοποιεί ενσωματωμένη αυτόματη συμπλήρωση με βάση τις σελίδες man. Όπως και άλλοι χρήστες της γραμμής εντολών, χρησιμοποιώ το εγχειρίδιο man
, και η Alpine δεν το έχει εγκαταστήσει. Το εγκατέστησα λοιπόν με τερματικό τηλεειδοποιητή
apk add man man-pages less less-doc
Εκτός από τον άνθρωπο, χρησιμοποιώ το υπέροχο
Το εγκατέστησα με το pip:
pip install tldr
Ομάδα tldr
συνδέεται στον ιστό για να ανακτήσει σελίδες όταν αντιμετωπίζει ένα αίτημα για μια νέα σελίδα. Εάν χρειάζεται να ξέρετε πώς να χρησιμοποιείτε μια εντολή, μπορείτε να γράψετε κάτι σαν tldr curl
και λάβετε μια περιγραφή σε απλά αγγλικά και καλά παραδείγματα για τον τρόπο χρήσης της εντολής.
Φυσικά, όλες αυτές οι εργασίες εγκατάστασης μπορούν να αυτοματοποιηθούν χρησιμοποιώντας
Επιπλέον χαρακτηριστικά
Το iSH Wiki έχει μια σελίδα "
Μια άλλη σελίδα wiki εξηγεί πώς
Μπορείτε επίσης να εγκαταστήσετε το Git (ναι! apk add git
) και σπρώξτε την εργασία σας σε ένα απομακρυσμένο χώρο αποθήκευσης ή σπρώξτε την στον διακομιστή μέσω SSH. Και, φυσικά, μπορείτε να κατεβάσετε και να εκτελέσετε οποιονδήποτε αριθμό σπουδαίων έργων ανοιχτού κώδικα από το GitHub.
Περισσότερες πληροφορίες για το iSH μπορείτε να βρείτε στους παρακάτω συνδέσμους:
Σχετικά με τα Δικαιώματα Διαφήμισης
Βδίνα προσφέρει
Πηγή: www.habr.com