こだわりらいふ
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

iPadでシェルが使えるiSHが面白い

ishというアプリがAppStoreで公開されている。

iSH Shell
無料
(2023.05.24時点)
posted with ポチレバ

これがなかなか面白い。 Alpine Linux x86版がどうやら動いているっぽい。

Alpine Linuxで使うパッケージコマンド「apk」

apkと聞くとAndroidのアプリパッケージの拡張子と同じだけど、Alpine Linuxではこの名前のパッケージ管理システムを使う。Ubuntuでいうところのaptやapt-getに相当する。

アップデートとアップグレード

apk update
apk upgrade

パッケージの追加

apk add パッケージ名

検索

apk search パッケージ名

削除

apk del パッケージ名

nanoだって使える

apk add nano

VimもEmacsもちょっとっていう方におすすめのnano

Apache2も動く

apk add apache2
httpd

これでiPadのSafariからlocalhostにアクセスすると、テストページが表示される。

Hugoがインストールできる

apk add hugo

これでHugoがインストールできる。ただし、バージョンが古くて、実行できない。

なので、apkで参照するリポジトリを最新のものにする。

echo "https://dl-cdn.alpinelinux.org/alpine/v3.18/community/" >> /etc/apk/repositories
echo "https://dl-cdn.alpinelinux.org/alpine/v3.18/main/" >> /etc/apk/repositories

「/etc/apk/repositories」がリポジトリのリストが記述されているファイル名。 ここに、Alpine Linuxの最新バージョンである3.18用のmainとcommunityのURLを記述することで、apkコマンドから参照してくれるようになる。echoで追記しているけど、既存のリストを削除しなくても、新しいバージョンのパッケージを取得してくれるのでこのままで良さそう。

ただし、アプリを再起動するとこのリポジトリファイルが元に戻ってしまうので、自分の場合は「repo.sh」にこのecho文を入れて、起動時に手動で実行している。どこかで自動化したいけど、今のところはこれでよし。

hugo new site サイト名

Hugoで新規サイトを作成する際はこんなコマンドを打つんだけど、ish上で実行すると、高い確率でエラーを吐く。

atal: morestack on g0
fatal: morestack on g0
fatal error: unexpected signal during runtime execution

こんな感じの。runtime系の長めのエラーが出る時もある。 もうこうなったらどうしようもない。 なぜかCtrl+Cでプロセスから抜けられない。

エラーが出たとしてもプロンプトに帰ってこられるのなら、再度実行するとうまくいくこともあるし、うまくいった後に再度実行してエラーが出る場合もあるから、正常に実行できるかどうかは運任せなところがある。

もしエラーで固まってしまったら、アプリを一旦閉じてから起動し直すしか方法はない。しかも起動し直すとリポジトリは元通りになっているので注意が必要。

ファイルアプリからディレクトリ群が丸見え

iSHを有効にすると、これが見える

最高かよ。