引っ越しでデスク周りを整備したり、ネットワークが強化されたのでラズパイサーバーを稼働することが可能となった。 ラズパイといえど直接色々インストールしないである程度仮想化したい。UID/GIDの面でdockerとsingularityを両方使いたくて、singularityのインストールをしてみる。
ちなみにx86マシンで作成したsifファイルはラズパイ上だと動かなかった。まぁそれはそうだと思う。
実はapt install singularity-container
でもインストール可能ではあるのだけど、この方法でインストールしてしまうとビルド時に--fakeroot
が使えない罠がある。(fakerootを別途installすればできるかもしれないけど)
なので素直にgolangのソースからビルドするのが正しい気がする。
とりあえずgolangのインストールから。ansibleを書いたほうがいい気がするけどめんどくさかったので...。
$wget https://golang.org/dl/go1.16.2.linux-armv6l.tar.gz $sudo tar -C /usr/local -xzf go1.16.2.linux-armv6l.tar.gz
忘れずに/usr/local/go/bin
にPATHを通す。
あとはsingularity公式にあることをやっていけばいい。
必要なパッケージをインストールして
$ sudo apt-get update && sudo apt-get install -y \ build-essential \ libssl-dev \ uuid-dev \ libgpgme11-dev \ squashfs-tools \ libseccomp-dev \ wget \ pkg-config \ git \ cryptsetup
singularityのソースを持ってきて
$ export VERSION=3.7.0 && # adjust this as necessary \ wget https://github.com/hpcng/singularity/releases/download/v${VERSION}/singularity-${VERSION}.tar.gz && \ tar -xzf singularity-${VERSION}.tar.gz && \ cd singularity
ビルドしてインストール
$ ./mconfig && \ make -C builddir && \ sudo make -C builddir install
ということで無事singularityがインストールされた。あとはいろいろ