logo
 2003年   2004年   2005年   2006年   2007年   2008年   2009年   2010年   2011年   2012年   2013年   2014年   2015年   2016年 
 9月 
 10月 
 11月 
 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月 9月 
 4月 10月 
 5月 11月 
 6月 12月 
 1月 7月 
 2月 8月 
 3月
 4月
 5月
 6月
アイコンの説明
code:Haemophilus influenzae
ここに書かれていることは無保証です。同じことを行って問題が発生しても、龍義は責任をとりません。

■ 9月1日OtherElectric

道を走っていたら、前を走っている車のストップランプが気になる。 LED のストップランプだったのだけど、20個ほど付いている LED の中で1つ切れている。 左右対称になっていないので、違反は違反だろうけど、同じように反対側の LED を潰してしまえば、法規的に問題ないのだろうか。
調べてみると、面積が 15cm^2 あって、300m 離れたところから視認できれば問題ないみたい。 そうすると、値段が高そうな LED のストップランプユニットを付けずに、反対側の LED を潰す方が対処法としてはお金が掛からず手っ取り早いか。

■ 9月2日Other

ジャパンネット銀行から RSA トークンがやってきた。

RSA トークン

前回というか現在使っている RSA トークンと比較してみる。

RSA トークン比較

全く同じで面白くない。 使用期限は2021年11月30日になっていて、今のが2016年11月30日になっている。 電池の使用期限は5年なのかな。 シリアル番号も変わっているので、全く新しいものがきたことになる。
さて、古いのはどうしよう。 分解しようと思ったが、電池がいつまで持つのか試してみることに。

■ 9月3日WWW

Queen の歌詞で気になったことがあったので Google で検索してみると、まさかの Google が答えてくれた。

Google 歌詞 応答

これって JASRAC 辺りが何か言ってきそうな気がするけど。 大丈夫なのかな。

■ 9月4日Windows

Windows 7 の PC に対してリモートデスクトップで入りたい。 しかし、ユーザのパスワードが付けられていないようで、リモートデスクトップ経由でログインできない。 パスワード無しでログインできる PC もあるので、どこか設定を変えればログインできそうな気がするので、ユーザの設定を見るも見つからず。 仕方なく web で調べることに。

わかったことは、コントロールパネルの「ユーザーアカウントと家族のための安全設定」から変更するのではなく、「システムとセキュリティ」から変更すること。 忘れそうなので、ここにメモしておく。

コントロールパネル

「システムとセキュリティ」から「管理ツール」を。

システムとセキュリティ

「管理ツール」から「ローカルセキュリティポリシー」を。

管理ツール

「ローカルセキュリティポリシー」の左側で「ローカルポリシー」を開く。

ローカルセキュリティポリシー

右側で「セキュリティオプション」を開く。

ローカルポリシー

「アカウント: ローカルアカウントの空のパスワードを使用をコンソール...」を開く。

セキュリティオプション

「アカウント: ローカルアカウントの空のパスワードを使用をコンソールログオンのみに制限する」のオプションを「無効」にする。

アカウント: ローカルアカウントの空のパスワードを使用をコンソール...

これでリモートデスクトップでもパスワードなしでログインできる。 それにしても、こんなに深いところにオプションがあるなんて、とても見つけられない。

■ 9月5日Linux

linux の環境で rsync を使いバックアップを取ろうと思ったのだけど、どうもディレクトリ名の指定が変な感じ。 cp -r の場合だとこんな感じになる。

[root@takodana /]# cd /tmp [root@takodana tmp]# mkdir dir0 [root@takodana tmp]# touch dir0/file0 [root@takodana tmp]# cp -r dir0 dir1 [root@takodana tmp]# cp -r dir0 dir2/ [root@takodana tmp]# cp -r dir0/ dir3 [root@takodana tmp]# cp -r dir0/ dir4/ [root@takodana tmp]# find ./dir? ./dir0 ./dir0/file0 ./dir1 ./dir1/file0 ./dir2 ./dir2/file0 ./dir3 ./dir3/file0 ./dir4 ./dir4/file0

同じことを rsync -a でやってみる。

[root@takodana tmp]# mkdir rsyncdir0 [root@takodana tmp]# touch rsyncdir0/file0 [root@takodana tmp]# rsync -a rsyncdir0 rsyncdir1 [root@takodana tmp]# rsync -a rsyncdir0 rsyncdir2/ [root@takodana tmp]# rsync -a rsyncdir0/ rsyncdir3 [root@takodana tmp]# rsync -a rsyncdir0/ rsyncdir4/ [root@takodana tmp]# find ./rsyncdir? ./rsyncdir0 ./rsyncdir0/file0 ./rsyncdir1 ./rsyncdir1/rsyncdir0 ./rsyncdir1/rsyncdir0/file0 ./rsyncdir2 ./rsyncdir2/rsyncdir0 ./rsyncdir2/rsyncdir0/file0 ./rsyncdir3 ./rsyncdir3/file0 ./rsyncdir4 ./rsyncdir4/file0

