日本語manページを最新にしてみる

社内のLinux講習でまずはmanページから説明しようと、とあるCentOS 5.5(ロケールUTF-8)で man man したら、
セクション番号について詳細が記述されていないことに気が付いた。
あれー、Debian 5 のサーバでは man man で出てくるのに。。。
CentOS 5.5側の man man ページでは更新日も1999年!くぅ、更新されていない。
ちなみに、Debian 5 は2008年。man 自体のバージョンの違いもあるけど、釈然としない!
ならば、更新しよう、そうしよう。
日本語 manページは
JM Project http://linuxjm.sourceforge.jp
がメンテナンス、配布している。ありがとう JM Project!
JM Projectの配布物は EUC-JP にのみ対応しているようだ。
UTF-8でインストールするには、とググると、おお、先人がいらっしゃる!id:ser1zw さん、ありがとう!
http://d.hatena.ne.jp/ser1zw/20100920/1284916563
早速、まねしよう。

[user@server]$ wget http://linuxjm.sourceforge.jp/man-pages-ja-20120115.tar.gz
[user@server]$ tar xvzf man-pages-ja-20120115.tar.gz
[user@server]$ cd man-pages-ja-20120115
[user@server]$ find manual -type f | while read f; do nkf -w --overwrite $f; done
[user@server]$ make config

  • 以降ひたすらリターン -
  • All OK? と聞かれたら C とリターン -

[user@server]$ sudo make isntall
[user@server]$ sudo /usr/sbin/makewhatis

よし、終わったぞ、これで man man してみると

マニュアルセクション
マニュアルの標準的なセクションは以下のとおり:

1 ユーザーコマンド

2 システムコール

3 C ライブラリ関数

4 スペシャルファイル

5 ファイルフォーマット

6 ゲームプログラム

7 概要、慣習やその他

8 管理コマンドと特権コマンド

キター!

SubsonicをCentOSにインストールする際のTIPS

http://d.hatena.ne.jp/Molokheiya/20110628/p1
以前さくらVPSで借りたCentOS5に上のリンク先を見ながらSubsonicを導入してみた。
その際に詰まった点を残しておく。

lameffmpeg がインストールできない

さらに自動エンコーディング機能を使うためにffmpeg等ライブラリも入れます。

lameffmpeg が自分の環境ではyumからインストールできなかった。yum リポジトリへRPMForgeの追加が必要。

$ wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
$ sudo rpm --import RPM-GPG-KEY.dag.txt
$ wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ sudo yum -y update rpmforge-release

以上でインストールできた。

Windowsで作ったZIPをunzipすると文字化け
起動後に早速楽曲をZIPに固めてSubsonicの画面からアップロードするも、
展開されたファイル名が激しく文字化けする。
アップロード先はUTF-8なんだけど、アップロード元はShift-JISだからかな。
仕方ないから手動でunzipしてみるけどそれでもダメ。こっちはどうやらunzipの問題らしい。
以下にunzipのソースコードを修正された方がいた。修正したものもリポジトリから公開しているみたいだ。
Windowsで作ったzipアーカイブを書庫マネージャ(File Roller)で開くと文字化けする - 憩いの場【Linux/Ubuntu】
以下のファイル一覧から、CentOS5用はないけどCentOS6用があったので有難く頂く。感謝感謝。
IKOINOBA YUM/APT repository - 憩いの場

$ wget http://download.opensuse.org/repositories/home:/sawaa/CentOS_CentOS-6/x86_64/unzip-6.0-4.el6.ja1.1.x86_64.rpm
$ rpm -ivh --replacefiles unzip-6.0-4.el6.ja1.1.x86_64.rpm
$ sudo rpm -ivh --replacefiles unzip-6.0-4.el6.ja1.1.x86_64.rpm

replacefiles は既に入っているunzip5と競合すると言われたため付けた。まぁ、たぶん大丈夫だろうと実行。
以上実行後、unzipを実行しても文字化けしなくなる。
ただ、当然ながらSubsonicで自動解凍させるとまだダメ。Javaで実装されているからね。
とりあえず、自動解凍するのチェックを外してアップロード後、unzipを手打ちの運用方針で。

AsakusaSatelliteのインストールではまる(でも解決)

AsakusaSatellite http://codefirst.github.com/AsakusaSatellite/
は開発者寄りのグループチャットツール。
IRCが社内でいまいち流行らず、WEBベースじゃないと嫌だと言うわがままに答えて、
社内のサーバに導入しようとしたところ、おおはまり。

