さくらサーバーにLinuxbrewを導入する(旧)

シリーズ:さくらサーバーで遊ぶ

設定等のメモ
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


前説


  • 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とか普通に行なえます


謝辞


あとがき



  • ツインテールdeエンジェルモード!!スクリプト言語AIRのインストールを試みましたが、powlが実装されておらず失敗しました…

  • まあunaceは手に入ったので良かったですが(※おそらく世界初のFreeBSD版unace2です)


180507


190102


  • homebrew-coreは62db5b95903e0c920ee4926f7ca53c47989e5344までアップデート可能なようです。maximum_macosがこのLinuxbrewバージョンでは解釈できないためです。