と言う感じで。 仕様だと思うし、そんな使い方もあるのだろうから間違っているとは思わないけど、変な感じがするのと間違ってしまうのと。 気を付けないと。

■ 9月6日WWW

html を書いていて textarea タグを使っていた。 この textarea タグの行数を指定する rows 属性を CSS で指定しようとしたのだけど、どうもそれらしきものが見つからない。 さらに、rows は必須属性だとかで。
textarea タグで描かれる領域の大きさについては CSS で width, height で指定できるが、それだと行の途中のサイズになってあまり美しくない。 CSS で行で指定するには、font-size と line-height で計算しないといけないみたい。 面倒だな。

■ 9月7日Other

久しぶりに自動車用品屋に行くと、見慣れない高さのエンジンオイルが積んであった。 高さというのは値段じゃなくて、物理的な容器のこと。 エンジンオイルは1リットルの丸い缶か4リットルの四角い缶、あとあまり一般人には関係ないけど20リットルのペール缶ぐらいの容量でしか売ってなかった。 ここにきて4リットルと幅と奥行きは同じで高さだけ短い3リットルのエンジンオイルが、かなりラインナップとして揃えられている。 確かに交換量が2.8リットルとかの場合、1リットルを3本買うよりも4リットルを買う方が安いので、4リットル缶で買って残った1.2リットルは次回に、なんてことをした記憶がある。 3リットルというのは、微妙にありがたい量かもしれない。 でも0.2リットルとか余ったら、貧乏性なので結局取っておきそう。

■ 9月8日WWW

web サーバとのやりとりを見ていたら、web サーバが見慣れない http ヘッダを返していた。
x-powered-by: PleskLin
何だろうと調べてみたら、Plesk が出しているものらしく。 Plesk の名前と役割はなんとなく知っているが、そこそこの規模の商用サイトで使うのは当たり前の世界なんだろうか。 100歩譲って Plesk を使ったとしても、それを知らしめなくても良いと思うのだけど。 なんとなく「詳しくない人が設定しました」と宣伝しているイメージになってしまう。

■ 9月9日Windows

Windows でファイルのコピーをしていて。 コピーしたは良いが、いつコピーしたものなのかを知りたい。 Explorer でプロパティを出すと、作成時間というのがわかる。 これを使えば良いのだけど、ファイルがたくさんあるので、1つ1つ表示するわけにもいかない。 Cygwin の ls で出せるかと思ってみてみたけど、どうもそんなオプションがない。 どうしたものかと考えて、コマンドプロンプトから dir のオプションを見てみた。

C:\>dir /? ディレクトリ中のファイルとサブディレクトリを一覧表示します。 DIR [ドライブ:][パス][ファイル名] [/A[[:]属性]] [/B] [/C] [/D] [/L] [/N] [/O[[:]ソート順]] [/P] [/Q] [/R] [/S] [/T[[:]タイムフィールド]] [/W] [/X] [/4] [ドライブ:][パス][ファイル名] 一覧表示するドライブ、ディレクトリ、またはファイルを指定します。 ~snip~ /T どのタイム フィールドを表示するか、または並べ替えに使用するかを 指定します。 タイムフィールド C 作成 A 最終アクセス W 最終更新 ~snip~

ということで表示できるみたい。 実際にやってみた。

C:\>dir /TC ドライブ C のボリューム ラベルは Windows です ボリューム シリアル番号は 605E-FFF3 です C:\ のディレクトリ 2016/12/03 13:36 <DIR> cygwin 2016/12/03 15:50 <DIR> inetpub 2016/12/03 14:36 <DIR> Intel 2016/07/16 15:04 <DIR> Program Files 2016/07/16 15:04 <DIR> Program Files (x86) 2016/09/21 21:33 <DIR> Project 2016/12/03 12:53 <DIR> share 2016/10/01 11:27 <DIR> tmp 2016/07/16 15:04 <DIR> Users 2016/07/16 15:04 <DIR> Windows 0 個のファイル 0 バイト 10 個のディレクトリ 111,201,648,640 バイトの空き領域

これで一覧が出せそう。

■ 9月10日Other

某所でプロジェクタが暗いので、新しいものを買うという話があって。 スクリーンは80インチ用なので、それだったら60インチぐらいの液晶テレビを使った方が良い気がしてきて。 プロジェクタは部屋を暗くしないと見えないので、どうしても眠気を誘ってしまうし、スクリーンはあるにしてもランプ代も結構するし。 そんな話をしてみたけど、やっぱりプロジェクタの方が大きいから、という意見があって。 私も判断がつかないので、こういうときデモ機が借りられると良いのだけど。

■ 9月11日WWWNetwork

wget を使ってファイルをいくつもダウンロードすることがある。 そんなときは簡単なバッチファイルを書いて、それを実行しているが、こんな感じのもの。

wget -o "001.tar.gz" "http://www.example.com/file/download?file=95521" sleep 1 wget -o "002.tar.gz" "http://www.example.com/file/download?file=87991" sleep 1 wget -o "003.tar.gz" "http://www.example.com/file/download?file=3539"

