インフラエンジニアbacchiのわかったことまとめ

bacchi.me

/tmpがnoexec指定されていてpyenv installに失敗

/tmp が noexec で mount されていてpyenv installが失敗するときは、環境変数 TMPDIR に別のディレクトリを指定してあげたらよいというお話。

pyenv installを実行中、下記のエラーが出てお亡くなりになった。

python-build: TMPDIR=/tmp cannot hold executables (partition possibly mounted with `noexec`)

ええー、/tmp の mouunt がおかしいの?とか思いながら mount オプションを確認してみる。

# mount | grep /tmp
/dev/mapper/vg00-.tmp on /tmp type ext4 (rw,nosuid,nodev,noexec,relatime,nobarrier,quota,usrquota,grpquota,data=ordered)

noexec 指定で /tmp が mount されてました。

なので execute 可能な別のディレクトリを TMPDIR として指定して、pyenv installを実行します。

TMPDIR="${PWD}/tmp" pyenv install 3.7.0

これで無事インストールできました。

  • B!