Sabías que podes executar unha liña de comandos de Linux nun dispositivo iOS? Podes estar preguntando: "Por que debería usar aplicacións de texto no iPhone?" Pregunta xusta. Pero se estás lendo Opensource.com, probablemente coñezas a resposta: os usuarios de Linux queren poder usalo en calquera dispositivo e queren usar a súa propia configuración.
Pero, sobre todo, desexan resolver problemas complexos.
Teño un iPad 2 Mini de sete anos que aínda é bo para ler libros electrónicos e outras tarefas. Non obstante, tamén quero usalo para acceder á liña de comandos das aplicacións co meu conxunto de programas e scripts, sen os cales non podo traballar. Necesito un ambiente ao que estea afeito, así como o meu ambiente de desenvolvemento estándar. E aquí é como conseguín conseguilo.
Conectando a un teclado
Traballar coa liña de comandos para programar a través do teclado en pantalla dun teléfono ou tableta é bastante inconveniente. Recomendo conectar un teclado externo, xa sexa mediante Bluetooth ou mediante un adaptador de conexión de cámara para conectar un teclado con cable (escollín este último). Conectar un teclado dividido Kinesis Advantage a un iPhone 6 dá como resultado un dispositivo estraño que parece
Instalando o shell en iOS
Para executar un sistema Linux totalmente funcional en iOS, hai dúas opcións:
- Shell seguro (SSH) conectado a unha máquina Linux
- Executar un sistema virtual usando Alpine Linux con iSH, que é de código aberto pero que debe instalarse mediante a aplicación TestFlight propietaria de Apple
Alternativamente, hai dúas aplicacións de emulador de terminal de código aberto que ofrecen a posibilidade de traballar con ferramentas de código aberto nun ambiente limitado. Esta é a opción máis reducida; de feito, non é así como executas Linux, senón as ferramentas de Linux. Hai limitacións severas ao traballar con estas aplicacións, pero obtén unha funcionalidade parcial da liña de comandos.
Antes de pasar a solucións complexas, vou considerar a forma máis sinxela.
Opción 1: Shell no Sandbox
Unha das formas máis sinxelas é instalar a aplicación iOS
Aproximadamente a mesma funcionalidade
Opción 2: SSH
Outro paso máis aló da descarga dunha aplicación é configurar un cliente SSH. Durante moito tempo, puidemos usar calquera das moitas aplicacións cliente SSH de iOS para conectarnos a un servidor que executa Linux ou BSD. A vantaxe de usar SSH é que calquera distribución pode executarse no servidor con calquera software. Vostede traballa de forma remota e os resultados do seu traballo simplemente transfírense ao emulador de terminal do seu dispositivo iOS.
Opción 3: executar Linux
Usar SSH para conectarse a un servidor en Linux é unha boa forma de acceder á liña de comandos, pero require un servidor externo e unha conexión de rede. Este non é o maior obstáculo, pero non se pode ignorar por completo, polo que pode ter que traballar con Linux sen servidor.
Se este é o teu caso, terás que dar un paso máis.
Executar Alpine Linux con iSH
Característica importante: aplicación experimental. Dado que iSH é actualmente unha aplicación de proba, non esperes un rendemento consistente e fiable. As aplicacións de TestFlight teñen un tempo limitado. A miña versión actual só funcionará durante 60 días. Isto significa que despois de 60 días serei expulsado e terei que reincorporarme á seguinte fase de probas iSH. Ademais, perderei todos os meus ficheiros se non os exporto con Files en iOS ou os copio nun host Git ou
Instalación iSH
Comeza coa instalación
Usando a ligazón, TestFlight instalará a aplicación iSH no teu dispositivo. Como con calquera outra aplicación, aparecerá unha icona na pantalla.
Xestión de paquetes
iSH executa un emulador x86 con Alpine Linux. Alpine é unha pequena distribución que ten menos de 5 MB de tamaño. Esta foi a primeira vez que traballaba con Alpine, así que pensei que o minimalismo sería molesto, pero gustoume moito.
Alpine usa un xestor de paquetes
Como instalar o paquete:
apk add package
Como eliminar un paquete:
apk del package
Como atopar outros comandos e información:
apk --help
Actualización do xestor de paquetes:
apk update
apk upgrade
Instalación dun editor de texto
O editor de texto estándar de Alpine é Vi, pero eu prefiro Vim, polo que o instalei:
apk add vim
Se o desexa, pode instalar Nano ou Emacs.
Cambio de casca
Non sei ti, pero necesitaba
instalación de peixe:
apk add fish
Se necesitas Bash coas súas páxinas de autocompletado e man, instálaas:
apk add bash bash-doc bash-completion
A ideoloxía minimalista de Alpine normalmente significa que algúns programas que son un só paquete noutras distribucións dividiranse en varios paquetes máis pequenos. Tamén significa que podes axustar e reducir o tamaño do sistema como queiras.
Para obter máis información sobre a instalación de Bash, consulte
Cambiando o shell predeterminado
Unha vez instalado o peixe, podes cambiar a el temporalmente escribindo fish
e indo á cuncha. Pero quero facer de fish o shell predeterminado e o comando chsh
, que usei noutras distribucións, non funcionou.
Primeiro, imos descubrir onde está instalado o peixe:
which fish
Aquí está o que me pasou:
/usr/bin/fish
A continuación, cambia o shell de inicio de sesión a peixe. Podes usar calquera editor que che guste. Se es un principiante, instala Nano (co comando apk add nano
) para que poida editar os ficheiros de configuración e gardalos mediante CTRL+X, confirmar e saír.
Pero usei Vim:
vim /etc/passwd
A miña primeira liña foi:
root:x:0:0:root:/root:/bin/ash
Para que o peixe sexa a cuncha predeterminada, cambia esta liña á seguinte:
root:x:0:0:root:/root:/usr/bin/fish
A continuación, garda o ficheiro e sae.
Estou seguro de que hai unha boa forma de cambiar a ruta do shell para que se poida usar de inmediato. Pero non o coñezo, así que recomendo volver ao navegador da aplicación, forzar a saída do shell e, para estar seguro, apagar e reiniciar o iPad ou o iPhone. Abre iSH de novo e agora, ademais da mensaxe "Benvido a Alpine!" e información sobre o lanzamento desde o apk, verá a mensaxe de benvida de inicio de sesión de peixe estándar: Benvido a fish, o simpático shell interactivo. Hurra!
Configurando Python e pip
Decidín engadir
apk add python3
Aínda que Python 2.x está desactualizado, tamén podes instalalo:
apk add python
Instala un xestor de paquetes Python chamado pip and
python3 -m ensurepip --default-pip
Levará algún tempo instalar e configurar o xestor de paquetes, así que ten paciencia.
Despois podes descargar unha ferramenta para transferir ficheiros pola rede
apk add curl
Manuais de lectura
Fish usa o autocompletado integrado baseado en páxinas de manual. Como outros usuarios da liña de comandos, eu uso o manual man
, e Alpine non o ten instalado. Así que o instalei cun buscapersonas de terminal
apk add man man-pages less less-doc
Ademais do home, uso o magnífico
Instaleino con pip:
pip install tldr
Equipo tldr
conéctase á web para buscar páxinas cando atopa unha solicitude para unha páxina nova. Se precisas saber como usar un comando, podes escribir algo así tldr curl
e obtén unha descrición en inglés sinxelo e bos exemplos sobre como usar o comando.
Por suposto, todo este traballo de instalación pódese automatizar usando
información adicional
A Wiki iSH ten unha páxina "
Outra páxina da wiki explica como
Tamén podes instalar Git (si! apk add git
) e envía o teu traballo a un repositorio remoto ou envialo ao servidor mediante SSH. E, por suposto, podes descargar e executar calquera gran número de proxectos de código aberto desde GitHub.
Podes atopar máis información sobre iSH nestas ligazóns:
Sobre os dereitos da publicidade
Vdsina ofertas
Fonte: www.habr.com