boron で気がついたのですが、net/ftp で login のときに
SocketError になります。

% ./ruby -rnet/ftp -e '
ftp = Net::FTP.open("ftp.ruby-lang.org")
ftp.login
'
/home/akr/chkbuild/tmp/build/ruby-trunk/20091009T105800/lib/ruby/1.9.1/net/ftp.rb:369:in `gethostbyname': getaddrinfo: Name or service not known (SocketError)
        from /home/akr/chkbuild/tmp/build/ruby-trunk/20091009T105800/lib/ruby/1.9.1/net/ftp.rb:369:in `getaddress'
        from /home/akr/chkbuild/tmp/build/ruby-trunk/20091009T105800/lib/ruby/1.9.1/net/ftp.rb:392:in `login'
        from -e:3:in `<main>'

現象は、Socket.gethostname で得たホスト名 (今回の場合
"boron") を Socket.gethostbyname に渡して、それが
SocketError になっているというもののようです。

つまり /etc/hosts に boron が載っていないわけです。

で、こういうホストは他にもあり得るので,載っていなくても動く
ようにしたらいいんじゃないかなぁ、と思うんですがどうでしょう?
-- 
[田中 哲][たなか あきら][Tanaka Akira]