なんだか美しくない。 本来だったら、wget の -w オプションで sleep をやらせたいし、-i オプションで URL のリストを読み込ませたい。 しかし -i オプションだと出力されるファイル名が指定できないので、使えない。 そこは妥協して -i オプションを使ったとすると、 download@file=95521 みたいなファイルがいっぱいできてしまうので、結局リネームするためのバッチファイルも用意してあげないといけない。
前にこの辺りをすっきり解決してくれる方法はないかとしばらく考えてみたが、wget のソースに手を入れることしか浮かばなかった。

今日ふと、cURL が使えないかとひらめいた。 調べてみたら cRUL は連続ダウンロードの際の wait というか delay がないので、微妙かも。 やるだけやってみる。

$ curl -o "001.tar.gz" -o "002.tar.gz" -o "003.tar.gz" "http://www.example.com/file/download?file={95521,87991,3539}" [1/3]: http://www.example.com/file/download?file=95521 --> 001.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 446k 100 446k 0 0 124k 0 0:00:03 0:00:03 --:--:-- 132k [2/3]: http://www.example.com/file/download?file=87991 --> 001.tar.gz 100 477k 100 477k 0 0 341k 0 0:00:01 0:00:01 --:--:-- 428k [3/3]: http://www.example.com/file/download?file=3539 --> 001.tar.gz 100 432k 100 432k 0 0 407k 0 0:00:01 0:00:01 --:--:-- 498k

-o は複数指定できるとあったけど、{} の場合は使えないみたい。 なので、今回の場合は。

$ curl -o "001.tar.gz" -o "002.tar.gz" -o "003.tar.gz" "http://www.example.com/file/download?file=95521" "http://www.example.com/file/download?file=87991" ""http://www.example.com/file/download?file=3539"

とすべきか。 長くなるな。 -o オプションでは #1 みたいな使い方ができるので、それはそれで便利なんだけど、連番用のものがあればよかったのに。 wget / cURL どちらにしても、もう少しのところなので、今度時間があればソースに手を入れて自分用のものを作ってしまおうか。

■ 9月12日Other

普段は Telstra Tempo T815 というスマートフォンを使っているが、最近容量が足りなくなってきた。 移せるものは SD カード側に入れているが、どうしても移せないものもあって、4GB の容量が常にフルに近い状態。 この状態だと、システムのアップデートもできなくなっていて、毎回通知バーにインストールするかだの容量が足りないだのと出ている。 そろそろこのスマートフォンも限界が近くなってきたので、新しいのを見つけないとな。

■ 9月13日Other

机のないところで印鑑を押す必要があって。 平らな壁を使ってなんとか押すことができたけど、かなり不便。 そう言えば、ホッチキス型の印鑑ってあるなと思い、「ホッチキス型 印鑑」とか「ホッチキスタイプ 印鑑」、「ステープラータイプ 印鑑」などと探したが見つからない。 そもそも、ホッチキス型の印鑑はどこで見たのだろうと考えること30秒、鉄道の改札や検札で見たのだった。 そこから検索してみると、シャチハタが「チケッター」という名前で販売していた。 「チケッター20号」で5400円と安くないけど、これはこれで便利だから仕方がない。
で、高いものになると、日付を入れられるみたいで、どうやって日付を変更するのだろうと調べてみたら、大きく開いてピンセットでつまんだりして変更するようで。 駅員さんって朝そんなことしてるのか。
どちらにしても、ちょっと値段が高いので買わないかな。

■ 9月14日Other

最近紫外線が強いせいか、洗濯ばさみがパキパキ折れていき、どんどん減っていくし、手も危ない感じだし。 ステンレスの洗濯ばさみも旅行用として持っているのだけど、よく洗濯ばさみを落として行方不明にさせてしまうことを考えると、もったいなくて使えない。 どうしたものかなと調べてみると、ポリカーボネートの洗濯ばさみが売っているらしく。 ステンレス製ほど高くないし、そこそこ長持ちするみたい。 今度、100円ショップ行って探してみよう。

■ 9月15日Network

家の中で無線 LAN が繋がりにくいと話があって。 1階に親機があって、2階で使用する感じのようだけど、木造なのに電波の通りが悪いようで。 家が密集している場所なので、チャンネルの関係もあるだろうし、ちゃんとした原因がわからない。 5GHz に対応した無線 LAN 機器にすればと話しておいた。

ふと、そういえば PLC は最近どうなんだと思い、調べてみた。 やっぱりまだ機器が高い。 基本的に2台セットで使うので1万円はするし、そこでちゃんとスピードが出るかも不安なので手が出しにくい感じがする。 気軽にレンタルできるサービスがあれば、個人的にテストしてみたいのだけど。

■ 9月16日WWW

html というかスクリプトを書いていて。 テキストファイル(本当は違うけど)をダウンロードさせるために、こんな感じでヘッダを出力していた。

Content-Type: text/plain Content-Disposition: attachment; filename='test.txt'

手元の環境では問題なく動いていたのだけど、うまく動かないとか、ダウンロードしたファイル名に ' が付いてしまうとか言われて。 何の気なしに ' で括ってしまって、手元のブラウザでは動くので気にしてなかったが、' を使って良いかとか確認してなかった。 と言うことで調べてみる。

