サイトをFreeBSD10+python3.3+Bottleで作り直すメモ(1)-qjailとpkgng

サーバ入れ替えに伴ってブログエンジンを変えなきゃいけない、だったら自分で作ってみよう、という無謀な試み。コンテンツは今までどおりreStructuredTextで書きたいのでpythonベースの奴がいいよね&自分専用だからできるだけシンプルな方がいいよね&もうこれからはpython3だよね、ということでフレームワークはBottleを選択してみた。

OSはいつも通りFreeBSD。で、どのリリースを選択すべきか。ちょうど今はFreeBSDのライフサイクル的にちと微妙な時期で、

ということで、とりあえず10.0を入れておいて、来年頭くらいに長期(2年)サポートの10.1が出たらそっちにアップグレード、というのがいいかなと。

てことで、まず10.0をインストール。デフォルトのパーティション/ブート管理がGPTという奴に変わって、スライスごとのパーティションの数の制限が緩和されたっぽい。サーバの仕様上パーティションをたくさん切る必要があるのでこれはありがたい。

さて、FreeBSD10系からjailの仕様が若干変わってezjailがうまく動かないらしいので、qjailを入れてみる。手順は以下の通り。まず、pkgngでqjailをインストール。

# pkg search qjail
(qjailの2系と3系(ここでは3.2)のパッケージが表示される)
# pkg install qjail-3.2

次に、/etc/rc.confにネットワークアダプタのエイリアスとqjail_enableを追加。こんな感じで。

ifconfig_ネットワークIF_alias0="inet IPアドレス netmask 255.255.255.255"
qjail_enable="YES"

で、ネットワークを再起動して、それからjailのベースを作成

# /etc/rc.d/netif restart
# source ~/.cshrc
# qjail install

さらに、qjailを作って実行

# qjail create -n ネットワークIF -4 IPアドレス jail名
# qjail start

qjailが起動したのちは、 qjail console jail名 (jexec jailID csh でもいいけど)でjailに入る。この時点でrootのパスワードがない状態なのでpasswdコマンドで作っておくのがいいと思う。ユーザランドのアップデートはホスト側から qjail update -b だけでOK。また、portsツリーのアップデートもホスト側から qjail update -p でOK。これはらくちんでよい。

ここで問題発生。jail側でpkgngが機能しない。「PACKAGESITEを設定ファイルから削除しろ」とか「pkgのデータ参照元のftpなんちゃらが見つからないよ」とかいうメッセージが出てpkgを構築できない。なんでかな?と思ったが、pkgngのデータ参照元のサイトがどっかのタイミングで変わったけど、qjailのデフォルトのユーザランドイメージ(qjail install でダウンロードされるイメージ)は古い参照元のURLを見に行っているようだ。もっと具体的に書くと、qjailのイメージだと環境変数PACKAGESITEが設定されていて、これをpkgngが参照している、ということ。で、PACKAGESITEをどこで設定しているか確認したところ、/root/.cshrcで設定されていた。なんで、.cshrcを編集して該当個所をコメントアウトしたところこの問題は解消された。

コメント(0)


Blog category: Ultima | Adventure games | BSD and Linux | FM TOWNS and Japanese home computers | Computers | Bottle | 広島新球場 | 日本プロ野球 | 広島市民球場跡地とサッカースタジアム | その他スポーツ | Other topics
2002 08 09 10 11 12
2003 01 02 03
2004 01 02 03 04 06 08 09 10 11 12
2005 01 02 03 04 05 06 07 08 09 10 11 12
2006 01 02 03 04 05 06 07 08 09 10 11 12
2007 01 02 03 04 05 06 07 08 09 10 11 12
2008 01 02 03 04 05 06 07 08 09 10 11 12
2009 01 02 04 05 06 07 09 10
2010 01 03 04 05 08 11
2011 01 02 03 04 07 11 12
2012 01 02 03 09 10 11
2013 01 02 03 05 06 07 08 09 10 11 12
2014 01 02 03 04 05 06 07 10 11 12
2015 01 02 03 04 05 07 08 11 12
2016 03 04 05 07 08 09 10 11
2017 06
2018 11 12
2019 01 04 10
2020 05 06 07

Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。