くまきち

山と旅と家族が大事。
でも激しい物欲が理性と財布のタガを飛ばす
最近は自転車も乗ってる

年度末がいいよ

2012-03-25 20:40:44 | 雑記
昨日、かみさんと子供たちが春休みで帰省していった。
一週間はひとり暮らしだ。 が、職場が変わることになり、片付けもあって忙しい。

一人暮らしは年末以来。 部屋に人が少ない分、どうも寒い。
家族がいるときには静かにひとりになる時間が欲しいけど、一人だとひととおり眠って疲れが取れたら、後は退屈する。

そこで、前から気になっていた浴室の掃除を始める。

やるからには徹底的に磨く。
あちこち水垢やらカビ(赤っぽいやつ)がたくさんとれてきれいになった。
終わって、道具を洗面所に片付けていたら、今度は洗面所が気になり出して、洗面台をきれいにして、手を洗って、水をぬぐったタオルを洗濯機に入れたら、こんどは洗濯機が気になる。 洗濯機が終わったらその下のところとか、床が気になり、そのまま廊下を拭き掃除して、玄関に行き着いたら土間のほこり発見…

3時間掃除してた。 大掃除みたい。



大掃除と言えば年末だが、実はあれはよくないんじゃないかと思う。
まず水が冷たい。

寒風の中、外に出てベランダ掃除をするのはつらいし、ぞうきんも冷たい水だとやる気がちょっと下がる。 こたつやふとんでぬくぬくしてる方がいいに決まってる。 だいたい年末年始は自宅(東京)にいないんだから、年越しをする帰省先を掃除するのが筋じゃないのか(屁理屈)。

そこらへんを考えると、大掃除をするには年度末の方がいい。
水は温かいし、外もそんなに寒くない。 動き回っても汗をかくほどでもない。活動するにはちょうどいいのだ。

掃除をして気持ちいいところで、買い物に出かけたり、散歩もいいではないか。


という理屈と体験から、大掃除は年度末がいいのだ。

自転車用品まとめ買い

2012-03-13 22:46:58 | 山と旅
普段乗りに使っている自転車のタイヤが限界っぽいので注文。
ついでにいろいろまとめて購入。



[解決] freebsd-update したら ssh 接続できなくなった

2012-03-07 15:29:58 | SEまわり
解決した。

freebsd-update 後、sudo コマンドでこんなエラーが出ていたのを思い出した。

 
% sudo -s
Shared object "libutil.so.8" not found, required by "sudo"


これを、

 
% ln -s /lib/libutil.so.9 /lib/libutil.so.9


という雑な逃げ方でかわしたのが悪かったみたい。

sudo はこれで動作するようになるんだけど、sshd はダメだったというのが直接の原因。

で、sudo を portupgrade で上げたところ、libutil.so.8 じゃなく、新しい 9 を要求するようになったので OK。 ただ、OpenSSH は ports じゃなくて手動でコンパイルしているので、それを改めてやってみたところ、以下のような刺さり方をする。

 
# make
(cd openbsd-compat && make)
gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict-aliasing -fno-builtin-memset -fstack-protector-all -I. -I.. -I. -I./.. -I/usr/local/openssl -I/usr/local/include -DHAVE_CONFIG_H -c bsd-openpty.c
bsd-openpty.c: In function 'openpty':
bsd-openpty.c:128: error: 'I_PUSH' undeclared (first use in this function)
bsd-openpty.c:128: error: (Each undeclared identifier is reported only once
bsd-openpty.c:128: error: for each function it appears in.)
*** Error code 1

Stop in /usr/local/src/openssh-5.9p1/openbsd-compat.
*** Error code 1

Stop in /usr/local/src/openssh-5.9p1.


configure のオプションはこんな感じ。

 
./configure --without-pam --with-zlib=/usr/local --with-ssl-dir=/usr/local/openssl


これで進まなくなったけど、libutil.so.8 について調べていると、misc/compat8 を入れれば問題ないというのを見つけ、早速インストール

 
cd /usr/ports/misc/compat8
 make install clean distclean


で、sshd を再起動したら、リモートからの ssh もできるようになった。

メジャーバージョンアップしたら互換性は意識しとかないとなあ… 反省。