Content-Disposition は RFC2183 で規定されている。

disposition := "Content-Disposition" ":" disposition-type *(";" disposition-parm) disposition-type := "inline" / "attachment" / extension-token ; values are not case-sensitive disposition-parm := filename-parm / creation-date-parm / modification-date-parm / read-date-parm / size-parm / parameter filename-parm := "filename" "=" value creation-date-parm := "creation-date" "=" quoted-date-time modification-date-parm := "modification-date" "=" quoted-date-time read-date-parm := "read-date" "=" quoted-date-time size-parm := "size" "=" 1*DIGIT quoted-date-time := quoted-string ; contents MUST be an RFC 822 `date-time' ; numeric timezones (+HHMM or -HHMM) MUST be used

となっていて、ファイル名の部分は value となっている。 で、RFC2045 と RFC822 を確認して、ファイル名を括るときは ' じゃなくて " であるべきことがわかった。 ただし、今回の場合は特に括る必要はないため、' を削除して対処した。 たまたま手元のいくつかのブラウザがうまく対処したから気が付かなかったけど、ありがたいのかそうじゃないのか、わからないな。

■ 9月17日Other

とあるソフトウェアのインストールをしていて。 そのソフトウェアは CD-ROM に入っていて、遅いし扱いが面倒だで、USB メモリにコピーして使おうかと考えた。 手元の USB メモリにコピーして快適になったが、その USB メモリは私物だし、書き込みもできるので少し気分が悪い。 SD カードのような書き込み禁止のスイッチが付いた USB メモリはあるものか調べてみると、意外にあるもののようで。 その中でも、BUFFALO の RUF3-C8GA 辺りが無難で良さそう。 買ってくれないか催促してみよう。

■ 9月18日Linux

CentOS 6 の環境で。 ある実行ファイルというかスクリプトを移動した。 するとファイルの実行ができなくなってしまった。 こんなときは rehash コマンドを、と思ったが bash にはないみたいで。 rehash コマンドは tcsh を使っているときよく使っていて、最近は bash も頭が良くなったので tcsh をとんと使っていない。 じゃ、bash だとどうするか、調べてみたら bash は相対パスのときでもハッシュテーブルを使ってないようで、この場合そもそも不要とか。 bash は実行したコマンドのハッシュテーブルを持っていて、これをクリアするには hash -r コマンドを使うと。
結局、ファイルの実行ができないのは、単に path が通っていないだけだったのがわかった。

■ 9月19日WWW

PHP でバイト数計算をしないといけなくて。 strlen でできるらしいのだけど、それ以外に mb_strlen と mb_strimwidth なんてのもあるみたい。 ふと、半角カナはどうなるのか気になったので、やってみることにした。

<?php echo "<br>"; $str0 = "アイウエオ"; $str1 = "アイウエオ"; echo "UTF-8<br>"; echo "strlen 0: " . strlen($str0) . "<br>"; echo "strlen 1: " . strlen($str1) . "<br>"; echo "mb_strlen 0: " . mb_strlen($str0) . "<br>"; echo "mb_strlen 1: " . mb_strlen($str1) . "<br>"; echo "mb_strimwidth 0: " . mb_strwidth($str0) . "<br>"; echo "mb_strimwidth 1: " . mb_strwidth($str1) . "<br>"; echo "<br>"; echo "Shift-JIS<br>"; $str0 = mb_convert_encoding($str0, "SJIS-win", "UTF-8"); $str1 = mb_convert_encoding($str1, "SJIS-win", "UTF-8"); echo "strlen 0: " . strlen($str0) . "<br>"; echo "strlen 1: " . strlen($str1) . "<br>"; echo "mb_strlen 0: " . mb_strlen($str0) . "<br>"; echo "mb_strlen 1: " . mb_strlen($str1) . "<br>"; echo "mb_strimwidth 0: " . mb_strwidth($str0) . "<br>"; echo "mb_strimwidth 1: " . mb_strwidth($str1) . "<br>"; ?>

こんな感じで書いてみて、実行させてみたら。

UTF-8 strlen 0: 15 strlen 1: 15 mb_strlen 0: 5 mb_strlen 1: 5 mb_strimwidth 0: 10 mb_strimwidth 1: 5 Shift-JIS strlen 0: 10 strlen 1: 5 mb_strlen 0: 10 mb_strlen 1: 5 mb_strimwidth 0: 10 mb_strimwidth 1: 5

Shift-JIS の半角カナって1文字1バイトだったのだっけ。 どちらにしても、ちゃんと半角扱いになるのがわかった。 使えるかどうか考え中。

■ 9月20日WWW

昨日の続き。 ある項目において Shift-JIS で10バイトの指定があって。 それ以上の文字数入力があった場合、削らないといけない。 ただし、2バイト文字の途中で切れる泣き別れをさせたくないというところが問題で。 これを PHP でどうやろうか悩んでいる。

あーでもない、とやっていたら mb_strcut という便利な関数があるのを見つけた。 実験してみる。

<?php $str0 = "アイウエオカキクケコ"; $str1 = "アイウエオカキクケコ"; $str2 = "Aあいうえおかきくけこ"; $str3 = "あいうえoかきくけこ"; echo mb_strcut($str0, 0, 10) . "<br>"; echo mb_strcut($str1, 0, 10) . "<br>"; echo mb_strcut($str2, 0, 10) . "<br>"; echo mb_strcut($str3, 0, 10) . "<br>"; echo "<br>"; $str0 = mb_convert_encoding($str0, "SJIS-win", "UTF-8"); $str1 = mb_convert_encoding($str1, "SJIS-win", "UTF-8"); $str2 = mb_convert_encoding($str2, "SJIS-win", "UTF-8"); $str3 = mb_convert_encoding($str3, "SJIS-win", "UTF-8"); $str0 = mb_strcut($str0, 0, 10); $str1 = mb_strcut($str1, 0, 10); $str2 = mb_strcut($str2, 0, 10); $str3 = mb_strcut($str3, 0, 10); $str0 = mb_convert_encoding($str0, "UTF-8", "SJIS-win"); $str1 = mb_convert_encoding($str1, "UTF-8", "SJIS-win"); $str2 = mb_convert_encoding($str2, "UTF-8", "SJIS-win"); $str3 = mb_convert_encoding($str3, "UTF-8", "SJIS-win"); echo $str0 . "<br>"; echo $str1 . "<br>"; echo $str2 . "<br>"; echo $str3 . "<br>"; ?>

表示は UTF-8 なので、一度戻してから表示している。 結果はこうなった。

アイウ アイウ Aあいう あいう アイウエオ アイウエオカキクケコ Aあいうえ あいうえo

ちゃんと動いてる。 mb_strcut の3番目の引数で50とか入れてもエラーにならずに短い文字列が返ってくるのも確認した。 これだと10バイト欲しいところで9バイトになってしまうので、指定バイトより少ない場合はスペースで埋めてやる必要があるが、それは strlen で長さを計って埋めてやることに。

■ 9月21日WindowsNetwork

Cygwin で PostgreSQL サーバを動かそうと。 setup.exe から postgresql を選んでインストールし、動かしてみる。 起動スクリプトがなぜか /etc/rc.d/init.d にあるので実行。

$ /etc/rc.d/init.d/postgresql start

しかし、応答なく終了する。 それに、起動もしてない様子。 このスクリプトの中身を確認してみる。

$ cat /etc/rc.d/init.d/postgresql ~snip~ # See how we were called. name="PostgreSQL" prog="postmaster" progdir="/usr/sbin" DAEMON="$progdir/$prog.exe" POSTMASTER_ARGS="-D $PGDATA -k $SOCKETDIR -i" INITDB_ARGS="-E SQL_ASCII --locale=C -D $PGDATA" test -f $DAEMON || exit 0 # Source configuration if [ -f /etc/sysconfig/$prog ] ; then . /etc/sysconfig/$prog fi start() { echo -n $"Starting $name: " check_cygserver # check if cygrunsrv process cygrunsrv --start $name RETVAL=$? [ $RETVAL -eq 0 ] && touch $PIDFILE && echo "done." if [ $RETVAL -ne 0 ]; then echo "ERROR service start FAILED"; tail $LOGFILE; fi return $RETVAL } ~snip~

postmaster ってメール系のデーモンかと思ってしまうな。 $progdir/$prog.exe があるのか確認する。

$ ls -l /usr/sbin/post* -rwxr-xr-x 1 toyota None 6175758 8月 12 04:27 /usr/sbin/postgres.exe lrwxrwxrwx 1 toyota None 12 9月 21 12:01 /usr/sbin/postmaster -> postgres.exe

/usr/sbin/postmaster からのリンクはあるけど、/usr/sbin/postmaster.exe は無いのが原因かな。 起動スクリプトの $prog.exe を $prog に変更して実行してみる。

$ cd /etc/rc.d/init.d $ cp -p postgresql postgresql2 $ vi postgresql2 $ ./postgresql2 start Starting PostgreSQL: ERROR cygserver must be started cygrunsrv -S cygserver

先に cygserver なるものを実行する必要があるらしい。 実行してみる。

$ cygrunsrv -S cygserver cygrunsrv: Error starting a service: OpenService: Win32 error 1060:

エラーが出て起動されない。 調べてみるとどうも cygserver の設定が必要みたい。 cygserver-config を実行してみる。

$ cygserver-config Generating /etc/cygserver.conf file Warning: The following function requires administrator privileges! Do you want to install cygserver as service? (Say "no" if it's already installed as service) (yes/no) yes The service has been installed under LocalSystem account. To start it, call `net start cygserver' or `cygrunsrv -S cygserver'. Further configuration options are available by editing the configuration file /etc/cygserver.conf. Please read the inline information in that file carefully. The best option for the start is to just leave it alone. Basic Cygserver configuration finished. Have fun!

