【脱獄アプリ開発】WSLでTHEOS環境を構築し、make packageした際にpermission 777エラーが出るときの対策

THEOSをWSL上にインストールしたはいいけど、タイトルの通りエラーが出てしまいました。theosのwikiを参照してインストールしたものは、そのままだと以下のエラーが出てmake packageできません。

wsl theos control directory has bad permissions 777

WSLの仕様上、新規作成フォルダはすべてpermission 777で作成されるみたいですが、THEOSは755でしか動かないみたいでした。

1.解決策

fakeroot、WSLのパーミッション問題を解決する。

2.手順

2-1.WSL起動時に、作成するフォルダの権限を常時755に設定する
    WSL上で以下のコマンドを実行する。

echo "umask 0022" >> ~/.bashrc
source ~/.bashrc


WSLのフォルダに対する権限は上述の通りなので、bashrcにumask 0022を指定して起き、WSL起動のたびに作成するTweak等のフォルダを755で作成するようにします。

2-2.fakerootの修正とtheosのディレクトリの所有者を変更する
    
WSL上で以下のコマンドを実行する。

sudo sed -i 's/\$(FAKEROOT) -r/fakeroot-tcp/g'  $THEOS/makefiles/package/deb.mk
sudo chown -R $(id -u):$(id -g) $THEOS

上述のコマンドをすべて実行すれば、晴れてWSLでmake packageできるようになると思います。
わかりづらいところもあると思いますが、誰かのためになればよいと思いnoteに綴ってみました。



この記事が気に入ったらサポートをしてみませんか?