シリーズ:さくらサーバーで遊ぶ | |
---|---|
設定等のメモ | http://qiita.com/cielavenir/items/67a7c631713b4c816b6d |
SSL化 | http://qiita.com/cielavenir/items/aad29b2348fc4d3f9155 |
(さくらサーバー導入の主目的) メールをフックする |
http://qiita.com/cielavenir/items/5ce4568fc405329d421a |
Linuxbrewを導入する(旧) | http://qiita.com/cielavenir/items/741921fcecb281555f77 |
Homebrewを導入する | https://qiita.com/cielavenir/items/67ce0ec9cd8d43ed00f1 |
さくらサーバーでgccへの依存が発生しない理由 (HOMEBREW_BUILD_FROM_SOURCE=1は不要) |
https://qiita.com/cielavenir/items/410ded536d9b520989c4 |
前説
- http://linuxbrew.sh/
- HomebrewパッケージマネージャのLinuxポート
- POSIX互換OSなら移植可能なはず
- 特に、SSHが使えるけどroot権限がないさくらサーバーでは需要が高い気もする
準備
-
私の環境ではrbenvを使っていますので必要に応じて導入します
-
(私の環境だと~/.profile)に以下を書き込みます
export HOMEBREW_BUILD_FROM_SOURCE=1 # LinuxBrewをFreeBSDで走らせている時点でバイナリなんて存在しない
export HOMEBREW_TEMP=$HOME/tmp # /tmpがnoexecでマウントされているため
- $HOME/.linuxbrew/binをPATHに追加します
- ~/tmpを作成します
インストール
-
https://raw.githubusercontent.com/Linuxbrew/install/master/install を手動でダウンロードします
-
/bin/chown
を/usr/sbin/chown
に、/bin/chgrp
を/usr/sbin/chgrp
に変更します -
(導入時のみ念のため)
export GIT_EXECUTABLE=/usr/local/bin/git
します -
ruby install
します。警告は無視して構いません。 -
~/.linuxbrew/Homebrew
に移動します(必要に応じb973a6c5をチェックアウトします) -
wget -O - https://gist.githubusercontent.com/cielavenir/a26f82b06f969ffd9113ffbae22573d3/raw/linuxbrew_freebsd.patch | patch -p1
としてパッチします。- パッチの内容は以下の通り:
- ld.soのパスを修正します
- LinuxBrewが変更された時、自動でrebaseする機能を解除します
- gcc-4.2のバージョン取得処理をgcc-4.3以降のものと同一にします
- 内部パスに/usr/local/binを追加します
- /proc/cpuinfoを読まないようにします
- OS.linux?を真にします
- glibcを9に固定します
- glibcに依存するパッケージは不具合が出る可能性が高いので現状暫定です
-
~/.linuxbrew/Homebrew/Library/Homebrew/shims/scm/git
のbashパスを変更します
-
/usr/local/bin/gmakeを~/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/makeにリンクします
-
他、色々やっときます
ln -s ~/.linuxbrew/bin/m4 ~/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/m4
ln -s ~/.linuxbrew/bin/bison ~/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/bison
使用
- 一回準備が終わればbrew installとか普通に行なえます
謝辞
- パッチの一部 https://gist.github.com/mikoim/d86176c827fe1cee25b92576ed9bd99e を使用しています。ありがとうございました。
- 特に自動rebase機能解除は助かりました。
あとがき
-
ツインテールdeエンジェルモード!!スクリプト言語AIRのインストールを試みましたが、powlが実装されておらず失敗しました… - まあunaceは手に入ったので良かったですが(※おそらく世界初のFreeBSD版unace2です)
180507
- tgmath/long doubleを無効化してビルドするオプションを付けたことにより、 ツインテールdeエンジェルモード!!がさくらサーバー上で動作可能になりました(※世界初のFreeBSD版)
190102
- homebrew-coreは62db5b95903e0c920ee4926f7ca53c47989e5344までアップデート可能なようです。maximum_macosがこのLinuxbrewバージョンでは解釈できないためです。