うまくいったみたいなので、cygserver の起動をしてみる。

$ cygrunsrv -S cygserver

大丈夫そうなので、postgresql の起動をする。

$ ./postgresql start Starting PostgreSQL: - cygserver OK - cygrunsrv: Error starting a service: OpenService: Win32 error 1060: (※※※文字化け※※※) ERROR service start FAILED tail: '/var/log/postgresql.log' を 読み込み用に開くことが出来ません: No such file or directory

色々問題があるし、文字化けもしたので一度 postmaster を手動で実行してみることに。

$ /usr/sbin/postmaster -D /var/postgresql/data postmasterはサーバ設定ファイル"/var/postgresql/data/postgresql.conf"にアクセスできません: No such file or directory

設定ファイルとか何もしてなかった。 initdb を実行する。

$ /usr/sbin/initdb --no-locale -D /var/postgresql/data データベースシステム内のファイルの所有者は"toyota"ユーザでした。 このユーザがサーバプロセスを所有しなければなりません。 データベースクラスタはロケール"C"で初期化されます。 したがってデフォルトのデータベース符号化方式はSQL_ASCIIに設定されました。 デフォルトのテキスト検索設定はenglishに設定されました。 データベージのチェックサムは無効です。 ディレクトリ/var/postgresql/dataを作成しています ... ok サブディレクトリを作成しています ... ok デフォルトのmax_connectionsを選択しています ... 30 デフォルトの shared_buffers を選択しています ... 128MB selecting dynamic shared memory implementation ... posix 設定ファイルを作成しています ... ok /var/postgresql/data/base/1にtemplate1データベースを作成しています ... ok pg_authidを初期化しています ... ok 依存関係を初期化しています ... ok システムビューを作成しています ... ok システムオブジェクトの定義をロードしています ... ok 照合順序を作成しています ... このプラットフォームではサポートされません 変換を作成しています ... ok ディレクトリを作成しています ... ok 組み込みオブジェクトに権限を設定しています ... ok 情報スキーマを作成しています ... ok PL/pgSQL サーバサイド言語をロードしています ... ok template1データベースをバキュームしています ... ok template1からtemplate0へコピーしています ... ok template1からpostgresへコピーしています ... ok データをディスクに同期しています...ok 警告: ローカル接続向けに"trust"認証が有効です。 pg_hba.confを編集する、もしくは、次回initdbを実行する時に-Aオプショ ン、または、--auth-localおよび--auth-hostを使用することで変更するこ とができます。 Success. You can now start the database server using: /usr/sbin/pg_ctl -D /var/postgresql/data -l logfile start

