bellflower

- 秋野桔梗のひとりごと -

さくらのレンタルサーバ(スタンダード)でportsとpkgngを使って超簡単インストールツールを作ってみた

(ほぼこちらの記事と内容は同じです!)

みんな大好きさくらのレンタルサーバ(スタンダード)
共用サーバなのにSSHログイン出来ちゃうし、最近は容量が100GBも付いてくるしで、なかなか他のサービスに移る気がしない!って人も多いんじゃないでしょうか。

折角たくさん容量余ってるんで、昔やりかけて挫折してたportsを導入しようと色々頑張った結果、ツール(っぽいもの)が出来たので、折角なので公開します。

はじめに:3行まとめ

  • セットアップコマンド叩いて
  • pspkg --install editors/vim (お好きなports)
  • あとは待つだけ (うまくいかないときもある)

About

ツール名: pspkg
バージョン: 1.0.0

user-based Port Snap + PKG tool for FreeBSD

pspkgの正体は、要するにportsとpkgngのラッパーです。

  • portsnapで最新のソフトウェア群をカバーし、
  • portsでmake packageし、
  • それらパッケージの管理をpkgngを使って行ってます。

  • make configまでは面倒見てませんので各自でお好きに!
  • ちなみにbash&おおよそ標準的なコマンド群でできてます(ただのラッパーなんで)。
  • それ以上でもそれ以下でもありません。

動作確認した環境

  • 自分の www****.sakura.ne.jp (ぉ

  • FreeBSD 9.1-RELEASE on vagrant (Windows 7 x86_64)

  • それぞれに標準でインストールされるbashとcshでテストしてます。

セットアップ方法

homebrewとかでよくあるやつリスペクトで。

bashのひとはこっち

cshのひとはこっち

デフォルトでは、ファイル群は $HOME/.pspkg ($PSPKGDIR) 配下に全て格納されます。
(上記コマンドを叩く前にあらかじめ環境変数 PSPKGDIR を設定しておくと変更できる・・・はず)

ただSTDOUTとSTDERRの内容を垂れ流すのも芸がないので、可能なとこは棒(Loading Spinner)をぐるぐる回してみましたw
ぐるぐる回ってる間のログが見たい・・・という場合は $PSPKGDIR/var/log 配下を探してみてください。

上記コマンドを叩くと、こんな感じでセットアップが始まります。

  • curlでpspkg本体を取ってきます

  • 基本ディレクトリは$HOME/.pspkgです

  • portsnapのセットアップが始まります。extract中はぐるぐる。

下記のように出力されたらセットアップ完了です。
指示の通り、PSPKGDIRPATHLD_LIBRARY_PATHを設定してください。

  • セットアップ完了

ソフトウェアを探す

例えばvimをインストールしたい!というとき、--searchオプションを使って検索します。

ソフトウェアをインストールする

いま検索したvimをインストールするぞ!というときは--installオプションを使います。
指定方法は portsディレクトリ以下のパス に則っているので注意してください。

こんな(下記)感じでずらずら〜〜〜っと出力されます。
この間、約20分弱くらい。
この例で言うとportsでvimが依存しているパッケージは全てインストールされます。
デフォルトで portsのデフォルト設定 + PREFIX=$PSPKGDIR (バイナリは$PSPKGDIR/binに入る)というコンフィグになります。で、vimに関しては ぼーっと待ってるだけでインストール完了

(パッケージによってはインストールパスが固定されているものもあるため、すんなりインストールできない=書き込み権限エラーでインストール処理が止まるものもあります。その場合は各パッケージのディレクトリに潜って自力でMakefileとかをなんとかするw)

参考にしたサイト

おわりに

お気づきの点などありましたらQiita記事からコメントまたはTwitterまで。
ソースに関する事はGitHubのほうでお願いします。

-FreeBSD, pkgng, ports, Vim, さくらのレンタルサーバ
-, , , ,