※ とは言っても実態は既存 OSS の fork だけどな!正に(ry
今回の制作物
で、これは何?
これは昨日、色々調べててその時に知ったのですが、Archlinux 界隈では、chroot
な環境で Archlinux を利用できるように bootstraping してくれるツールとして、
という、 Bash script で書かれたツールが有ります。
それで、この arch-bootstrap
は、基本 chroot
環境が前提となっているツールで、哀しいかな、 root 権限が無い (sudo とか使えない) 環境では、そのままでは動作させることが出来ません。
そして、その後に色々、他にも root 権限が無い状態でも chroot できるツールで無いやろか、って調べていったところ、
というツールを見付けました。
で、この proot
というツールは、 root 権限がまったく無い環境でも chroot
っぽいコトが出来るツールで、
お、これ ( proot
) と arch-bootstrap
を組み合わせれば、root 権限が無くても chrooted な Archlinux 環境を動かせる!?
と思って色々と実験してみたところ、 arch-bootstrap
に手を加えて、proot
対応させれば良い感じになる、と判明したので、その辺りの修正とかスクリプトの追加とかしたツールキットが、今回の作成物である、
に、なります。
※ まあ元ネタのある fork ですけどネ!
基本的な使い方
基本的には上記リポジトリに含まれる、
を curl
か wget
で取ってきてパスを通し、かつ、先程も紹介した、
をダウンロードするか時前でコンパイルするなどして、 proot
コマンドもパスを通せば、一応は使えるようになります。そして、使い方は、基本オリジナルの arch-bootstrap.sh
と同じで、大体、
$ arch-bootstrap.sh /path/to/container
というコマンド一発で Archlinux chrooted container が作れます。また、作成した Archlinux な chroot container に 疑似 chroot するには、今回の制作物のリポジトリに含まれる、
を使って、
$ arch-proot.sh /path/to/container /bin/bash
という感じで chroot 環境を使用することが出来ます。
おまけ Tips
ちなみに、先に紹介したコマンド、
$ arch-proot.sh /path/to/container /bin/bash
で Archlinux chrooted container を chroot すると、環境変数が元々の Linux 環境のヤツと混ざるんですが、 それがイヤンって方は、
$ arch-proot.sh /path/to/container /usr/bin/env -i /bin/bash --norc
とすると、環境変数が混ざらずに使えます。
※ ちなみにこのテクニックは Bash - まっさらなシェルを起動する - Qiita を参考にしてます。
以上
です。
ちなみに、今回のツール自体は昨日の時点で出来上ってたんですが、いかんせんブログに紹介記事を書く前に力尽きてたので、この記事を書くのが今日になりましたとさ。まあ体調不良はいつものコトなんで、しゃーないんだけども。
で、今回のスクリプト、 本当に root 権限無しでほぼフル機能の Archlinux が使えるんで、場合によっては linuxbrew
の代用になるかもしれません。まあ Linuxbrew は、色々と使うのが大変な場合が有りますからね。Lnux Distro の環境の差異とかで。
というコトで、今回のツール、まあ良かったら使ってみてください。というワケで以上です。はい。