pg_ctl で起動できるとあるので、やってみる。

$ /usr/sbin/pg_ctl -D /var/postgresql/data -l logfile start サーバは起動中です。

既に動いてるんだって。 確認する。

$ ps -ef UID PID PPID TTY STIME COMMAND toyota 3036 1 pty1 16:27:54 /usr/sbin/postgres toyota 2508 3036 ? 16:27:55 /usr/sbin/postgres toyota 288 3036 ? 16:27:55 /usr/sbin/postgres toyota 2836 3036 ? 16:27:55 /usr/sbin/postgres toyota 5984 3036 ? 16:27:55 /usr/sbin/postgres SYSTEM 760 1 ? 16:15:00 /usr/bin/cygrunsrv toyota 5532 4876 pty0 16:04:46 /usr/bin/vi toyota 4880 4548 pty1 16:27:57 /usr/bin/ps toyota 4544 1 ? 16:11:17 /usr/bin/mintty toyota 5548 3036 ? 16:27:55 /usr/sbin/postgres SYSTEM 4192 760 ? 16:15:00 /usr/sbin/cygserver toyota 4548 4544 pty1 16:11:17 /usr/bin/bash toyota 4876 5264 pty0 16:01:44 /usr/bin/bash toyota 5264 1 ? 16:01:44 /usr/bin/mintty

後で見返してわかったのだけど、/etc/rc.d/init.d/postgresql を使って
postgresql initdb
postgresql install
とすれば早かったみたい。 次の機会があれば、それを使おう。

■ 9月22日WWW

こことは別のページの話で、WordPress を使ったページがある。 そこに WP SlimStat というプラグインを入れて、アクセスをなんとなく眺めている。 検索ワードを見ると、たまに「(serp: 4)」のような感じでものが付いてくることがあって、これは何だろうと疑問に思って調べてみた。
serp は search engine results page の略で、英語版などの wikipedia にも出ているぐらい common な単語みたい。 意味は読んで字のごとしで、4 とあるのは検索結果の4番目ということ。 意味がわかったのですっきりしたし、色々と参考になるな。

■ 9月23日Other

17日の続き。 BUFFALO RUF3-C8GA を入手した。

RUF3-C8GA

USB メモリは思ったより長くて、2世代ぐらい前のものという印象。 外側は色が付いている透明なプラスチックでできており、中のチップがなんとなく見える。

RUF3-C8GA

書き込み禁止で使うスイッチは小さくて、シャープペンシルの先などを使わないと ON/OFF できない。 簡単に OFF にできても困るので、このぐらいが妥当なのかもしれない。

RUF3-C8GA