サイトのインストール手順どおり、bundlerを実行したところで問題が起きる。

$ bundle install --path vendor/bundle
Installing rroonga (1.2.3) with native extensions /usr/local/lib/ruby/site_ruby/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/usr/local/bin/ruby extconf.rb
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require': no such file to load -- pkg-config (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
from extconf.rb:26

うむむ、pkg-configが見つからないといっている。
なんだ、そのための依存解決ツールじゃないのかとブツブツ言いつつ、
試行錯誤することに。
最初は、gemfileに、

gem 'pkg-config'

をgem 'rails'の前に書き加えるが、最初に読んでくれない。
仕方ないので、以下のようにpkg-config以外をコメントアウトして、

gem 'pkg-config'
#gem 'rails', '3.0.3'
#gem 'activegroonga'
#group :development, :test do
# gem "rspec-rails", ">= 2.3.0"
# gem 'nokogiri'
# gem 'autotest'
# gem 'autotest-growl'
# gem 'ci_reporter'
#end
#gem 'haml-rails'
#gem 'jquery-rails'
#gem 'rcov'
#gem 'em-websocket'
#gem 'msgpack'
#gem 'msgpack-rpc'
#gem 'oauth'
#gem 'json', "= 1.4.6"
#gem "on_the_spot"
#gem "uuidtools"
#gem 'coderay'

一旦 bundle intallし、bundle intall成功後に今度はgem 'pkg-config'をコメントアウト。その他のgemのコメントアウトを戻して再度bundle installを実行する。これでうまくいった。

Cygwinでsendmailコマンドからメール送信を出来るようにする方法

最近、Cygwin上でPerlスクリプトを作成しているが、スクリプトからメールを
飛ばす必要が出たため、ローカルPC上からsendmailコマンドを使用するためのメモ。
なお、受信のための設定は不要なので今回はしない。
前提として、sendmailコマンドにはsendmail、または、sendmailコマンド互換のMTAが必要。
そして、CygwinにはCygwinインストーラから簡単にインストールできるsendmail互換のMTA、
exim(いくしむ)があるので、これをインストールして使用する。

eximのインストール

  1. Cygwin SetupのSelect Packagesから、Category-Mail-exim(この記述時はexim4.69-1)を選びインストール

eximの設定

  • /usr/bin/exim-configを実行する。
$ /usr/bin/exim-config
************************************************
This script sets some key parameters of the exim
installation and starts the exim daemon.
See the details in /usr/share/doc/Cygwin/exim-X-Y.README.
    Interrupt with ^D.

OK. No usernames contain spaces.

OK. The /etc/aliases file contains "postmaster".

OK. /etc/exim.conf created from /etc/defaults/etc/exim.conf.

Looking for the fully qualified primary hostname.
Is it "localpc.xx.co.jp"? (yes/no) no
Enter your fully qualified hostname.
mail.xxxxxxxx.com

接続するメールサーバを聞かれるので、ローカルPCのメーラで使っているPOPメールサーバのFQDNを入力。

OK. The hostname mail.xxxxxxxx.com was saved in /etc/exim.conf.

OK. The mode and ownership of the /etc/exim.conf file are now:
-rw-rw-r-- 1 18 0 35839 Dec  1 19:10 /etc/exim.conf

INFO: Some programs expect /usr/sbin/sendmail to handle mail.
Currently it is a symbolic link to /usr/bin/exim.

Do you want to link /usr/sbin/sendmail to /usr/bin/exim ? (yes/no) yes
OK. Done.

/usr/sbin/sendmailコマンドのリンクを作るか聞かれるので、 yes

Do you want to install the exim daemon as a service? (yes/no) no

Do you want to start the exim daemon as a job now? (yes/no) no

デーモンサービスにするか?いまデーモンを立ち上げるか聞かれるが、
送信するだけならデーモンは使わないので両方 no

OK. Type "/usr/bin/exim -bd -q15m" to start the exim daemon job.

INFO: The exim log files are in /var/log/exim.

When everything else fails,
    read /usr/share/doc/Cygwin/exim-X-Y.README,
    or look up the documentation on www.exim.org.
Many happy mailings :)

もしあとからデーモンを起動するなら、

$ /usr/bin/exim -bd -q15m

デーモンを停止するなら

$ pkill exim

テスト送信

$ /usr/sbin/sendmail -f self@xxxx.com self@xxxx.com
Subject:test
test
.

デーモン起動は不要。
上のように、sendmailコマンドを入力し、Subject:testと、本文のtest、終了の意味の.を入力してEnter。
自分に届けばOK。