なお、いろいろ調べていく過程で以下のページと、そこにあるスクリプトが便利で助かりました。

 FreeBSD Daily Topics:2010年1月18日 ≪注意≫utmp(5)からutmpxへ切り替え - Ports Collectionからインストールしたアプリケーションは個別に対処が必要|gihyo.jp … 技術評論社


freebsd-update したら ssh 接続できなくなった

2012-03-07 14:37:49 | SEまわり
FreeBSD 8.1R を使っていて、EoL が7月末だというので、9.0R にアップグレードしてみた。

アップグレード作業はすんなり終わったように見えたが、自前で導入している OpenSSL のライブラリや、libz の関係で、wget やら mysql が動かなかったけど、ライブラリをリビルドしたり、シンボリックリンクを張り替えて解決。

が、ssh でログインできなくなってしまった。
リモートからだけでなく、ローカルで試してもダメ。

デバッグフラグを立てて実行したらこんな感じ。

 
% ssh localhost -v
ssh localhost -v
OpenSSH_5.9p2, OpenSSL 1.0.0g 18 Jan 2012
debug1: Reading configuration data /usr/local/etc/ssh_config
debug1: Connecting to localhost [127.0.0.1] port 222
debug1: Connection established.
debug1: identity file /home/ooki/.ssh/id_rsa type -1
debug1: identity file /home/ooki/.ssh/id_rsa-cert type -1
debug1: identity file /home/ooki/.ssh/id_dsa type 2
debug1: identity file /home/ooki/.ssh/id_dsa-cert type -1
debug1: identity file /home/ooki/.ssh/id_ecdsa type -1
debug1: identity file /home/ooki/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9
debug1: match: OpenSSH_5.9 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 9f:f8:1a:d9:61:59:b6:80:90:34:7a:5d:6f:9a:26:d5
debug1: Host '[localhost]:222' is known and matches the ECDSA host key.
debug1: Found key in /home/ooki/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ooki/.ssh/id_rsa
debug1: Offering DSA public key: /home/ooki/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/ooki/.ssh/id_dsa':
debug1: read PEM private key done: type DSA
debug1: Authentication succeeded (publickey).
Authenticated to localhost ([127.0.0.1]:222).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: channel 0: free: client-session, nchannels 1
Connection to localhost closed by remote host.
Connection to localhost closed.
Transferred: sent 3016, received 1888 bytes, in 0.1 seconds
Bytes per second: sent 53835.1, received 33700.5
debug1: Exit status -1


秘密鍵パスフレーズを入力し、auth ログにも、

 
Accepted publickey for ooki from 127.0.0.1 port 11651 ssh2


となっているのだが、直後に向こうからコネクションを切られる。

エラーメッセージで検索すると、認証完了後、そのユーザのホームディレクトリに移動(?)して、.csh などを走らせる時に問題がある、というのが多く見つかった。 ホームディレクトリの所有者が root になっているとか、そんなのも見つかった。

が、ホームディレクトリは所有したままだし、そもそも freebsd-update しただけでそれが変化しては困る。

幸い、リモートコンソールが使えるので、接続したままにしている ssh セッションの生き残りが切れてしまっても、操作する手段は残されているけど、なかなか解決策が見つからない。困った。

OpenShift on FreeBSD 8R

2012-03-05 18:31:51 | SEまわり
CentOS 上でやってみても、なかなか思うように進められなかったので、FreeBSD で OpenShift を使う(?)環境を整えてみた。

Ruby, rubugems, git は ports 一発インストールで完了。手順は 本家のQuickStart を見ながら。

 
gem install rhc


これも一発完了

続いて、

 
% rhc-create-domain -n bear -l rhlogin
(rhlogin は あらかじめ regist しておいたものを使用)
Password:
Generating OpenShift Express ssh key to /home/ooki/.ssh/libra_id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ooki/.ssh/libra_id_rsa.
Your public key has been saved in /home/ooki/.ssh/libra_id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx ooki@example.com
The key's randomart image is:
+--[ RSA 2048]----+
| oE+o|
| . .o.|
| o +.|
| . . + +|
| S.. . + |
| ..o.. . .|
| o +o. . |
| . +o. |
| o. |
+-----------------+
Problem reported from server. Response code was 400.
Re-run with -d for more information.