使ってみる。 まず本体が微妙に厚さがあるので、HHKB Lite2 の USB の口に刺さらなかった。 PC 本体に刺してみると、アクセスランプが光った。 最近の USB メモリは小型化と低価格化の影響か、アクセスランプが付いていないことが多い。 アクセスランプがあると、少し安心感がある

中に何かファイルが入っているか確認してみると、BUFFALO フォルダが既にできていた。

RUF3-C8GA BUFFALO フォルダ

この中に謎の RUF_S_DL.EXE と言う実行ファイルがある。

RUF3-C8GA RUF_S_DL.EXE

USB メモリが入っていた箱の中に紙が入っていたので見てみると、このプログラムでツールと取扱説明書ができるとかで。 恐る恐る実行してみた。

RUF3-C8GA RUF_S_DL.EXE 実行

だそうで。
http://buffalo.jp/download/driver
からもダウンロードできるようだし、使いたいと思うものはないので削除だな。

■ 9月24日WWWNetwork

某所でデバッグをしていて、Javascript のキーイベントについて web で検索していたら、ファイヤーウォールでブロックされた。 ブロックされた URL は。

http://cly7796.net/wp/javascript/examined-the-jquery-of-key-events/

何か危ないページなのか気になって、VPN を繋いで別な場所経由でアクセスしてみたけど、別に問題ないページだった。

そもそもどこのファイヤーウォールがブロックしたのか、ちょっと突っついてみると、FortiGate という FW の機械があるらしく、そこでブロックしていた。 理由が気になったので、FortiGuard Centre なる場所に行って、理由を確認してみた。

Category: Pornography

なんだって。 どう見てもそうは見えないけど。 試しにドメインだけ入れてみたけど、やっぱり Pornography が出てくるのでドメインごとそういう扱いになっているみたい。

試しにこのページのドメインはどんな扱いになっているのか見てみた。

Category: Information Technology

少なくともブロックはされなさそう。 いかん、デバッグに戻らないと。

■ 9月25日Linux

Linux 上でハードリンクを使ったバックアップを行っている。 その割には容量が多いので、i ノードとそのリンク数を確認したい。 確認するには ls に -i オプションを付ければできるが。

[toyota@takodana tmp]$ touch test0.txt [toyota@takodana tmp]$ ln test0.txt test1.txt [toyota@takodana tmp]$ ls -li total 0 5638644 -rw-r--r--. 2 toyota toyota 0 Sep 25 13:48 2017 test0.txt 5638644 -rw-r--r--. 2 toyota toyota 0 Sep 25 13:48 2017 test1.txt [toyota@takodana tmp]$ rm -f test1.txt [toyota@takodana tmp]$ ls -li total 0 5638644 -rw-r--r--. 1 toyota toyota 0 Sep 25 13:48 2017 test0.txt

ファイル数が多いので、一気に見られないものかと。 調べていたら find コマンドに -ls オプションを付ければ見られるらしく。 やってみた。

[toyota@takodana tmp]$ find . -ls 5644289 4 drwxr-xr-x 2 root root 4096 Sep 25 13:55 . 5638644 0 -rw-r--r-- 2 toyota toyota 0 Sep 25 13:55 ./test1.txt 5638644 0 -rw-r--r-- 2 toyota toyota 0 Sep 25 13:55 ./test0.txt

これができると、リンク数を一気に確認できて便利だ。 助かる。

■ 9月26日Linux

昨日の続き。 リンク数を確認したけど、新しいファイルはそんなに無いようで、何でそんなに容量が増えるのかの疑問が解決しない。 ハードリンクを作った場合の容量の確認をやるだけやってみた。

[toyota@takodana tmp]$ mkdir dir0 [toyota@takodana tmp]$ mkdir dir1 [toyota@takodana tmp]$ mkdir dir2 [toyota@takodana tmp]$ dd if=/dev/urandom of=dir0/file00 bs=1024 count=1024 1024+0 records in 1024+0 records out 1048576 bytes (1.0 MB) copied, 0.289331 s, 3.6 MB/s [toyota@takodana tmp]$ dd if=/dev/urandom of=dir0/file01 bs=1024 count=1024 1024+0 records in 1024+0 records out 1048576 bytes (1.0 MB) copied, 0.268598 s, 3.9 MB/s [toyota@takodana tmp]$ dd if=/dev/urandom of=dir0/file02 bs=1024 count=1024 1024+0 records in 1024+0 records out 1048576 bytes (1.0 MB) copied, 0.268518 s, 3.9 MB/s [toyota@takodana tmp]$ ln dir0/file00 dir1/file00 [toyota@takodana tmp]$ ln dir0/file01 dir1/file01 [toyota@takodana tmp]$ ln dir0/file02 dir1/file02 [toyota@takodana tmp]$ du -s * 3076 dir0 4 dir1 4 dir2

確認するまでもなかったが、ハードリンクをいくつか作成したところで、容量は空のディレクトリと同じ容量になる。 ただし、ディレクトリはハードリンクが作成できないので、容量がかなりある原因の1つとしてディレクトリ数が多いからと言える。 他にも何か要素がありそうな気がするけど。

