iPhone, iPad & Co.

iSH: Endlich Linux auf dem iPad und iPhone!

Linux auf dem iPad oder iPhone? Bislang war das nicht möglich. Software-Entwickler Theodore Dubois hat aber mit der App iSH einen Weg gefunden, dass es trotzdem klappt.

Mensch: Manchmal sind wir bei Tutonaut so richtig Avantgarde! Vor einem Jahr war Linux auf iPhone und iPad noch unser Aprilscherz, jetzt geht es wirklich: Mit der Gratis-App iSH von Theodore Dubois holt Ihr Euch ein kleines Linux-System gratis per App auf Euer iDevice. Das besitzt ein vollständiges Kommandozeilen-Interface, mit dem Ihr alles erledigen könnt, was eben auch mit einer Linux-Shell machbar ist.

Komplette Linux-Shell unter iOS und iPadOS

iSH ist eine App, die ein vollständiges Alpine-Linux beinhaltet. Alpine ist eine sehr schlanke Distribution, weshalb iSH auch erst einmal sehr schlank daher kommt. Standardmäßig wird nur wenig Software mitgeliefert, das könnt ihr aber ändern, indem Ihr mit dem Befehl apk add (Programmname) zusätzliche Software installiert. Bei mir ging das auf Anhieb, um zum Beispiel mit apk add openssh den OpenSSH-Client zu installieren.

Möglicherweise fehlt der Paketmanager

Bei Kollege Hofferbert klappte das nicht: Eigentlich ist der Paketmanager apk durch die AppStore-Richtlinien nicht erlaubt, bei mir war er aber trotzdem schon da. Kurzum: Wenn er bei Euch nicht an Bord ist, könnt Ihr den Befehl
wget -qO- https://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
eingeben, um apk zu installieren. Anschließend klappt es auch mit der Software-Installation.

Fernverwaltung per SSH wie hier am Raspberry Pi? Kein Problem!
Fernverwaltung per SSH wie hier am Raspberry Pi? Kein Problem!

iSH aktualisieren

iSH hat zwei Ebenen: Einerseits die App-Store-App, die regelmäßig vom Entwickler aktualisiert wird. Andererseits ist da aber noch das Alpine-Linux-System, das Ihr ganz nach Euren Bedürfnissen anpassen könnt. Die iSH-Repositories sind zwar nutzbar für die interne Aktualisierung und Installation, allerdings sind die nicht wirklich aktuell und vollständig.

The reason why iSH has its own repositories is so that the app is entirely self-contained so that iSH with apk can pass app review. The repositories are a pseudo apk filesystem mounted on /ish/apk that when read, will actually download from App Store as on-demand resources.Ross Smith auf dem iSH-Wiki

Der Grund dafür liegt erneut in den App-Store-Bestimmungen. Diese umgeht Ihr, indem Ihr dem Hinweis des Entwicklers folgt und folgenden String in iSH eingebt. Dadurch werden die regulären Alpine-Repositories aktiviert, mit denen Ihr unter iSH dann wie auf einem Rechner mit Alpine Linux alles installieren könnt:
grep -v "file:///ish/apk/" /etc/apk/repositories | dd of=/etc/apk/repositories bs=4194304
echo https://dl-cdn.alpinelinux.org/alpine/v3.12/main >> /etc/apk/repositories
echo https://dl-cdn.alpinelinux.org/alpine/v3.12/community >> /etc/apk/repositories

Ihr müsst gegebenenfalls die Paketlisten aktualisieren.
Ihr müsst gegebenenfalls die Paketlisten aktualisieren.

OpenSSH für die Fernverwaltung nutzen

Mit dem Befehl apk add openssh könnt Ihr nun also OpenSSH installieren, wodurch ihr eine kostenlose Möglichkeit habt, Webserver oder Bastelrechner wie den Raspberry Pi fernzusteuern. Ihr könnt dann natürlich auch Windows-Systeme fernsteuern, sofern hier OpenSSH aktiv ist.

Kleinen Webserver in Linux auf dem iPad einrichten

Natürlich sorgt ein Linux für viel Freude auf einem Tablet. Wie wäre es damit, einen eigenen Webserver unter Alpine-Linux der iSH-App einzurichten? Die Vorgehensweise ist denkbar einfach: Installiert zunächst mit
apk add lighttpd
den Lighttpd-Serverdienst. Anschließend holt Ihr mit
apk add php7 php7-bcmath php7-bz2 php7-ctype php7-curl php7-dom php7-enchant php7-exif php7-fpm php7-gd php7-gettext php7-gmp php7-iconv php7-imap php7-intl php7-json php7-mbstring php7-opcache php7-openssl php7-phar php7-posix php7-pspell php7-recode php7-session php7-simplexml php7-sockets php7-sysvmsg php7-sysvsem php7-sysvshm php7-tidy php7-xml php7-xmlreader php7-xmlrpc php7-xmlwriter php7-xsl php7-zip php7-sqlite3
PHP auf Euer iPad. Zuguterletzt könnt Ihr noch mit
apk add mysql mysql-client
MySQL auf Eurem iPad installieren. Damit habt Ihr eine vollständige Server-Umgebung, die Ihr wie bei jedem Linux-PC anschließend einrichten und verwenden könnt.

Mit der Files-App könnt Ihr Dateien mit dem iPad-Linux austauschen.
Mit der Files-App könnt Ihr Dateien mit dem iPad-Linux austauschen.

iSH mit der Files-App integrieren

Zuguterletzt noch ein kleiner Tipp: Wenn Ihr Dateien zwischen iSH und dem iPad austauschen wollt, geht das ganz einfach über die Dateien-App: Öffnet diese und tippt oben rechts in der Seitenleiste auf die drei Punkte. Wählt nun „Seitenleiste bearbeiten“. Nun könnt Ihr unter „Speicherorte“ den Schalter bei „iSH“ umlegen: Ihr könnt ab sofort mit der Dateien-App auf das Dateisystem von iSH zugreifen und ganz leicht Daten zwischen Eurem iPad und Eurem Linux auf dem iPad austauschen.

11% sparen
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
7% sparen
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
9% sparen
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)

Christian Rentrop

Diplom-Journalist, Baujahr 1979. Erste Gehversuche 1986 am Schneider CPC. 1997 ging es online. Seither als Schreiberling in Totholzwäldern und auf digitalen Highways unterwegs. Öfter auch auf der Vespa oder mit dem Wohnwagen unterwegs. Seit 2020 Tochtervater, dementsprechend immer sehr froh über eine kleine Kaffeespende.

6 Kommentare

  1. Hallo,
    danke für den tollen Artikel.
    Das file sharing zwischen iSH und iPad war zuerst nicht möglich da iSH nicht sichtbar war.
    Aber ein Neustart des iPads hat das behoben. Danach konnte ich wie oben beschrieben iSH aktivieren.
    Für newbies wie ich einer bin, die Dateien von iSH werden erst sichtbar wenn die iSHApp gestartet wurde.
    Grüße GLS

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Schaltfläche "Zurück zum Anfang"
Schließen

Ooopsi!

Bitte deaktiviere Deinen Adblocker.