RESULT:
User with login 'ooki@example.com' already has a domain with namespace 'bear'


先に Web ページにて、bear というドメインを作ってあったため、こういう警告はでてしまったが、RSA 鍵生成などは正常に終わっているので、これで良い。

次に、

 
rhc-create-app -a myapp -t php-5.3
(* myapp のところは自分の作る app 名に適当に変更)


とすると、

 
% rhc-create-app -a testapp -t php-5.3
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- iconv (LoadError)
(以下略)


となって停止。ruby の iconv が必要らしい。

 
cd /usr/ports/converters/ruby-iconv
make install clean distclean


としてから、再度、rhc-create-app してみる。

 
% rhc-create-app -a testapp -t php-5.3


ドキュメントでは、ここでパスワードを訊かれるはずなんだけど、以下のように Usage が表示されて終わってしまう。

 
Created local config file: /home/ooki/.openshift/express.conf
express.conf contains user configuration and can be transferred across clients.

RHLogin is required
Obtaining list of cartridges (please excuse the delay)...

Usage: /usr/local/bin/rhc-create-app
Create an OpenShift Express app.

-a|--app application Application name (alphanumeric - max 32 chars) (required)
-t|--type type Type of app to create (python-2.6, jenkins-1.4, ruby-1.8, raw-0.1, php-5.3, jbossas-7.0, perl-5.10) (required)
-l|--rhlogin rhlogin Red Hat login (RHN or OpenShift login with OpenShift Express access) (required)
-p|--password password RHLogin password (optional, will prompt)
-r|--repo path Git Repo path (defaults to ./$app_name)
-n|--nogit Only create remote space, don't pull it locally
-d|--debug Print Debug info
-h|--help Show Usage info
--no-dns Skip DNS check. Must be used in combination with --nogit
--config path Path of alternate config file
--timeout # Timeout, in seconds, for connection
--enable-jenkins [name] Create a Jenkins application (see Note 1)

Notes:
1. Jenkins applications will have Jenkins embedded. Their default name will be 'jenkins' if not specified and the '--no-dns' flag is ignored.


RH アカウントを指定してやりなおし

 
% rhc-create-app -a testapp -t php-5.3 -l ooki@example.com
Password:
Creating application: testapp
Now your new domain name is being propagated worldwide (this might take a minute)...
The authenticity of host 'testapp-bear.rhcloud.com (107.22.35.141)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'testapp-bear.rhcloud.com,xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
Enter passphrase for key '/home/ooki/.ssh/id_dsa':
Confirming application 'testapp' is available: Success!

testapp published: http://testapp-bear.rhcloud.com/
git url: ssh://hogehogefugafuga@testapp-bear.rhcloud.com/~/git/testapp.git/
Successfully created application: testapp


うまくいった。

最後のところで、DSA鍵のパスフレーズを訊かれているのは、Web ページにて公開鍵を登録してあったため。

次に、アプリを commit してみる

 
% cd testapp
% git commit -a -m "first"
git commit -a -m "first"
# On branch master
nothing to commit (working directory clean)


何も変更してないので当たり前。

続いてデプロイ


 
% git push
git push
Enter passphrase for key '/home/ooki/.ssh/id_dsa':
Everything up-to-date


以上で終わり。

別に FreeBSD でも動くじゃん。

Cloud Foundry を試そうとして

2012-03-05 11:35:21 | SEまわり
えーと… (-"-;)

 
% wget https://raw.github.com/cloudfoundry/vcap/master/setup/install
--2012-03-05 11:33:34-- https://raw.github.com/cloudfoundry/vcap/master/setup/install
raw.github.com をDNSに問いあわせています... 207.97.227.243
raw.github.com|207.97.227.243|:443 に接続しています... 接続しました。
Segmentation fault (core dumped)


ナニコレ

父さんですw

2012-03-02 10:17:17 | 雑記
SPAM なんだけど、タイトルでちょっと笑った。




日本語がめちゃくちゃなくせに丁寧っぽいメールよりも、ずいぶん楽しくていいんじゃないですかね。


ただ、同種のメールがかなり増殖してるみたいで、迷惑かかってることには変わりありません。