■ 9月27日Windows

某所で Windows XP でしか動かないソフトがあるらしくて、Windows XP を使っている環境があった。 Windows XP の互換モードにしても動かないらしく、どうしたものかという状態。

それを VMware 上に乗せて Windows XP が起動できないか調べてみる。 dd かなんかで今動いている XP の PC からディスクのイメージを取って、イメージの変換をかければ、VMware で動くとかで。 イメージの変換には qemu-img.exe なんかが使えると。 手元に qemu-img を入れないといけないし、ライセンス的に問題ありそうだし、ちょっと考え物だな。 Windows 7 の XP mode じゃ重そうだし、どうしよう。

■ 9月28日Network

ネットワーク機器を設定していたら CAPWAP という見慣れないプロトコル名が出てきた。 調べてみたら、Control And Provisioning of Wireless Access Points の略で、RFC 5415 で規定されているものらしく。
ネットワーク機器が、離れた場所にある無線 LAN 機器とカプセル化したお喋りをして、無線 LAN 側のアクセス制御なんかができるようになるのかな。 どちらにしても使わないので OFF にした。 それにしても、時代はどんどん進んでいくな。

■ 9月29日WindowsLinux

ファイルサーバに Windows からアクセスしようと思ったが、権限がないとかで蹴られてしまった。 先日まで問題なかったのにな、とファイルサーバに入って Samba のログを確認すると。

[2016/09/29 08:43:35.050334, 0] lib/fault.c:372(dump_core) dumping core in /var/log/samba/cores/smbd [2016/09/29 08:43:35.153157, 0] ../lib/util/tdb_wrap.c:65(tdb_wrap_log) tdb(/var/lib/samba/locking.tdb): expand_file write of 8192 bytes failed (デバイスに空き領域がありません) [2016/09/29 08:43:35.153445, 0] locking/locking.c:905(share_mode_lock_destructor) store returned NT_STATUS_UNSUCCESSFUL [2016/09/29 08:43:35.153617, 0] lib/util.c:1117(smb_panic) PANIC (pid 30686): could not store share mode entry: NT_STATUS_UNSUCCESSFUL [2016/09/29 08:43:35.158275, 0] lib/util.c:1221(log_stack_trace) BACKTRACE: 22 stack frames: #0 smbd(log_stack_trace+0x2e) [0x6127ee] #1 smbd(smb_panic+0x32) [0x612912] #2 smbd(+0x3cae8c) [0x58ee8c] #3 /usr/lib/libtalloc.so.2(+0x6d98) [0xe01d98] #4 smbd(+0x117cdb) [0x2dbcdb] #5 smbd(+0x11857a) [0x2dc57a] #6 smbd(create_file_default+0x10f) [0x2dfb5f] #7 smbd(+0x16734a) [0x32b34a] #8 smbd(smb_vfs_call_create_file+0xaf) [0x2e6b6f] #9 smbd(reply_ntcreate_and_X+0x26f) [0x29d77f] #10 smbd(+0x13a2aa) [0x2fe2aa] #11 smbd(+0x13a6dd) [0x2fe6dd] #12 smbd(+0x13ab4e) [0x2feb4e] #13 smbd(run_events_poll+0x3aa) [0x623faa] #14 smbd(smbd_process+0xa56) [0x2fc2d6] #15 smbd(+0x712258) [0x8d6258] #16 smbd(run_events_poll+0x3aa) [0x623faa] #17 smbd(+0x4604c1) [0x6244c1] #18 /usr/lib/libtevent.so.0(_tevent_loop_once+0xb0) [0xe0b000] #19 smbd(main+0x12e0) [0x8d7870] #20 /lib/libc.so.6(__libc_start_main+0xe6) [0xfe6d26] #21 smbd(+0xa5281) [0x269281]

いやいや、そんなディスクなんていっぱいになってないよ。 と df を実行したら。

[root@takodana samba]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 236048136 235843596 0 100% / tmpfs 2005836 0 2005836 0% /dev/shm

本当だ。 どうも cron で実行していたファイルのコピーが、想定を大きく超えた容量になってしまったようである。 ということで、馬鹿でかいファイルを削除して、アクセスできるようになった。

■ 9月30日Linux

名前は聞いたことがあるけど、使ったことがない coLinux を使ってみようかと。 ダウンロードしようと思ったら、最新版が5年も前のもの。 5年となると少し考えてしまうな。 インストールするだけしてみることに。
coLinux-0.7.9.exe を実行して進んでいくと、root file system image の選択画面が出た。

Cooperative Linux 0.7.9 Setup

Fedora を選びたいところだけど、4GB も必要になるので大きすぎ。 ここは Debian を選ぶことにした。 そして、インストールが始まると。

Cooperative Linux 0.7.9 Setup

まさかの x64 環境では動かないのだと。 これが5年前になってしまった原因なのか。 ちょっと調べたけど、簡単には入らなそうだったので、あっさりあきらめることに。


21st projects Tatsuyoshi Networks Prompt Works
by Tatsuyoshi since 2003