ISH Shell или возможно ли установить и использовать Linux на iOS

    Сегодня я хочу рассказать вам о таком приложении как ISH. ISH - это проект с открытым исходным кодом, позволяющий в виде приложения эмулировать полноценный линукс на вашем iOS (или iPadOS) устройстве. Давайте разберемся как это сделать и есть ли у подобной технологии реальноее применение и будущее или это очередная игрушка для "мамкиных хакеров"

    Что такое ISH? ISH (как я писал выше) - это эмулятор терминала линукс. Совсем недавно он был доступен только в виде бета-версии через приложение TestFlight (известном многим iOS пользователям), но теперь iSH доступен для установки в магазине приложений AppStore (Так же вы можете использовать версию из TestFlight, она практически не отличается от версии из AppStore. Ссылку на актуальное приглашение в программу бета тестирования находится на официальном сайте).

    После установки перед нами "голый" Alpine Linux - это минималистичный дистрибутив на основе BusyBox. Из коробки он идет абсолютно пустой, скорее всего у вас даже не будет пакетного менеджера apk (вы можете это проверить просто написав в терминал apk). Если apk у вас не установлен, то его можно установить, прописав в терминал команду:

    wget -qO- http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86/apk-tools-static-2.10.5-r1.apk | tar -xz sbin/apk.static && ./sbin/apk.static add apk-tools && rm sbin/apk.static
    Как вы можете видеть над клавиатурой имеются клавиши, такие как табуляция, стрелки, ctrl.
    Как вы можете видеть над клавиатурой имеются клавиши, такие как табуляция, стрелки, ctrl.

    Теперь мы можем обновить систему и посмотреть, что же всё-таки мы имеем "из коробки". Для обновления системы пишем команду:

    apk update && apk upgrade 

    Как вы видите, при выполнении обновления я не использую sudo, т. к. по умолчанию мы уже под именем администратора. Попробуем запустить то, что обычно уже установлено практически в любом дистрибутиве linux: curl, python/python3, gcc. как вы можете заметить, ни одно из них не установлено, но это не сложно исправить, просто установив нужные нам приложения, для примера:

    # вы можете установить любые, необходимый вам программы
    apk add python
    apk add python3
    apk add gcc 
    apk add nano
    Не много о настройках приложения

    В настройках приложения вы можете изменить тему приложения, размер и тип шрифта, иконку на рабочем столе и узнать больше информации о разработчике приложения

    Теперь давайте рассмотрим где в нашей системе можно найти непосредственно файловую систему ISH и как с ней взаимодействовать визуально. Для этого нужно перейти в приложение Файлы на вашем iPhone или iPad и там, в разделе "Места" вы можете обнаружить ISH. Перейдя в ISH вы увидите самую обыкновенную, а многим привычную, файловую систему LInux. Для чего нам это нужно? К сожалению мы не можем напрямую из приложения попасть в файловую систему iPhone или iPad и благодаря возможности взаимодействовать с фалами линукса визуально мы можем переносить туда любые нужные нам файлы. Для примера я написал простейший калькулятор в Pythonista и перенес его из папки с фалами Питонисты в папку root в ISH. теперь можно увидеть его написав ls и запустив с помощью команды python3 main.py.

    Скриншоты

    С тем же успехом мы можем установить git и с помощью git clone копировать свои или чужие программы и так же их запускать. Конечно же можно использовать ISH и как SSH клиент, можно проверять свои скрипты на работоспособность в таких-вот "мобильно-спартанских" условиях, можно проверять сети на защищенность.

    Если постараться, придумать можно множество сценариев для использования подобного рода программ. Благодаря ним iPad и в правду может стать вполне профессиональным устройством для программистов. Если к этому будет интерес, в будущем я расскажу как записать VScode прямо на iPad`е, и вообще как можно уже сегодня iPad превратить во вполне юзабельное устройство для разработчиков.

    Статья не является рекламной

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 14

      0

      Как то суховато. Они там во всю идут к поддержки докера и вот это будет бомба

        0
        Эта статья скорее для того, что бы рассказать, что такое вообще существует и этим можно пользоваться уже сейчас. Я тоже читал про докер, но сам пока не пользовался. Когда добавят и если это будет жизнеспособно, то возможно расскажу
      0

      Чем отличается от libterm, который уже давно разрабатывается и поддерживается?
      https://apps.apple.com/ru/app/libterm/id1380911705

        +3

        Как минимум местом в топе appstore)) (ish выше))
        А если серьезно, то удобство использования, доступ к файловой системе, привычный пакетный менеджер. Это и зтого, что сразу пришлю на ум. Будет интересно узнать ваше мнение об их отличиях.

          +2

          Активность на github у ish раз в 15 выше + ish может выполнять любые бинарные файлы (кое что не может но над этим идёт работа) в то время как функциональность libterm захардкожена

        • UFO just landed and posted this here
            0

            AFAIK, там эмулятор x86.

              0

              А зачем? Почему не Linux под ARM?

                0
                Как понимаю, это такой способ обойти ограничения от Apple на исполнение скачиваемого нативного кода.
                  0
                  Цитата из wiki проекта:

                  Mostly because x86 was what @tbodt was comfortable with at the time. Using x86 also has the added benefit of letting us access to the rich set of software that’s already been built for this platform. Performance-wise the choice of architecture is not all that important, since the code is being emulated anyways (that is, using ARM wouldn’t actually help much).
              0
              ну глядя на то куда идут Макбуки то может скоро граница между MacOS и iOS станет условной и все эти танцы станут ненужными
                0
                Про iPad на нём было бы очень интересно!
                  0

                  Как раз сейчас пишу об этом статью.

                Only users with full accounts can post comments. Log in, please.