]
トップ 追記

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2012-01-28 [長年日記]

_ Handy Camで使う SDXC カードを Debian で使うには

まだ、調査段階、Transcend SDXCカード 64GB Class10 永久保証 [フラストレーションフリーパッケージ (FFP)] TS64GSDXC10E Transcend SDXCカード 64GB Class10 永久保証 [フラストレーションフリーパッケージ (FFP)] TS64GSDXC10E あたりを購入して、Debian で扱おうかとおもったら、どうやら exfat-fuse(http://packages.debian.org/ja/sid/exfat-fuse)が必要そうだ。

Handy Camのデフォルトでは、映像ファイルは2GB毎に分割されている。DVDやFilesystemで扱えるようにだとは思う。その制限がはずれた eFat フォーマットで SDXC カードはフォーマットされてようである。あとは入手したら確認する。


2012-01-27 [長年日記]

_ TCP wrapper

サーバにNRPEを仕掛けていく日々である。muninも便利だが、Nagiosで、外形検査と内部のリソースや状態チェックをできるのは強い。

サーバによっては、さまざまな防御手段を取っている。とはいえ、いくつかの手段で防衛線は作られており、そのサーバに関する情報引き継ぎが不十分な場合は、順番に押さえていく必要がある。

NagiosのNRPE daemonでも、syslogへdebugログを出力する機能があり、何度か助けられた。logを出しっぱなしにすると log rorate の問題があり、必要なときだけ出して、あとは en-comment (コメント化)しておく

Nagiosのインストールしてある観測サーバから、TCPパケットになったつもりで、対象サーバに到達して、戻っていく旅を想像する。ルーターの制限を抜け、ファイヤーウォールの制限を抜け、iptablesの制限を抜けるなどの、ルートと、制限の問をくぐる感じか。実際の旅の経路があっていれば、通信は確立するが、自分が想像してない経路で分断されており、NRPEの ファシリティが daemon のログで、TCP wrapper でブロックされていると出ているのをみてようやく、何が起きていたのかを理解した。/etc/hosts.allowに設定を追加して、一件落着した。


2012-01-22 [長年日記]

_ Princeton デジ造 映像版3(PCA-DAV3)

すいませんが、ちょっと前提の話が長いです

承前

講演や会議の記録をデジタル形式で残すために、ハンディカムSONY デジタルHDビデオカメラレコーダー CX560V ブラック HDR-CX560V/B を購入した。BTマイクも購入したので発表者はケーブルの取り回しを考えることなく発表に集中できる。*1

Debian GNU/Linux Squueze + Kernel(Linux version 2.6.38-cgroup-memcap (2.6.38) (root@yelona) (gcc version 4.4.5 (Debian 4.4.5-8) ) #1 SMP Mon Oct 3 23:02:18 JST 2011)*2で、usb mass strageでハンディカムの中を見て、拡張子 mts のフォーマットも再生できた。

ここまで来れば、次はこのハンディカムで ustream 配信をしてみたいところ。ieee 1394 がベストなのだが、カメラが高いので、アナログ出力を、Linuxに取り込むことを考える。ここで、ようやくタイトルのPC−DAV3の話になる。

この製品は、アナログ信号をusbでPCに取り込む機器だ。ひとつ前のPCA-DAV2に関しては、映像版デジ造PCA-DAV2 + Ubuntu 10.04 + Medibuntu でビデオ録画(http://www.ne.jp/asahi/techno/ostra/video-capture-on-linux.html)があるが、最近、後継機種 PCA-DAV3 でたので購入してみた。

下記のように認識しているが、/dev/video0ができていない。

[383311.356252] usb 1-1.2: new high speed USB device using ehci_hcd and address 13
[383311.451551] usb 1-1.2: New USB device found, idVendor=117f, idProduct=5207
[383311.451556] usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[383311.451559] usb 1-1.2: Product: USB 2861 Device
[383314.163627] usbcore: registered new interface driver snd-usb-audio
[383636.285317] Linux video capture interface: v2.00
[383636.295152] usbcore: registered new interface driver em28xx
[383636.295156] em28xx driver loaded
[383636.320791] IR NEC protocol handler initialized
[383636.329934] IR RC5(x) protocol handler initialized
[383636.342452] IR RC6 protocol handler initialized
[383636.347427] IR JVC protocol handler initialized
[383636.350186] IR Sony protocol handler initialized
[383636.362589] lirc_dev: IR Remote Control driver registered, major 250 
[383636.377672] IR LIRC bridge handler initialized

modprobe em28xx card=40 などして認識させたところ。video4linux2のモジュール(v4l2_common) とかも読み込まれているので、udevも見てみる必要がある気がする。

Module                  Size  Used by
em28xx                 66233  0 
v4l2_common            13215  1 em28xx
videodev               48418  2 em28xx,v4l2_common
videobuf_vmalloc       12621  1 em28xx
videobuf_core          17540  2 em28xx,videobuf_vmalloc
tveeprom               16473  1 em28xx
ir_lirc_codec          12651  0 
lirc_dev               12797  1 ir_lirc_codec
ir_sony_decoder        12403  0 
ir_jvc_decoder         12401  0 
ir_rc6_decoder         12401  0 
ir_rc5_decoder         12401  0 
ir_nec_decoder         12401  0 
rc_core                17813  7 em28xx,ir_lirc_codec,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,ir_nec_decoder
snd_usb_audio          66275  1 
snd_usbmidi_lib        18706  1 snd_usb_audio
usbhid                 31072  0 
hid                    59736  1 usbhid
nls_utf8               12416  0 
nls_cp437              12417  0 
btrfs                 415196  0 
crc32c                 12576  1 
libcrc32c              12394  1 btrfs
ufs                    60850  0 
qnx4                   12992  0 
hfsplus                70149  0 
hfs                    40573  0 
minix                  26769  0 
ntfs                  165605  0 
vfat                   16989  0 
msdos                  12822  0 
fat                    44149  2 vfat,msdos
jfs                   138429  0 
xfs                   533069  0 
exportfs               12527  1 xfs
reiserfs              174271  0 
ext4                  251726  0 
jbd2                   55701  1 ext4
sg                     21385  0 
sr_mod                 17418  0 
cdrom                  34631  1 sr_mod
rndis_host             12603  0 
cdc_ether              12546  1 rndis_host
usbnet                 17626  2 rndis_host,cdc_ether
mii                    12562  1 usbnet
usb_storage            34951  0 
uas                    12975  0 
usbmon                 22186  0 
veth                   12986  0 
ipt_MASQUERADE         12530  1 
iptable_nat            12800  1 
nf_nat                 17708  2 ipt_MASQUERADE,iptable_nat
nf_conntrack_ipv4      13649  5 iptable_nat,nf_nat
nf_defrag_ipv4         12443  1 nf_conntrack_ipv4
xt_conntrack           12535  2 
nf_conntrack           42383  5 ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv4,xt_conntrack
ip6table_filter        12492  0 
ip6_tables             17069  1 ip6table_filter
acpi_cpufreq           12737  1 
mperf                  12387  1 acpi_cpufreq
cpufreq_conservative    13598  0 
cpufreq_userspace      12520  0 
ebtable_nat            12516  0 
cpufreq_stats          12670  0 
ebtables               16965  1 ebtable_nat
cpufreq_powersave      12422  0 
xt_multiport           12470  1 
iptable_filter         12488  1 
ip_tables              16998  2 iptable_nat,iptable_filter
x_tables               17967  9 ipt_MASQUERADE,iptable_nat,xt_conntrack,ip6table_filter,ip6_tables,ebtables,xt_multiport,iptable_filter,ip_tables
parport_pc             21895  0 
ppdev                  12621  0 
lp                     12858  0 
parport                27018  3 parport_pc,ppdev,lp
sco                    13219  2 
bridge                 55027  0 
stp                    12368  1 bridge
bnep                   17147  2 
rfcomm                 31960  4 
l2cap                  35435  6 bnep,rfcomm
crc16                  12327  2 ext4,l2cap
bluetooth              50119  6 sco,bnep,rfcomm,l2cap
kvm_intel              44826  0 
kvm                   220471  1 kvm_intel
binfmt_misc            12778  1 
uinput                 12984  1 
deflate                12495  0 
zlib_deflate           21186  2 btrfs,deflate
ctr                    12851  0 
twofish_generic        16529  0 
twofish_i586           12453  0 
twofish_common         20528  2 twofish_generic,twofish_i586
camellia               28953  0 
serpent                24847  0 
blowfish               16576  0 
cast5                  24773  0 
des_generic            20771  0 
xcbc                   12629  0 
rmd160                 16584  0 
sha512_generic         16649  0 
sha1_generic           12511  0 
hmac                   12649  0 
crypto_null            12636  0 
af_key                 30708  0 
fuse                   55640  1 
ext2                   53488  1 
loop                   17805  0 
snd_hda_codec_hdmi     21913  1 
snd_hda_codec_conexant    35784  1 
snd_hda_intel          21529  4 
arc4                   12418  2 
snd_hda_codec          57563  3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel
thinkpad_acpi          46976  0 
snd_hwdep              12906  2 snd_usb_audio,snd_hda_codec
snd_pcm_oss            35864  0 
snd_mixer_oss          17649  1 snd_pcm_oss
option                 20658  0 
snd_pcm                52774  6 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_pcm_oss
ecb                    12649  2 
usb_wwan               12950  1 option
snd_seq_midi           12744  0 
snd_rawmidi            22407  2 snd_usbmidi_lib,snd_seq_midi
snd_seq_midi_event     13124  1 snd_seq_midi
snd_seq                39172  2 snd_seq_midi,snd_seq_midi_event
usbserial              27298  2 option,usb_wwan
iwlagn                122417  0 
i915                  276436  2 
snd_timer              22171  2 snd_pcm,snd_seq
snd_seq_device         12995  3 snd_seq_midi,snd_rawmidi,snd_seq
iwlcore                50368  1 iwlagn
ehci_hcd               34889  0 
mac80211              156189  2 iwlagn,iwlcore
drm_kms_helper         26501  1 i915
snd                    38153  24 snd_usb_audio,snd_usbmidi_lib,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel,snd_hda_codec,thinkpad_acpi,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
psmouse                45863  0 
usbcore                99058  17 em28xx,snd_usb_audio,snd_usbmidi_lib,usbhid,rndis_host,cdc_ether,usbnet,usb_storage,uas,usbmon,option,usb_wwan,usbserial,ehci_hcd
drm                   124320  3 i915,drm_kms_helper
tpm_tis                12949  0 
cfg80211              106889  3 iwlagn,iwlcore,mac80211
tpm                    17476  1 tpm_tis
pcspkr                 12515  0 
serio_raw              12758  0 
i2c_i801               12670  0 
i2c_algo_bit           12706  1 i915
snd_page_alloc         12841  2 snd_hda_intel,snd_pcm
i2c_core               18989  9 em28xx,v4l2_common,videodev,tveeprom,i915,drm_kms_helper,drm,i2c_i801,i2c_algo_bit
battery                12957  0 
ac                     12552  0 
rfkill                 18510  6 bluetooth,thinkpad_acpi,cfg80211
evdev                  13084  22 
wmi                    13018  0 
soundcore              12878  1 snd
power_supply           13283  2 battery,ac
video                  17345  1 i915
processor              26983  5 acpi_cpufreq
e1000e                108717  0 
tpm_bios               12799  1 tpm
button                 12866  1 i915
nls_base               12649  9 nls_utf8,nls_cp437,hfsplus,hfs,ntfs,vfat,fat,jfs,usbcore
nvram                  12853  1 thinkpad_acpi
ext3                   98001  1 
jbd                    40818  1 ext3
mbcache                12810  3 ext4,ext2,ext3
sha256_generic         16709  2 
aes_i586               16608  8 
aes_generic            37066  1 aes_i586
cbc                    12659  4 
dm_crypt               17809  1 
dm_mod                 56394  9 dm_crypt
sd_mod                 34941  3 
crc_t10dif             12332  1 sd_mod
ahci                   20897  2 
libahci                22161  1 ahci
libata                127808  2 ahci,libahci
scsi_mod              134369  6 sg,sr_mod,usb_storage,uas,sd_mod,libata
thermal                13058  0 
thermal_sys            17667  3 video,processor,thermal
udevmonitor から udevadm monitorへ

udevの動作状況については、udevadm monitor で確認を行うことになったようだ。udevmonitorコマンドがなくなって、困っていたら?どうぞ(って、udevをやるような人は困らないか。...まあ将来の自分のためです)ログは、下記のような感じ

yelona:/usr/src/linux-source-2.6.38/drivers/media/video/em28xx# udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
 
KERNEL[1327161361.981585] remove   /bus/usb/drivers/em28xx (drivers)
KERNEL[1327161361.981945] remove   /module/em28xx (module)
UDEV  [1327161361.982396] remove   /bus/usb/drivers/em28xx (drivers)
UDEV  [1327161361.982415] remove   /module/em28xx (module)
KERNEL[1327161362.001283] remove   /module/v4l2_common (module)
UDEV  [1327161362.001819] remove   /module/v4l2_common (module)
KERNEL[1327161362.025655] remove   /class/video4linux (class)
KERNEL[1327161362.026079] remove   /module/videodev (module)
UDEV  [1327161362.026096] remove   /class/video4linux (class)
UDEV  [1327161362.026109] remove   /module/videodev (module)
KERNEL[1327161362.065869] remove   /module/videobuf_vmalloc (module)
UDEV  [1327161362.066283] remove   /module/videobuf_vmalloc (module)
KERNEL[1327161362.105920] remove   /module/videobuf_core (module)
UDEV  [1327161362.106208] remove   /module/videobuf_core (module)
KERNEL[1327161362.145615] remove   /module/tveeprom (module)
UDEV  [1327161362.146275] remove   /module/tveeprom (module)
KERNEL[1327161379.555502] add      /module/tveeprom (module)
UDEV  [1327161379.556183] add      /module/tveeprom (module)
KERNEL[1327161379.558329] add      /module/videobuf_core (module)
UDEV  [1327161379.558711] add      /module/videobuf_core (module)
KERNEL[1327161379.559360] add      /module/videobuf_vmalloc (module)
UDEV  [1327161379.559656] add      /module/videobuf_vmalloc (module)
KERNEL[1327161379.566405] add      /module/videodev (module)
UDEV  [1327161379.566822] add      /module/videodev (module)
KERNEL[1327161379.566935] add      /class/video4linux (class)
UDEV  [1327161379.567348] add      /class/video4linux (class)
KERNEL[1327161379.570083] add      /module/v4l2_common (module)
UDEV  [1327161379.570477] add      /module/v4l2_common (module)
KERNEL[1327161379.575913] add      /module/em28xx (module)
UDEV  [1327161379.576356] add      /module/em28xx (module)
KERNEL[1327161379.576602] add      /bus/usb/drivers/em28xx (drivers)
UDEV  [1327161379.577048] add      /bus/usb/drivers/em28xx (drivers)

udevの設定は、/etc/udevではなく、/lib/udevがメインになるようだ。/etcを探しても一部しか見つからないので、分担しているのだろう。

udevをちょっと覗いてみる。

カレントディレクトリを/lib/udevに移してみて、いろいろと嗅ぎ回ってみる。

yelona:/lib/udev# grep -rni video4linux *
rules.d/70-acl.rules:33:SUBSYSTEM=="video4linux", TAG+="udev-acl"
rules.d/60-persistent-v4l.rules:4:SUBSYSTEM!="video4linux", GOTO="persistent_v4l_end"
rules.d/91-permissions.rules:55:SUBSYSTEM=="video4linux",			GROUP="video"

今日のところは、これぐらいで、関連urlを貼り付けておきます。(以下どれも閲覧日2012/01/22)

*1 制約条件としては、マイクが単4電池の持続時間に左右されるが、これは予備を用意すれば良いこと

*2 このカーネルは、X201sの無線をカスタマイズしたので2.6.38が必要になり、lxcの関係で、vanilla kernelからカーネルの.configを変更している。


2012-01-10 [長年日記]

_ [Debian] blockdiagがOrderedDictを使うようになったので利用環境を変更

この記事は、 [Debian]blockdiag の続きです。この設定をしてから、blockdiagを久しぶりにupdateしたら、

$ blockdiag -v
Traceback (most recent call last):
  File "/usr/bin/blockdiag", line 5, in 
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2671, in 
    working_set.require(__requires__)
  File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 654, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 552, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: OrderedDict
というエラーが、seqdiagなどでも、出るようになってしまい、困っていました。

Google先生で調べると、リンク先のエントリーで、ordereddictが使われるようになったことを知りました

ということで、なんとか手元で動かすべく、sidからパッケージ rebuild して逃げることにしました。次のメジャーバージョンが上がる時には、これらのパッケージを抜く必要がある気がするので、自分のために記録しておきます。

aptitude install python-allをして、準備をしてから、apt-get source python-ordereddictで、ソースを取ってきて、debuildします。buildした結果をdpkg -iして、無事にblockdiagが動くようになりました。


2011-12-18 [長年日記]

_ synergyで、Debian と Windows のキーボードとマウスを共有する。

普段は、Debianをつかっているのですがお仕事などで、Windowsをつかうこともあります。台数が多いと机の上にキーボードをおくことになり、小型のキーボードを使っても少し邪魔です。

そんなときに、synergy を使うと、キーボードとマウスを Debian と Windows で共用できます。OSは違いますが、マルチスクリーンの気分です。

synergyはクライアントサーバ型であり、Debianだと quicksynergy パッケージを導入すると、GUIで比較的容易に導入できます。もちろん設定ファイルを書く既存のスタイルでもかまいません

一つ注意しないといけないのは、Debian Squeeze に収録されているバージョンは synergy の安定版の 1.3.1 がベースです。windowsにインストールする synergy も安定版の1.3系列を使いましょう。


2011-12-17 [長年日記]

_ ネットワークのインタフェースでの通信量の可視化

iftopというコマンドがある。apt-get install iftopで導入できる。

このプログラムの面白いのは、-m オプションで流れているトラフィックの上限値を決めて、テキストベースではあるが、通信量に応じて棒が伸び縮みするので、現在の通信量がリアルタイムでわかるという点である。

iftopコマンドの画像 scli

apt-get install scliでインストールできる scli というプログラムだと、(https://twitter.com/#!/znz/status/147962604193710080)znzさんが試しているが、topみたいにsnmpの情報がみえるようだ。


2011-12-15 [長年日記]

_ [Linux] nat/conntrack as conntrack-tools

Debian GNU/Linux で、NAT を扱う場面はいろいろある。私のNoteはLXCで複数のインタフェースを扱えるようにするのに、NATを使っている。一般的には、IPv4のアドレスを節約するための NAT、LVS(Linux Virtual Server)で使う、NATなど用途は広い。

本エントリは、netstat-natを補完するものです。conntrack as conntrack-tools について、書いていましたが、

$ cat /proc/net/ip_conntrack
$ cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count
の内容と同じような出力を conntrack コマンドで見ることができます。あと、ぼーっと conntrack -E でテーブルの更新情報をみるのも楽しいかもしれません。
$ cat /proc/sys/net/nf_conntrack_max
65536
この設定は、大規模な同時接続数としては少ない。netfilterのFAQによると、64MBで4096コネクションなので、8GBだと52万コネクションぐらいになる。これはメモリに常駐する管理エリアである。
# conntrack -S
entries   		89      
searched  		1078    
found     		62150   
new       		15991   
invalid   		868     
ignore    		1375    
delete    		22629   
delete_list		10703   
insert    		4066    
insert_failed		0       
drop      		0       
early_drop		0       
icmp_error		865     
expect_new		0       
expect_create		0       
expect_delete		0       
search_restart		0       
# conntrack -C
89
バケツ

別の方法として、起動時にモジュール組み込みでバケツ(ハッシュ領域)の指定ができるようだ。効率はそれなりに良さそうなのだが、再起動せずに変更できるのだろうか。また困ったから、大きくしたい時にサービスを止める必要があるとすると辛いかも。

conntrackd

このdaemonがあれば、コネクショントラックを複製できるので fail over の時間が早くなるのだが、仮想IPの管理を運用がしっかりと握らないといけない。

iptstate

natの内容をtopのような形式で表示してくれるプログラム。いまのコネクション情報を見るのによいが、大規模な環境だと、役立つかなあ。ないよりはあった方が良いけど。ものすごいエントリー数になりそうなので、具体的になにができるだろうか。 iptstateの画像


2011-12-10 [長年日記]

_ nagios-plugin-nrpe の設定のキモとなりそうないくつかの点

nagiosという監視システムがある。わりと老舗の監視システムで、設定を覚えるまでは、ちょいと苦労するかもしれないが、覚えてしまえば、かなり柔軟なことができるシステムである。

もちろん、Debian GNU/Linux にも収録されており、デフォルトでインストールすると、自分自身を監視するデフォルトの設定ができあがっており、そこから設定例をみて自分で拡張することができる。

今回記事を書こうと思ったのは、Google検索上位で NRPE の設定について、いくつか参照をさせていただいた。その中で読者をミスリーディングさせるような記事もあり、NRPEの設定方法について、いくつかのチェックポイントを書いておきたい。

本来は、NagiosとNRPEの関係など詳しく書くべきだか、リモートホストの資源管理nrpeのインストール(http://anabuki.dip.jp/linkstation/nrpe.html)の図を参照していただきたい。

  1. どのサービスからNRPEが起動されるのか確認しよう。

    私の触っている範囲の、CentOSとDebianでは、DaemonでNRPEを上げているパターンなのだが、世の中には、xinetdで、NRPEを上げる作法もあるようだ。xinetd経由だと、 /etc/nagios/nrpe.cfg の allowed_hosts を参照しないようなのである。だから、allowd_hosts=xxx.xxx.xxx.xxx/24という表記をしているが、xinetd 経由だと一見、動いているように見える。

    だが、それだとdaemonに切り替えた時に動かなくて、「相性」の問題にされている節がある。そこで、提案したいのが、ps auxw コマンドなどで、nrpe が起動している時のオプションを確認すること。manなどを確認するとわかるが、-d が daemon モード -i が inetd または xinetd で起動されている。これをみることで allowed_hosts が有効かどうかを確認するのである。

  2. allowed_hostsの書き方

    上記でも書いたが、allowed_hostsには、xxx.xxx.xxx.xxx/24という表記は使えない。ではどのような表記ができるのか。

    forkで子プロセスが生成されて、シグナルを受け付けるなどの一般的な処理があって...
       871                                  /* is this is a blessed machine? */
       872                                  if(allowed_hosts){
       873  
       874                                          if(!is_an_allowed_host(inet_ntoa(nptr->sin_addr))){
       875  
       876                                                 /* log error to syslog facility */
       877                                                 syslog(LOG_ERR,"Host %s is not allowed to talk to us!",inet_ntoa(nptr->sin_addr));
       878  
       879                                                 /* log info to syslog facility */
       880                                                 if(debug==TRUE)
       881                                                         syslog(LOG_DEBUG,"Connection from %s closed.",inet_ntoa(nptr->sin_addr));
       882  
       883                                                 /* close socket prior to exiting */
       884                                                 close(new_sd);
       885  
       886                                                 exit(STATE_OK);
       887                                                 }
       888                                         else{
       889  
       890                                                 /* log info to syslog facility */
       891                                                 if(debug==TRUE)
       892                                                         syslog(LOG_DEBUG,"Host address is in allowed_hosts");
       893                                                 }
       894                                          }
       896  #ifdef HAVE_LIBWRAP
       897  
       898                                  /* Check whether or not connections are allowed from this host */
       899                                  request_init(&req,RQ_DAEMON,"nrpe",RQ_FILE,new_sd,0);
       900                                  fromhost(&req);
       901  
       902                                  if(!hosts_access(&req)){
       903  
       904                                          syslog(LOG_DEBUG,"Connection refused by TCP wrapper");
       905  
       906                                          /* refuse the connection */
       907                                          refuse(&req);
       908                                          close(new_sd);
       909  
       910                                          /* should not be reached */
       911                                          syslog(LOG_ERR,"libwrap refuse() returns!");
       912                                          exit(STATE_CRITICAL);
       913                                          }
       914  #endif
       915  
       916                                  /* handle the client connection */
       917                                  handle_connection(new_sd);
       918  
       919                                  /* log info to syslog facility */
       920                                  if(debug==TRUE)
       921                                          syslog(LOG_DEBUG,"Connection from %s closed.",inet_ntoa(nptr->sin_addr));
       922  
       923                                  /* close socket prior to exiting */
       924                                  close(new_sd);
       925  
       926                                  exit(STATE_OK);
       927                                  }
       928  
       929                          /* first child returns immediately, grandchild is inherited by INIT process -> no zombies.
    .. */
       930                          else
       931                                  exit(STATE_OK);
       932                          }
    
       952  /* checks to see if a given host is allowed to talk to us */
       953  int is_an_allowed_host(char *connecting_host){
       954          char *temp_buffer=NULL;
       955          char *temp_ptr=NULL;
       956          int result=0;
       957          struct hostent *myhost;
       958          char **pptr=NULL;
       959          char *save_connecting_host=NULL;
       960          struct in_addr addr;
       961          
       962          /* make sure we have something */
       963          if(connecting_host==NULL)
       964                  return 0;
       965          if(allowed_hosts==NULL)
       966                  return 1;
       967  
       968          if((temp_buffer=strdup(allowed_hosts))==NULL)
       969                  return 0;
       970          
       971          /* try and match IP addresses first */
       972          for(temp_ptr=strtok(temp_buffer,",");temp_ptr!=NULL;temp_ptr=strtok(NULL,",")){
       973  
       974                  if(!strcmp(connecting_host,temp_ptr)){
       975                          result=1;
       976                          break;
       977                          }
       978                  }
       979  
       980          /* try DNS lookups if needed */
       981          if(result==0){
       982  
       983                  free(temp_buffer);
       984                  if((temp_buffer=strdup(allowed_hosts))==NULL)
       985                          return 0;
       986  
       987                  save_connecting_host=strdup(connecting_host);
       988                  for(temp_ptr=strtok(temp_buffer,",");temp_ptr!=NULL;temp_ptr=strtok(NULL,",")){
       989  
       990                          myhost=gethostbyname(temp_ptr);
       991                          if(myhost!=NULL){
       992  
       993                                  /* check all addresses for the host... */
       994                                  for(pptr=myhost->h_addr_list;*pptr!=NULL;pptr++){
       995                                          memcpy(&addr, *pptr, sizeof(addr));
       996                                          if(!strcmp(save_connecting_host, inet_ntoa(addr))){
       997                                                  result=1;
       998                                                  break;
       999                                                  }
      1000                                          }
      1001                                  }
      1002  
      1003                          if(result==1)
      1004                                  break;
      1005                          }
      1006  
      1007                  strcpy(connecting_host, save_connecting_host);
      1008                  free(save_connecting_host);
      1009                  }
      1010  
      1011          free(temp_buffer);
      1012  
      1013          return result;
      1014          }
    
    ソースコードnrpe.c 2.12の該当する部分である。libwrapのこと、allwed_hostsのチェック方法などがわかる。上記のチェックさえ通れば、FQDNでもいいわけである。

    apt-get source でソースを取ってきて、すぐに調べるといいのではないだろうか。
  3. あと、NRPEがきちんと設定できれば、CentOSだろうがDebianだろうが、相互に監視できる。
以上、簡単にソースコードを調べるだけで、具体的な設定の書き方がわかるので、apt-get source や、Redhat系でも、それに準じるコマンドで、ソースを確認していただきたい。

2011-11-04 コマンドラインからネットワークマネージャを使う [長年日記]

_ [Debian] cnetworkmanager --- コマンドラインからネットワークマネージャを使う。

gdmを上げていても、コンソールに降りてfbtermで作業をしているときに、ネットワーク接続をコマンドラインからしたいことがある。

ネットワークの設定に記述されていることであるが、自分でハマった部分について記録しておく

前提条件ってか実施した環境

  • Debian GNU/Linux StableのSqueezeを利用
  • Gnomeのnetwork-managerを利用している
  • network-managerで有線(eth0)と無線(eth1)を利用している
  • 使っているAPの名前は、仮に'Auto foobar'とする

ハマった点

最初、コマンドラインでcnetworkmanager --activate-connection=system,'Auto foobar',eth1と入力すると、

Traceback (most recent call last):
  File "/usr/bin/cnetworkmanager", line 317, in 
    (svc, conpath, devpath, appath) = options.activate_connection.split(',')
ValueError: need more than 3 values to unpack
とエラーが出て、しばし悩んだのである。だが、エラーの表示をみると、svc,conpath,devpath,appathと4つの引数が...はっ、と思い cnetworkmanager -hでヘルプを参照すると
  --activate-connection=[KIND],ID,[DEV],[APMAC]
                        activate the KIND(user/system) connection ID on device
                        DEV using APMAC.
ということで4つの引数が必要だった。最後の引数は省略可能なので
cnetworkmanager --activate-connection=system,'Auto foobar',eth1,
最後のカンマ重要! で無事動いたのである。

2011-10-30 [長年日記]

_ [Debian] ノートPCで、LXCを運用するときのTIPS

最近のNote PCには無線が付いており、様々な場所でネットワークを利用できるようになっている。しかし世の中で流通しているlxcのブリッジセットアップでは、ノートでLXCを運用する時に便利な状態を紹介していない。そのため快適なLXCライフを過ごすのに情報を探していた。2011/10/31 リンクすべきURLを取り違えていたので更新。

注意点

以下の記事は、lxc-jp メーリングリストの方より教えていただいた、(http://s3hh.wordpress.com/2011/05/17/lxc-containers-on-a-host-with-wireless/)を元にしています。しかしながら、lxc自体の設定は、Debian wikiの記述をベースしており、コンテナの置き場所、管理方法、ブリッジの扱い方、iptables、sysctlコマンドやその意味については知っているモノとして、説明はしません。dnsmasqについても上記の記事で触れられている一部分について、自分用に引用はしますが、これは私が教えを請うためであり、情報を頂いた人へフィードバックをするために書いています。

成果

元記事の内容を理解してセットアップしたので、eth0およびwlan0がdhcpであっても、lxcで作成したコンテナが外界と通信できるようになった。ただしIP masq配下にいるので、ノートPC以外からは、ノートPC内のlxcbr0のネットワークへルーティングするか、ssh proxy などを使うのが良いかもしれない。

また思いつきで検証してないが、IP alias 0:2とかでlxcbr0をつなげるといいのかもとは思いました。

上記の記事のコメント

元記事を読んで、スクリプトを見た時に何をやっているか、コピペで使うのは気持ち悪いので、大まかな動作について確認しておきたい。

lxcbr0
新しく作成するブリッジインターフェースであり、dnsmasqによってlxc用ネットワークを作る。上記の例では192.168.30.*のネットワークであり、IP Masqの先である。
iptables
コネクショントラックを用いて、新しい接続、または関連する接続を通すようにする。
dnsmasq
DHCPサーバであるが、DHCPのパケットが他のネットワークに届いてしまうと、ネットワークが大混乱するのでlxcbr0だけにアドレスを配る。
また、上記の例では192.168.30.*の範囲をDHCPとしているが、固定にしたい場合は、/var/lib/lxc/vm1/configの設定の lxc.network.ipv4 と組み合わせると良いかも知れない。ただ、左記の場合は自分の手でコンテナ内に入り route add default gw xxx.xxx.xxx.xxx などのコマンドでゲートウェイを設定する必要があるかもしれない。そのあたりはnetstat -rnをすれば分かる話なので適宜確認してやってください。
       -z, --bind-interfaces
              On systems which support it, dnsmasq binds the wildcard address, even when it is listening on
              only  some  interfaces.  It  then  discards requests that it shouldn't reply to. This has the
              advantage of working even when interfaces come and go and change address. This option  forces
              dnsmasq  to really bind only the interfaces it is listening on. About the only time when this
              is useful is when running another nameserver (or another instance of  dnsmasq)  on  the  same
              machine.  Setting  this  option also enables multiple instances of dnsmasq which provide DHCP
              service to run in the same machine.
       -a, --listen-address= ipaddr 
              Listen on the given IP address(es). Both --interface  and  --listen-address  options  may  be
              given,  in  which  case  the  set  of  both interfaces and addresses is used. Note that if no
              --interface option is given, but --listen-address is, dnsmasq will not  automatically  listen
              on  the  loopback  interface.  To achieve this, its IP address, 127.0.0.1, must be explicitly
              given as a --listen-address option.
       -I, --except-interface= interface name
              Do not listen on the specified interface. Note that the order of --listen-address --interface
              and  --except-interface  options  does  not matter and that --except-interface options always
              override the others.
       --dhcp-no-override
              Disable re-use of the DHCP servername and filename fields as extra option space. If  it  can,
              dnsmasq  moves  the  boot server and filename information (from dhcp-boot) out of their dedi‐
              cated fields into DHCP options. This make extra  space  available  in  the  DHCP  packet  for
              options  but  can,  rarely, confuse old or broken clients. This flag forces "simple and safe"
              behaviour to avoid problems in such a case.
brctlコマンド
設定時にlxcbr0ができていないと、インターフェースの初期化で失敗するので、brctl show
yelona:~# brctl show
bridge name     bridge id               STP enabled     interfaces
lxcbr0          8000.deb7b0a746f9       no              vethjBak6Q
pan0            8000.000000000000       no
で、確認してから、インタフェースをupすること。もし、ないなら、brctl addbr lxcbr0 で作りましょう

2011-10-15 [長年日記]

_ [tDiary] 日記がアクセスできない件、修復しました。

問題点の切り分けどうしようか。ですが、あれから

  1. 拡張子tdcのファイルでサイズが0や、中身が空っぽいのは削除しました。
  2. lvでは中身が見えているが、utf8のインバリットシーケンスだとか怒られるエントリーがあれば、いちど手元に日記のバックアップを取ってから、中身を見ながら、コピペして「どの部分がインバリットシーケンスを起こしているのか」を確認してから、似たような表現でおきかえていきました。

上記を行いつつ、月単位ごとにtDiaryにアクセスして、データファイルを全部舐めて、動作を確認しました。

全部終了すると、カテゴリのインデックス作成もエラーなく終了するようになっていました。

結論としては

結論としては、新しいtDiaryに移行するときは、日記のバックアップをとって、UTF8への移行や、コメントなどのデータを見直して、移行して、不具合が起きたら、まずはエラーメッセージをみて、コメントか、UTF8のインバリットシーケンスを地道に修正しましょう。これを「すべての日記エントリー」に行うことが肝要です。


2011-10-14 [長年日記]

_ Linuxで中綴じ印刷、解決編

Linuxで中綴じ冊子印刷の続きってか、関連する話です。

篤志家より、psnupで解決できないだろうか。という情報を頂き、試行錯誤した結果を書いておきます。

Debian GNU/Linux squeeze 上で、現時点での私の解決方法

  • dvips -f hoge.dvi | psbook > hoge.ps
  • ps2pdf hoge.ps hoge.pdf
  • evince hoge.pdf
  • evinceで、HP Officejet Pro K8600DNの設定を下記のようにする
    • 両面印刷:自動
    • 2ページ/1枚
    • 用紙サイズ:A3
    • 左綴じ

試行錯誤と、その中から覚えたこと

最初に参考にしたのは、ポストスクリプトプリンタで両面印刷でした。HPLIP+CUPSであっても、印刷周りの概念としては変わらないだろうとの読みでした。

残念なことに、psbook | psnup -2のコンボで、A3両面印刷だけすると、

  1. サイズがA4の半分になる。(A3からすると紙の無駄で、これはもとをLaTeXの用紙A3ににすると、こんどはgv上で表示がおもったとおりにならなかった)
  2. 印刷の表と裏で、天地が逆になる(両面印刷の印刷と給紙の関係か?)
の状態で、何枚か失敗作をつくってしまった。中とじ印刷は最低2枚以上(つまり8ページ)出さないと、本当に思ったとおりになっているかわからないのである。もちろん事前にgvやpdf-viewerで確認はするのだが上記の2点は印刷して初めて分かったのだった。

psutils ではどうするか?

Debianのpsutilsパッケージには、下記のコマンドがある。/var/lib/dpkg/info/psutils.listから抜粋した。

/usr/bin/psbook
/usr/bin/psselect
/usr/bin/pstops
/usr/bin/epsffit
/usr/bin/psnup
/usr/bin/psresize
/usr/bin/fixfmps
/usr/bin/fixmacps
/usr/bin/fixpsditps
/usr/bin/fixpspps
/usr/bin/fixtpps
/usr/bin/fixwfwps
/usr/bin/fixwpps
/usr/bin/fixscribeps
/usr/bin/fixwwps
/usr/bin/fixdlsrps
/usr/bin/extractres
/usr/bin/includeres
/usr/bin/psmerge
/usr/bin/getafm
/usr/bin/showchar
じっくりと時間があれば、これらのコマンドのmanを読んで、実験すると楽しいのかも知れない。ざっとGoggle先生にお伺いをたてると、たぶんpstopsを使えばいいような気もしたが、裏をとって検証する時間が取れそうにないので、psbookでページの並び替えだけして、あとはプリンターに任せることで、今回はやめ。またbatch処理で考える必要が出たら、このエントリーをみて続きを考えればよい。


2011-10-13 [長年日記]

_ 時間を置いてからの読書

一時期もてはやされた、「知的経営」の本を今頃読んでいる。もう10年以上前の話である。

本当に知的経営が世の中に定着しているかを確認するには、このように時間を超えて結果が分かった段階で、確認をしてみるとなかなか、おもしろい。著者がどんなに凄い人でもこちらは後知恵という必殺技があるのだ。

熱狂に惑わされることなく、冷静に読む楽しさ。あなたもどうだろうか。


2011-10-12 [長年日記]

_ Linuxで中綴じ冊子印刷

なにげに調べてみると、簡単に4面の中綴じ冊子印刷をする方法って、パッとでてこないのですね。

(http://jr0bak.homelinux.net/~imai/linux/pamphlet.html)さんは拝見しました。

PDFにしてWindowsのAcrobatで、中綴じ用冊子印刷を指定するのがよさそうな感じがしています。

冊子印刷については、折って冊子になるように用紙の表裏に2ページずつ印刷する-冊子印刷-でみると、ページがどのような順序で割り付くのか分かると思います。

印刷屋さんの気持ちになる

印刷屋さんの気持ちになって考えてみると、印刷物のページ数ってどうやって決まる? 紙を折って確認しよう(http://www.kokuyo.co.jp/yokoku/master/print/02qc.html)という仕組みを考えると16の倍数のページが効率の良い、手間が少ない(コストが安い)ことがわかる。

われわれのようなIT系の人は、データがデジタルであったりすると都合が良いので、紙からデジタルについては、電子書籍を含めて関心があるかと思いますが、逆の方向、デジタルデータから紙の経路もなかなか面白いですね。


2011-10-11 [長年日記]

_ [Debian][Emacs] Markdown記法生活

Markdown記法を使う必要がでてきたので、軽く設定してみました。以下は, Debian GNU/Linux SqueezeのEmacs23での話です。

  1. apt-file update
  2. apt-file search markdown として、関係しそうなパッケージを探します。必要に応じて apt-cache show pkg として確認するのが良いでしょう。
  3. apt-get install emacs-goodies-el markdown html2markdown
$ file `which markdown`
/usr/bin/markdown: a /usr/bin/perl script text executable

Markdownのモードは、 emacs-goodies-el に収録されています、拡張子に合わせて (add-to-list 'auto-mode-alist '("\\.md$" . markdown-mode))のようなelispを適当な所に追加しておいてください。 あとは、 html2markdown で必要なデータを markdown 形式にして取り込んだり、Markdown文法の全訳(http://blog.2310.net/archives/6)を参照して、実際に書かれたmarkdown記法例を見ながら書いていくのが良いでしょう。


2011-10-10 [長年日記]

_ 講談社 人類の知的遺産

講談社の人類の知的遺産は、講談社学術文庫で再録されており、ぼちぼち対応リストができたらと思う

書影が表示できない状態になっていたので、テキストリンクを追加しました。2011-10-15:15:56

# 名称 対応する文庫 メモ
01 人類の知的遺産〈1〉古代イスラエルの思想家(関根 正雄) 古代イスラエルの思想―旧約の預言者たち (講談社学術文庫)(関根 正雄) 古代イスラエルの思想―旧約の預言者たち (講談社学術文庫)(関根 正雄)
02 人類の知的遺産〈2〉ウパニシャッドの哲人 (1980年)(松濤 誠達) 私の技術では探しきれず。学術文庫 ウパニシャッド 著者: 辻直四郎 は関係なさそう?
03 人類の知的遺産〈3〉ゴータマ・ブッダ (1979年)(早島 鏡正) ゴータマ・ブッダ (講談社学術文庫)(早島 鏡正) ゴータマ・ブッダ (講談社学術文庫)(早島 鏡正)
04 人類の知的遺産〈4〉孔子 (1980年)(金谷 治) 孔子 (講談社学術文庫)(金谷 治) 孔子 (講談社学術文庫)(金谷 治)
05 人類の知的遺産〈5〉老子・荘子 (1978年)(森 三樹三郎) 老子・荘子 (講談社学術文庫)(森 三樹三郎) 老子・荘子 (講談社学術文庫)(森 三樹三郎)
06 人類の知的遺産〈6〉墨子 (1978年)(本田 済) 講談社学術文庫には、本田済さんの著作を検索したがなかった。
07 人類の知的遺産〈7〉プラトン(斎藤 忍随) プラトン (講談社学術文庫)(斎藤 忍随) プラトン (講談社学術文庫)(斎藤 忍随)
08 人類の知的遺産〈8〉アリストテレス (1980年)(今道 友信) アリストテレス (講談社学術文庫)(今道 友信) アリストテレス (講談社学術文庫)(今道 友信)
09 人類の知的遺産〈9〉孟子(貝塚 茂樹) 孟 子 (講談社学術文庫)(貝塚 茂樹) 孟 子 (講談社学術文庫)(貝塚 茂樹) 確認できてないけど、同じ書名、著者名で講談社学術文庫より発刊
10 人類の知的遺産〈10〉ヘレニズムの思想家(岩崎 允胤) ヘレニズムの思想家 (講談社学術文庫)(岩崎 允胤) ヘレニズムの思想家 (講談社学術文庫)(岩崎 允胤) 確認できてないけど、同じ書名、著者名で講談社学術文庫より発刊
11 人類の知的遺産〈11〉韓非(貝塚 茂樹) 韓 非 (講談社学術文庫)(貝塚 茂樹) 韓 非 (講談社学術文庫)(貝塚 茂樹) 確認できてないけど、同じ書名、著者名で講談社学術文庫より発刊
12 人類の知的遺産〈12〉イエス・キリスト (1979年)(荒井 献) イエス・キリスト〈上〉三福音書による (講談社学術文庫)(荒井 献) イエス・キリスト〈下〉―その言葉と業 (講談社学術文庫)(荒井 献) イエス・キリスト〈上〉三福音書による (講談社学術文庫)(荒井 献)イエス・キリスト〈下〉―その言葉と業 (講談社学術文庫)(荒井 献) 確認できていない。同じ書名、著者名で講談社学術文庫より発刊、上下巻に分かれているのは分量のためか?
13 人類の知的遺産〈13〉ナーガールジュナ (1980年)(中村 元) 龍樹 (講談社学術文庫)(中村 元) 龍樹 (講談社学術文庫)(中村 元) 頂いたコメントを元に、再確認して見つけました。2011-10-14
14 人類の知的遺産〈14〉ヴァスバンドゥ(三枝 充悳) 世親 (講談社学術文庫)(三枝 充悳) 世親 (講談社学術文庫)(三枝 充悳) 頂いたコメントを元に、再確認して見つけました。2011-10-14
15 人類の知的遺産〈15〉アウグスティヌス (1981年)(宮谷 宣史) アウグスティヌス (講談社学術文庫)(宮谷 宣史) アウグスティヌス (講談社学術文庫)(宮谷 宣史) 確認できていないけど、同じ書名、同じ著者名で講談社学術文庫より発刊
16 人類の知的遺産〈16〉ダルマ (1981年)(柳田 聖山) ダルマ (講談社学術文庫)(柳田 聖山) ダルマ (講談社学術文庫)(柳田 聖山) 確認できていないけど、同じ書名、同じ著者名で講談社学術文庫より発刊
17 人類の知的遺産〈17〉マホメット(牧野 信也) 講談社学術文庫では、同じ書名はなかった。同じ著者名で「イスラームとコーラン」はあったが、たぶん内容は違うのではないか。
18 人類の知的遺産〈18〉善導(藤田 宏達) 講談社学術文庫では、同じ著者が、別名で本をだしているが、たぶん内容は違う。
19 人類の知的遺産〈19〉朱子 (1979年)(三浦 国雄) 講談社学術文庫から同じ著者で「「朱子語類」抄」がでているが多分違う。
20 人類の知的遺産〈20〉トマス・アクィナス (1979年)(稲垣 良典) トマス・アクィナス (講談社学術文庫)(稲垣 良典) トマス・アクィナス (講談社学術文庫)(稲垣 良典) amazonのコメントで確認
21 人類の知的遺産〈21〉マイスター・エックハルト(上田 閑照) エックハルト―異端と正統の間で (講談社学術文庫)(上田 閑照) エックハルト―異端と正統の間で (講談社学術文庫)(上田 閑照) 確認できていないけど、同じ書名、同じ著者名で講談社学術文庫より発刊
22 人類の知的遺産〈22〉イブン=ハルドゥーン (1980年)(森本 公誠) イブン=ハルドゥーン (講談社学術文庫)(森本 公誠) イブン=ハルドゥーン (講談社学術文庫)(森本 公誠) 確認できてないけど、同じ書名、同じ著者名で講談社学術文庫より発刊
23 人類の知的遺産〈23〉エラスムス(二宮 敬) 講談社学術文庫に、この著者の出版はない。
24 人類の知的遺産〈24〉マキアヴェッリ (1978年)(佐々木 毅) マキアヴェッリと『君主論』 (講談社学術文庫 (1109))(佐々木 毅) マキアヴェッリと『君主論』 (講談社学術文庫 (1109))(佐々木 毅) amazon.co.jpのなか見検索で、序文を検索し確認した。
25 人類の知的遺産〈25〉王陽明 (1979年)(大西 晴隆) 講談社学術文庫には、この著者の本は検索してもなかった。
26 人類の知的遺産 (26) ルター(今井 晋) 講談社学術文庫には、この著者の本は検索してもなかった。
27 人類の知的遺産〈27〉イグナティウス・デ・ロヨラ(垣花 秀武) この著者名は、発見できたが、書名に関連するようなタイトルではなかった。
28 人類の知的遺産〈28〉カルヴァン (1980年)(久米 あつみ) 講談社学術文庫には、この著者の本は検索してもなかった。
29 人類の知的遺産 (29) モンテーニュ(荒木 昭太郎) 講談社学術文庫には、この著者の本は検索してもなかった。
30 人類の知的遺産〈30〉ベーコン (1981年)(坂本 賢三) 講談社学術文庫には、この著者の本は検索してもなかった。
31 人類の知的遺産〈31〉ガリレオ(伊東 俊太郎) 講談社学術文庫に、この書名では存在しなかった。十二世紀ルネサンス (講談社学術文庫)(伊東 俊太郎)はたぶん違う。
32 人類の知的遺産〈32〉デカルト (1981年)(所 雄章) 講談社学術文庫に、この著者名で検索をかけたがなかった。
33 人類の知的遺産〈33〉黄宗義(山井 湧) 講談社学術文庫に、この著者名で検索をかけたがなかった。
34 人類の知的遺産〈34〉パスカル (1981年)(伊藤 勝彦) この著者名で、講談社学術文庫を検索したら、「愛の思想史」がでてきたが、違うだろうなあ。
35 人類の知的遺産〈35〉スピノザ (1979年)(工藤 喜作) 講談社学術文庫で、著者の名前を検索するも、該当なしとのこと。
36 人類の知的遺産〈36〉ロック(野田 又夫) 講談社学術文庫で、著者の名前を検索するも、該当なしとのこと。
37 人類の知的遺産〈37〉ニュートン(荻原 明男) 講談社学術文庫で、著者の名前を検索するも、該当なしとのこと。
38 人類の知的遺産〈38〉ライプニッツ (1981年)(増永 洋三) 講談社学術文庫で、著者の名前を検索するも、該当なしとのこと。
39 人類の知的遺産〈39〉モンテスキュー(古賀 英三郎) 講談社学術文庫で、著者の名前を検索するも、該当なしとのこと。
40 人類の知的遺産 (40) ルソー(福田 歓一) 講談社学術文庫で、著者の名前で検索するも、該当なしとのこと。
41 人類の知的遺産〈41〉ディドロ(中川 久定) 講談社学術文庫で、著者の名前で検索するも、該当なしとのこと。
42 人類の知的遺産〈42〉アダム・スミス (1979年)(大河内 一男) 講談社学術文庫で、著者の名前で検索するも、該当なしとのこと。
43 人類の知的遺産〈43〉カント (1979年)(坂部 恵) カント (講談社学術文庫)(坂部 恵) カント (講談社学術文庫)(坂部 恵) コメントでのご指摘を受けて、再調査して見つけました。ありがとうございます。2011-10-14
44 人類の知的遺産〈44〉ベンサム(永井 義雄) 講談社学術文庫で、著者の名前で検索するも、該当なしとのこと。
45 人類の知的遺産〈45〉ゲーテ(手塚 富雄) 講談社学術文庫で、著者の名前で検索するも、該当なしとのこと。
46 人類の知的遺産〈46〉ヘーゲル (1980年)(城塚 登) ヘーゲル (講談社学術文庫)(城塚 登) ヘーゲル (講談社学術文庫)(城塚 登) 確認はできてないが、講談社学術文庫で、書名と著者名が同じ
47 人類の知的遺産〈47〉ダーウィン(筑波 常治) 講談社学術文庫で、著者の名前で検索するも、該当なしとのこと。
48 人類の知的遺産〈48〉キルケゴール (1979年)(小川 圭治) 講談社学術文庫で、著者の名前で検索するも、該当なしとのこと。
49 人類の知的遺産〈49〉バクーニン (1979年)(勝田 吉太郎) 講談社学術文庫で、著者の名前で検索するも、該当なしとのこと。
50 人類の知的遺産〈50〉マルクス(都留 重人) 講談社学術文庫で、この著者では、同じ書名の本は該当がなかった。
51 人類の知的遺産〈51〉ドストエフスキー (1978年)(内村 剛介) 講談社学術文庫で、この著者のこの書名では該当がなかった。
52 人類の知的遺産〈52〉トルストイ(川端 香男里) 講談社学術文庫では、この著者のこの書名では該当がなかった。
53 人類の知的遺産〈53〉ラーマクリシュナ(奈良 康明) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
54 人類の知的遺産〈54〉ニーチェ (1978年)(山崎 庸佑) ニーチェ (講談社学術文庫 (1210))(山崎 庸佑) ニーチェ (講談社学術文庫 (1210))(山崎 庸佑) 講談社学術文庫で、同じ書名、同じ著者名
55 人類の知的遺産〈55〉ケア・ハーディ (1980年)(小川 喜一) 講談社学術文庫で、この著者で検索するも、該当なしとのこと。
56 人類の知的遺産〈56〉フロイト (1978年)(小此木 啓吾) 講談社学術文庫からは、現代の精神分析 (講談社学術文庫)(小此木 啓吾) がでているが、ちょっと新しすぎるので違うのではないか。
57 人類の知的遺産 (57) デュルケーム(作田 啓一) 講談社学術文庫で、この著者で検索するも、該当なしとのこと。
58 人類の知的遺産〈58〉フッサール(田島 節夫) フッサール (講談社学術文庫)(田島 節夫) フッサール (講談社学術文庫)(田島 節夫) 講談社学術文庫で、同じ書名、同じ著者名
59 人類の知的遺産〈59〉ベルクソン(市川 浩) ベルクソン (講談社学術文庫)(市川 浩) ベルクソン (講談社学術文庫)(市川 浩) 講談社学術文庫で、同じ書名、同じ著者名
60 人類の知的遺産〈60〉デューイ(鶴見 俊輔) 講談社学術文庫では、この著者は、同じ書名で著作をだしていない。
61 人類の知的遺産〈61〉タゴール (1981年)(我妻 和男) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
62 人類の知的遺産〈62〉マックス・ウェーバー (1979年)(安藤 英治) マックス・ウェーバー (講談社学術文庫)(安藤 英治) マックス・ウェーバー (講談社学術文庫)(安藤 英治) 講談社文庫で、同じ書名、同じ著者名
63 人類の知的遺産〈63〉孫文(堀川 哲男) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
64 人類の知的遺産〈64〉ガンディー (1981年)(森本 達雄) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
65 人類の知的遺産〈65〉レーニン (1980年)(倉持 俊一) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
66 人類の知的遺産〈66〉ラッセル (1980年)(市井 三郎) 講談社学術文庫では、この著者で検索しても、この書名では該当はない。
67 人類の知的遺産〈67〉トロツキー(菊地 昌典) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
68 人類の知的遺産〈68〉アインシュタイン(矢野 健太郎) 講談社学術文庫では、この著者で検索しても、該当の書名はない。
69 人類の知的遺産〈69〉魯迅 (1980年)(飯倉 照平) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
70 人類の知的遺産〈70〉ケインズ(伊東 光晴) ケインズ (講談社学術文庫)(伊東 光晴) ケインズ (講談社学術文庫)(伊東 光晴) 講談社学術文庫で同じ著者で同じ書名
71 人類の知的遺産〈71〉ヤスパース(重田 英世) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
72 人類の知的遺産 (72) バルト(大木 英夫) 講談社学術文庫では、この著者で検索も、該当なしとのこと。
73 人類の知的遺産〈73〉ウィトゲンシュタイン (1981年)(藤本 隆志) ウィトゲンシュタイン (講談社学術文庫 (1323))(藤本 隆志) ウィトゲンシュタイン (講談社学術文庫 (1323))(藤本 隆志) 講談社学術文庫で、同じ著者名で同じ書名。
74 人類の知的遺産〈74〉トインビー (1978年)(山本 新) 講談社学術文庫では、この著者で検索するも、この書名では該当はない。
75 人類の知的遺産〈75〉ハイデッガー(茅野 良男) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
76 人類の知的遺産〈76〉毛沢東 (1978年)(野村 浩一) 講談社学術文庫で、この著者で検索するも、該当なしとのこと。
77 人類の知的遺産 (77) サルトル(加藤 周一) 講談社学術文庫で、この著者で検索するも、この書名は該当なしとのこと
78 人類の知的遺産〈78〉フランツ・ファノン(海老坂 武) 講談社学術文庫では、この著者で検索するも、該当なしとのこと。
79 人類の知的遺産〈79〉現代の社会科学者―現代社会科学における実証主義と理念主義(富永 健一) 現代の社会科学者―現代社会科学における実証主義と理念主義 (講談社学術文庫)(富永 健一) 現代の社会科学者―現代社会科学における実証主義と理念主義 (講談社学術文庫)(富永 健一) 講談社学術文庫で、同じ著者名、同じ書名
80 人類の知的遺産 (80) 現代の自然科学者(里深 文彦) 講談社学術文庫で、この著者で検索するも該当なしとのこと。
本日のツッコミ(全2件) [ツッコミを入れる]

_ ぽんた [『ナーガールジュナ』は『龍樹』に『ヴァスバンドゥ』は『世親』にタイトル変更して収録されています。あと、『カント』もあ..]

_ yabuki [ご指摘ありがとうございます。アドバイスを受けた部分について、再調査して反映させていただきました。これからもご支援、ご..]


2011-10-09 [長年日記]

_ 同窓会っぽいもの

Vancouverいっていたタイミングで、日本での携帯や住所などは途切れてしまい、同窓会っぽいものとは無縁な生活をしていましたが、たまたま営業まわりをしている時に同窓生にあって、同窓会っぽいものに呼んでもらいました。

たしかに、懐かしいが、わからない顔がちらほら...うーん時間とは残酷なとおもってたら、

なんのことはない、純粋な同窓会でなく、そのときに仲の良かった人が友人を連れてきていたりと「縁」のある人がきているパターンでした。

子どもの話を聞いたら、子どもが、親と同じ高校に入学したとか、そりゃ時の流れも感じるわ。


2011-08-15 [長年日記]

_ [Debian][Java] You can change L&F(look and feel)s with swing.

2009 情財第 517 号 「アプリケーション実行基盤としての OpenJDK の評価 調査報告書」から状況は変化し、Debian GNU/Linux Squeeze において、nimbus は利用できるようになっている。

(http://www.02.246.ne.jp/~torutk/javahow2/swing.html)の「ルックアンドフィール切替テストプログラム」を Debian GNU/Linux squeeze で動かしている Eclipse で、実行した所下記のように表示された。

OpenJDKであっても、Swingでつくった場合、下記のような Look and Feel が選択できる。

名称 画像 メモ
Metal metal これまでの Swing の Look and Feel
Nimbus nimbus 新しく選択できる Swing の Look and Feel 透過など利用でき、Metal よりも洗練された雰囲気が出る。
CDE/Motif CDE/Motif 一昔前の Look and Feel だが、いまでも利用している所もある
GTK+ GTK+ Linux ユーザにはなじみがある Look and Feel

2011-08-14 [長年日記]

_ LILO Monthly Seminar にいってきた。

2011年8月度 LILO Monthly Seminar(http://lilo.linux.or.jp/wiki/lms/20110814)に参加してきた。

わたしが到着したときには、自己紹介タイムになっており、こう皆さん流行のガジェットが出てきて変わらないなあという感じ。大浦さんにもお久しぶりにお会いした。なんか次回、LMSがあるときにはネタがあるようです。楽しみですね。


2011-08-13 [長年日記]

_ Travis CI

kiyokaさんの所で、Travis CI の話 [Ruby] Travis CIを使ってみた(http://oldtype.sumibi.org/show-page/kiyoka.2011_08_13)が出ていたのでメモ。設定とかは、(http://dai.tumblr.com/post/3345578195/travis-distributed-ci-for-the-ruby-community-using)このへん?

buildとテストを連続して行うCIを、githubで大々的に使えることをデモするのは賢いなあ。ソースを出したくない人は実験済のサービスを導入すればいいんだし。


2011-08-12 [長年日記]

_ [Ruby] autoload

遅延評価? 遅延束縛? --- 実際に使うまで、評価しないメリットで起動が速くなるぐらいなのかしら? たぶん何かテクニックがあるんだろうなあ


2011-08-11 [長年日記]

_ [Debian] Debian GNU/Linux Squeeze 時代における 「wii リモコンを使う」

この記事は、2007年03月30日の記事 Debian Etch で wiiリモコンを使う を、今の時点に更新したものです。

もはや、wiiリモコンも一般的になりました。最近は、Kinect(http://www.xbox.com/ja-JP/kinect)を、Linuxで使う話もあり、世につれて流行のデバイスは変わったりします。

さて、Debian GNU/Linux Squeeze では、もはや wii リモコンを扱う wminput やライブラリも整備され、あとはどんな面白いアイディアを形にするのかという状況です。

例えば、WiiRemoteをUbuntuで使う(bluetoothGPSも並用)のように、GPSナビを動かすのに、wii リモコンを使うアイデアなどです。

上記は、ubuntuの記事ですが、Debian GNU/Linux squeeze でも同じです。

  1. $sudo apt-get install wmgui wminput
  2. $sudo modprob uinput
  3. $sudo wminput -c ir_ptr
  4. 上記のあと、wii リモコンの1,2ボタンを同時に押下して認識させます。
  5. key binding は上の記事をみながらお好きなように。

今のところ、わたしが認識している問題点

usb bluetooth adaptor のためかどうかは分からないが、BlueTooth Headset と併用すると、ヘッドセット(Motorola S9)の方が音が出なくなる。個人的には転送速度がおいついてないような感じですが原因は掴めていません。


2011-08-09 [長年日記]

_ [tDiary] 問題点の切り分けどうしようか。

tDiary 3.0 系にプログラムを変更して、ぼちぼちと移行している。この tDiary の 2006年05月の日記の状態が何を直すべきか切り分けを考えないといけない。

  1. ./200605.htmlにはアクセスできる。一応、2006年5月度のコンテンツにはアクセスできる。
  2. ./20060501.htmlにアクセスするとエラー(下記参照)がでる。
  3. tDiaryのデータがぶっ壊れたのかと思い、data/2006/200605.td2を mv して新規にエントリーをポストしようとしたが、やっぱりエラーがでる。ということでデータが空でも発生するのでデータフォーマットのせいじゃないみたい。
  4. 念のため、カレンダー系のプラグインは全部切ってみたが症状は改善しない。
500 Internal Server Error
 
bad date (TDiary::TDiaryError)
 
/home/yabuki/public_html/diary/tdiary.rb:1907:in `rescue in initialize'
/home/yabuki/public_html/diary/tdiary.rb:1894:in `initialize'
(plugin/00default.rb):243:in `new'
(plugin/00default.rb):243:in `block in calc_links'
(plugin/00default.rb):238:in `each'
(plugin/00default.rb):238:in `calc_links'
(plugin/00default.rb):205:in `block (2 levels) in load_plugin'
/home/yabuki/public_html/diary/tdiary.rb:797:in `call'
/home/yabuki/public_html/diary/tdiary.rb:797:in `block in header_proc'
/home/yabuki/public_html/diary/tdiary.rb:796:in `each'
/home/yabuki/public_html/diary/tdiary.rb:796:in `header_proc'
(TDiary::Plugin#eval_src):5:in `block in eval_src'
/home/yabuki/public_html/diary/tdiary.rb:785:in `eval'
/home/yabuki/public_html/diary/tdiary.rb:785:in `block in eval_src'
/home/yabuki/public_html/diary/tdiary.rb:112:in `block in safe'

これまでは、update.rbで、~などを直して、UTF-8のエラーをなおしたり、カテゴリーが認識されるようにしたりしてたけど、そんなレベルじゃないな。 tDiary の ML か掲示板などで相談する方がいいかも知れない。


2011-08-08 [長年日記]


2011-08-05 [長年日記]

_ pmap

    procps: /usr/bin/pmap
    procps: /usr/share/man/man1/pmap.1.gz
  
bashのプロセスで利用しているメモリーマップ。見ているだけで色々と疑問点が出てくる。 何かで似たような出力結果を見たような気がするが、ちょっと思い出せないな。ライブラリ 関係のコマンドだったような。
$ pmap -x 2965
2965:   /bin/bash
Address   Kbytes     RSS   Dirty Mode   Mapping
08048000       0     600       0 r-x--  bash
0810a000       0      20      20 rw---  bash
0810f000       0      20      20 rw---    [ anon ]
09124000       0    1980    1980 rw---    [ anon ]
b73a1000       0      12       0 r-x--  libnss_files-2.11.2.so
b73ab000       0       0       0 r----  libnss_files-2.11.2.so
b73ac000       0       0       0 rw---  libnss_files-2.11.2.so
b73ad000       0      16       0 r-x--  libnss_nis-2.11.2.so
b73b5000       0       0       0 r----  libnss_nis-2.11.2.so
b73b6000       0       0       0 rw---  libnss_nis-2.11.2.so
b73b7000       0      20       0 r-x--  libnsl-2.11.2.so
b73ca000       0       0       0 r----  libnsl-2.11.2.so
b73cb000       0       0       0 rw---  libnsl-2.11.2.so
b73cc000       0       0       0 rw---    [ anon ]
b73ce000       0      16       0 r-x--  libnss_compat-2.11.2.so
b73d4000       0       0       0 r----  libnss_compat-2.11.2.so
b73d5000       0       0       0 rw---  libnss_compat-2.11.2.so
b73d6000       0      48       0 r----  locale-archive
b74c5000       0       8       0 r----  locale-archive
b76c5000       0       4       4 rw---    [ anon ]
b76c6000       0     488       0 r-x--  libc-2.11.2.so
b7806000       0       4       4 r----  libc-2.11.2.so
b7808000       0       4       4 rw---  libc-2.11.2.so
b7809000       0      12      12 rw---    [ anon ]
b780d000       0       8       0 r-x--  libdl-2.11.2.so
b780f000       0       4       4 r----  libdl-2.11.2.so
b7810000       0       0       0 rw---  libdl-2.11.2.so
b7811000       0      68       0 r-x--  libncurses.so.5.7
b7848000       0       8       8 rw---  libncurses.so.5.7
b785f000       0       0       0 r----  bash.mo
b7861000       0      20       0 r--s-  gconv-modules.cache
b7868000       0       4       4 rw---    [ anon ]
b786a000       0       4       0 r-x--    [ anon ]
b786b000       0     100       0 r-x--  ld-2.11.2.so
b7886000       0       4       4 r----  ld-2.11.2.so
b7887000       0       4       4 rw---  ld-2.11.2.so
bfb9f000       0      20      20 rw---    [ stack ]
-------- ------- ------- ------- -------
total kB    9252       -       -       -
$ pmap -d 2965
2965:   /bin/bash
Address   Kbytes Mode  Offset           Device    Mapping
08048000     776 r-x-- 0000000000000000 0fe:00001 bash
0810a000      20 rw--- 00000000000c1000 0fe:00001 bash
0810f000      20 rw--- 0000000000000000 000:00000   [ anon ]
09124000    3364 rw--- 0000000000000000 000:00000   [ anon ]
b73a1000      40 r-x-- 0000000000000000 0fe:00001 libnss_files-2.11.2.so
b73ab000       4 r---- 0000000000009000 0fe:00001 libnss_files-2.11.2.so
b73ac000       4 rw--- 000000000000a000 0fe:00001 libnss_files-2.11.2.so
b73ad000      32 r-x-- 0000000000000000 0fe:00001 libnss_nis-2.11.2.so
b73b5000       4 r---- 0000000000008000 0fe:00001 libnss_nis-2.11.2.so
b73b6000       4 rw--- 0000000000009000 0fe:00001 libnss_nis-2.11.2.so
b73b7000      76 r-x-- 0000000000000000 0fe:00001 libnsl-2.11.2.so
b73ca000       4 r---- 0000000000012000 0fe:00001 libnsl-2.11.2.so
b73cb000       4 rw--- 0000000000013000 0fe:00001 libnsl-2.11.2.so
b73cc000       8 rw--- 0000000000000000 000:00000   [ anon ]
b73ce000      24 r-x-- 0000000000000000 0fe:00001 libnss_compat-2.11.2.so
b73d4000       4 r---- 0000000000006000 0fe:00001 libnss_compat-2.11.2.so
b73d5000       4 rw--- 0000000000007000 0fe:00001 libnss_compat-2.11.2.so
b73d6000     956 r---- 00000000048a7000 0fe:00001 locale-archive
b74c5000    2048 r---- 0000000000000000 0fe:00001 locale-archive
b76c5000       4 rw--- 0000000000000000 000:00000   [ anon ]
b76c6000    1280 r-x-- 0000000000000000 0fe:00001 libc-2.11.2.so
b7806000       8 r---- 000000000013f000 0fe:00001 libc-2.11.2.so
b7808000       4 rw--- 0000000000141000 0fe:00001 libc-2.11.2.so
b7809000      16 rw--- 0000000000000000 000:00000   [ anon ]
b780d000       8 r-x-- 0000000000000000 0fe:00001 libdl-2.11.2.so
b780f000       4 r---- 0000000000001000 0fe:00001 libdl-2.11.2.so
b7810000       4 rw--- 0000000000002000 0fe:00001 libdl-2.11.2.so
b7811000     220 r-x-- 0000000000000000 0fe:00001 libncurses.so.5.7
b7848000      12 rw--- 0000000000036000 0fe:00001 libncurses.so.5.7
b785f000       8 r---- 0000000000000000 0fe:00001 bash.mo
b7861000      28 r--s- 0000000000000000 0fe:00001 gconv-modules.cache
b7868000       8 rw--- 0000000000000000 000:00000   [ anon ]
b786a000       4 r-x-- 0000000000000000 000:00000   [ anon ]
b786b000     108 r-x-- 0000000000000000 0fe:00001 ld-2.11.2.so
b7886000       4 r---- 000000000001a000 0fe:00001 ld-2.11.2.so
b7887000       4 rw--- 000000000001b000 0fe:00001 ld-2.11.2.so
bfb9f000     132 rw--- 0000000000000000 000:00000   [ stack ]
mapped: 9252K    writeable/private: 3612K    shared: 28K

_ rpcinfo

$ dpkg -S rpcinfo
libc-bin: /usr/share/man/man8/rpcinfo.8.gz
manpages-ja: /usr/share/man/ja/man8/rpcinfo.8.gz
libc-bin: /usr/bin/rpcinfo
nmap: /usr/share/nmap/scripts/rpcinfo.nse
$ dpkg -S pmap_dump
portmap: /usr/share/man/man8/pmap_dump.8.gz
portmap: /sbin/pmap_dump
$ rpcinfo -p localhost
   プログラム バージョン プロトコル ポート
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  44486  status
    100024    1   tcp  34125  status
$ sudo pmap_dump
[sudo] password for yabuki: 
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  44486  status
    100024    1   tcp  34125  status

_ TCP/UDPのサービス名対応は

/etc/serivces をそのまま見るもよし getent や grep を使うのも良いかと。


2011-08-04 [長年日記]

_ [] 本の保護

自分で買った本で、使い込んでくるとやっぱりヨレてくる。図書館のようにカバーがついていれば、少しはマシになるかと思い、ちょっくら調べてみた。


2011-08-03 [長年日記]

_ [wireless] OFDMとは、Orthogonal Frequency Division Multiplexingの略

OFDM とは・・・で、Wifiの基礎を。


2011-08-02 [長年日記]

_ 存続時間を予測する(a.k.a 寿命のフェルミ推定)

後から思い出せるようにプログラムの形で。

jruby --1.9 -e 'require "date"; a = (c = Date.strptime("2011-08-02","%Y-%m-%d")) - Date.strptime("2007-01-25", "%Y-%m-%d");;print "Gottの法則\n信頼区間50%\n"; p c+(a/3);p c+(a*3); print "信頼区間60%\n"; p c+(a/4);p c+(a*4);print "信頼区間95%\n";p c+(a/39);p c+(a*39)'

2011-07-28 [長年日記]

_ [English] 日本語話者がやってしまう、5つのありがちな間違い

Five Common English Mistakes Made by Japanese Speakers


2011-07-09 [長年日記]

_ CPUのクロックが早くなると、black magicanの登場らしい。

コンピュータアーキテクチャの話 --- プロセサのインフラを理解する - 電源やクロック系の設計は黒魔術(http://journal.mycom.co.jp/column/architecture/232/index.html )

プロセサのクロックがGHzを超える高速になってくると、実は、電源系やクロック系の設計は非常に難しいのであるが、これらをどのように設計すれば良いのか分かっている設計者はあまり多くない。(中略) このように、電源系やクロック系の設計はマイクロアーキテクチャや論理設計に比べて、経験がものを言う部分が多く、技術を知らない人には魔法である。