2008/12/31
2008/12/26
ESTA
来年(2009年)の1月29日から米国に入国する際は
"電子渡航認証システム(ESTA)" による事前認証が必要になります。
米国国土安全保障省(DHS)は8月1日より、 電子渡航認証システム (Electronic System for Travel Authorization: ESTA)を開始した。
この新しいオンラインシステムは、 ビザ免除プログラム(VWP)の一部である。
現在、ESTAのウェブサイトでは任意ので申請を受付けているが、 2009年1月12日からは申請が義務化され、 米国に短期商用・観光目的(90日以下)で渡航予定の VWP参加国のすべてのビザなし渡航者は、 米国行きの航空機や船舶に搭乗する前に オンラインで渡航認証を受けることが必要になる。アメリカ大使館のWebSite
今までは3ヶ月未満の短期滞在の場合は I-94W と呼ばれる
米国査証免除プログラム参加国用入国用紙に記入するだけで良かったが、
今後は事前認証が必要になるので注意が必要です。
ESTA による認証は2年間有効との事なので、
出発直前に慌てない様に早めに済ませておくのが良いかも?
2008/12/25
2008/12/24
Happy Christmas
So this is Christmas
And what have you done
Another year over
And a new one just begun
And so this is Christmas
I hope you have fun
The near and the dear one
The old and the young
A very merry Christmas
And a happy New Year
Let's hope it's a good one
Without any fear
Happy Christmas (War is over)
Merry Christmas!
2008/12/23
2008/12/22
2008/12/17
楽天
結構古くから利用しているので今でもついつい使ってしまうのだが、 楽天のシステムは何とかならないんですかね〜
ちょっと買い物をすると SPAMメイルマガジンが呆れる位大量に
届く様になり、
そのたびに SPAMメイルマガジンの配信停止を行うのだが、
これも Web から直接配信停止ができる訳ではなく、
メイルアドレスを入力する事で届くメイルに
記載されている URL 経由という面倒さ。
まぁ、基本的には自動フィルタ処理で読まないで捨ててるので
あまり実害がないと言えば無いのだが
しかも ad4u とか言うブラウザの脆弱性を付く酷いシステムで
勝手に個人情報を集めまくっている。
これってウィルスやスパイウェアと同じじゃないの?
ネットに氾濫している広告専門の怪しげな業者ならいざしらず、
国内の通販サイトでは一二を争う規模の企業がする事かね?
真剣に企業としての姿勢を疑ってしまいます。
というか、広告専門の怪しげな業者と同程度って事を自ら晒しているのかな?
毒のある虫が派手な色をしているのと同じで、
「迂濶に近づいたら怪我するよ〜」とご丁寧に教えてくれているのかしらん?
それならまぁ、わざわざご親切な事で :-p
という事で楽天使うの止めようかなぁ…と強く検討しています。
ちなみに ad4u 対応策としては Firefox のアドオンである
Addbloc Plus を利用して、
http://*.rakuten.*swf と
http://*drecom* の通信を全てブロックしています。
flash がなくても楽天の買い物にはそれほど困らないだろうし、
drecom なんて会社はこちらから見に行く事は殆んどあり得ない会社だしね
2008/12/15
2008/12/11
2008/12/10
GNU Bourne-Again Shell を便利に使う
対話シェルとして使用する bash (1) の
コマンドライン履歴機能の便利な使い方。
bash (1) のコマンドライン履歴機能のうち
イベント指示子、単語指示子、修飾指示子は
オンラインマニュアルにも情報が少ないが、
慣れると非常に便利でキータイプ量も減るので是非マスターしておきたい。
以下の文中で n、m は任意の整数、
foo、bar、baz などは任意の文字列を示す。
機能一覧
イベント指示子 | |
---|---|
!! | 直前に実行したコマンドを実行する |
!-n | n 回前に実行したコマンドを実行する |
^foo^bar !:s/foo/bar |
直前に実行したコマンドの foo を bar に変更して実行する |
!:gs/foo/bar | 直前に実行したコマンドの全ての foo を bar に変更して実行する |
!foo | foo で開始されるコマンドを実行する |
!n |
n 番目に実行されたコマンドを実行する |
単語指示子 | |
!:n | 直前に実行したコマンドの n 番目の引数を取得する |
!^ | 直前に実行したコマンドの 1 番目の引数を取得する |
!$ | 直前に実行したコマンドの最後の引数を取得する |
!* | 直前に実行したコマンドの全ての引数を取得する |
!:n* | 直前に実行したコマンドの n 番目から最後までの引数を取得する |
!:n-m | 直前に実行したコマンドの n 番目から m 番目までの引数を取得する |
!:-n | 直前に実行したコマンドの最初から n 番目までの引数を取得する |
!:n- | 直前に実行したコマンドの n 番目から最後の 1 個前までの引数を取得する |
修飾指示子 | |
:p | コマンドを表示のみして実行しない |
:h | パスのファイル名部分を取り除きディレクトリ名を取得する |
:t | パスのディレクトリ名部分を取り除きファイル名を取得する |
:r | ファイル名の拡張子を取り除き "." の前を取得する |
:e | ファイル名の拡張子を "." 付きで取得する |
イベント指示子
- !! 直前に実行したコマンドを実行する
$ echo foo bar baz foo bar baz $ !! echo foo bar baz foo bar baz
$ echo foo bar baz foo bar baz $ echo FOO BAR BAZ FOO BAR BAZ $ !-2 echo foo bar baz foo bar baz $ !-2 echo FOO BAR BAZ FOO BAR BAZ
!:s/foo/bar
$ echo foo foo foo foo foo foo $ ^foo^bar echo bar foo foo bar foo foo $ echo foo foo foo foo foo foo $ !:s/foo/bar echo bar foo foo bar foo foo
$ echo foo foo foo foo foo foo $ !:gs/foo/bar echo bar bar bar bar bar bar
$ echo foo bar baz foo bar baz $ touch foo bar baz $ !ec echo foo bar baz foo bar baz
$ echo foo bar baz foo bar baz $ echo FOO BAR BAZ FOO BAR BAZ $ !1 echo foo bar baz foo bar baz
単語指示子
- !:n 直前に実行したコマンドの n 番目の引数を取得する
$ echo foo bar baz foo bar baz $ echo !:0 echo echo echo $ echo foo bar baz foo bar baz $ echo !:2 echo bar bar
$ echo foo bar baz foo bar baz $ echo !^ echo foo foo
$ echo foo bar baz foo bar baz $ echo !$ echo baz foo
$ echo foo bar baz foo bar baz $ echo !* echo foo bar baz foo bar baz
$ echo foo bar baz foo bar baz $ echo !:2* echo bar baz bar baz
$ echo foo bar baz FOO BAR BAZ foo bar baz FOO BAR BAZ $ echo !:3-5 echo baz FOO BAR baz FOO BAR
$ echo foo bar baz FOO BAR BAZ foo bar baz FOO BAR BAZ $ echo !:-4 echo foo bar baz FOO foo bar baz FOO
$ echo foo bar baz foo bar baz $ echo !:1- echo foo bar foo bar
修飾指示子
- :p コマンドを表示のみして実行しない
$ echo foo bar baz foo bar baz $ touch foo bar baz $ !e:p echo foo bar baz
$ echo /foo/bar/baz /foo/bar/baz $ echo !$:h echo /foo/bar /foo/bar
$ echo /foo/bar/baz /foo/bar/baz $ echo !$:t echo baz baz
$ echo foo.c foo.c $ echo !$:r echo foo foo
$ echo foo.c foo.c $ echo !$:e echo .c .c
2008/12/08
2008/12/05
2008/11/29
2008/11/28
はじめての体験
先ほど携帯電話のメイルアドレスに届いたメイル
From: system.db.XX@docomo.ne.jp
Subject: 重要なお知らせ
この度、お客様がご使用の携帯端末より以前ご登録頂いた 【ポータルサイト】から無料期間中に退会処理がされてない為に、 登録料金が発生し現状未払いとなった状態のまま放置が続いております。
本通達から翌日の正午までにご連絡を頂けない場合、 認可ネットワーク認証事業者センターを介入し、 発信者端末電子名義認証を行い利用規約に伴い、 お客様の身辺調査に入らせていただきます。
調査完了後は、回収業者による御自宅やお勤め先への料金回収、 又は裁判による少額訴訟を行う可能性があります。
退会処理の詳細につきましては下記までお問い合わせ下さい。
営業時間9:30〜19:00迄
(株)システムデータバンク
TEL03-3255-85XX
尚、ご連絡なき場合明日の正午より手続き開始となりますのでご了承下さい。
日本語の文章として突っ込みどころ満載なんですが(苦笑
最低でも「てにをは」位はちゃんとしてくれないと信憑性ゼロですよ。
ちなみに記載されていた電話番号や「システムデータバンク」で検索すると、
「架空請求」として検索結果のトップにヒットしますね。
ある意味 SEO としては有効かも?(違
折角の機会なので通報しておきました。なんとなく社会参加した気分(ぉぃ
2008/11/25
Catalyst
ひかりoneではCISCOは使えないらしいこれはネタですか?ネタですよね?ネタって言ってください…
Catalyst が良いハードか悪いハードかはともかく、 KDDI のサポセンならせめて CISCO Catalyst 位は知っていて欲しい気がする。
2008/11/24
2008/11/23
2008/11/21
Tweak
Leopard を使っていてちょっと便利な小技
- iTunes 8 から表示される様になった曲の右側の iTunes Store へのリンク矢印を表示させない
- iTunes 8 のブラウザ表示時にジャンルを表示させない
- Spaces が自動で切り替わるのを防止する
- ドラッグで Spaces を移動する際の待ち時間を設定する
-
HelpViewer のウィンドウをフローティングではなくする
ヘルプが最前面にこなくなるので便利 - ネットワークドライブに .DS_Dtore を作成しない
- X11 の終了確認ダイアログを無効にする
- Mail.spp で添付ファイルのインライン表示を無効にする
-
Front Row の iTunes トップソングの国を指定する
代表的な国コード
111111 デフォルト (アメリカ) 143442 フランス 143443 ドイツ 143444 イギリス 143447 フィンランド 143449 アイルランド 143460 オーストラリア 143461 ニュージーランド 143462 日本
$ defaults write com.apple.iTunes show-store-arrow-links -bool FALSE
$ defaults write com.apple.iTunes show-genre-when-browsing -bool FALSE
$ defaults write com.apple.dock workspaces-auto-swoosh -bool NO
$ defaults write com.apple.dock workspaces-edge-delay -float 0.5
$ defaults write com.apple.helpviewer NormalWindow -bool YES
$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true
$ defaults write org.x.x11 no_quit_alert false
$ defaults write com.apple.mail DisableInlineAttachmentViewing -bool yes
$ defaults write com.apple.frontrow MusicStoreFrontID 国コード
2008/11/19
NTFS-3G
BootCamp を利用して Windows とデュアルブートの環境を構築している場合、 Leopard 標準のドライバだと NTFS でフォーマットされたハードディスクには 読み込みのみしかアクセスできないので何かと不便である。
しかし MacFuse と NTFS-3G を利用すると NTFS でフォーマットされたディスクにも
何の問題もなく書き込みができるので便利である。
MacFuse も NTFS-3G も公式サイトではバイナリも配布されているが、
MacPort からも簡単にインストールできる。
NTFS-3G を利用するためには既に Leopard によってマウントされてる
NTFS のディスクのマウントを解除した後で NTFS-3G によるマウントを実施する。
$ sudo port install ntfs-3g # MacPort から ntfs-3g をインストール(依存関係で FuseFS もインストールされる) 〜FuseFS を利用するためにここで再起動する〜 $ /usr/sbin/diskutil list # 現在マウントされているボリュームを表示しデバイス名を確認しておく : 3: Microsoft Basic Data Windows Xp 64.9 Gi disk0s3 $ mkdir -p /Volumes/NTFS # 最初の1度だけマウントポイントとなるディレクトリを作成する $ /usr/sbin/diskutil umount disk0s3 # Leopard によって既にマウントされているディスクのマウントを解除する $ sudo /usr/local/bin/ntfs-3g /dev/disk0s3 /Volume/NTFS -o volume=NTFS,default_permissions,locale=ja_JP.UTF-8,uid=UID,gid=GIDntfs-3g コマンドのオプションに uid、gid を指定すると マウントされたディスクに含まれるファイルやディレクトリの オーナ、グループを指定できる。
アクセスは非常に遅いが NTFS パーティションに書き込みできるのは嬉しい。
2008/11/18
2008/11/14
コピペ
全て真実だとは思っていないし誤った認識の部分もあるだろうが、 基本的にこの意見に賛成する。おまえらは、雲仙普賢岳の火砕流の時に避難した家に土足で上がりこんで電気を盗み、警戒区域から出るよう要請した警察の言葉を無視して消防団員や警察官を巻き添えに殺したクズの仲間だろ?
阪神大震災の時に、建物の下敷きになって、助けを求める声をヘリコプター見物の騒音でかき消したクズや、まだ煙の立っている現場に降り立ち、被災者のそこには無くなった方がいるので踏まないでくださいとの声を無視して「まるで温泉地にきたみたいですね」といいはなったクズ(今回死亡)の仲間だろ?
日航123便の事故の時に、より悲惨な死体を求めて駆け回り、お棺をまたぎ、あまつさえ、棺のふたを開けて中を撮影しようとしたクズの仲間だろ?
新潟地震では、山古志村に入り込み、被災者に混じって救助され、おまけに救援物資のパンを我先に食い散らかしたクズの仲間だろ?
松本サリン事件の時なんて、あれほど無実の人を犯人扱いしたのに、真相が明らかになったら、すべて警察の所為。アレで、責任をとってやめたマスゴミの人間なんて一人もいない。
戦前は戦争翼賛で、人々を死地に送り込み、戦後は一転して、共産主義におもねり、文化大革命翼賛。
戦後の混乱の中で、闇市でものを買わずに餓死した裁判官はいたが、マスゴミの人間でそのように清廉潔白な人間は一人もいない。人殺しはする、酒飲み運転はする、少女買春はする、脱税はする、放火はする、詐欺はする、痴漢はする、泥棒はする、大麻は吸う。
捏造記事なんて星の数ほど。
再販制度を批判するくせに、自分たちの再販制度はしっかり維持を主張する。
そういうクズどもの何が「正義」だ。死ねウジ虫!
某巨大掲示板より
2008/11/11
Mac でも MSフォント
非常に旧聞に属するのだが Mac では MSフォントが合法的に入手が可能らしい。Microsoft Office 2004 for Mac 体験版 には数種類の MSフォントが同梱されているが、 これらのフォントは体験版の使用期限終了後も使用して問題ないと フォントベンダーのリコー社を通じてマイクロソフト社から回答があったらしい。
マイクロソフト社の WebSite からは公式な回答を探せなかったが、 Apple 社のディスカッションフォーラムには問い合わせした人が投稿したと思われる記事を見つける事ができる。
普段は Office 系のソフトウェアを殆ど使用しないのだが、 人から受け取った文書を表示する際の互換性が飛躍的に向上しそうだ。
2008/11/10
2008/11/02
2008/10/30
2008/10/29
QuickLook と日本語
QuickLook によるテキストファイルの表示で、 日本語のファイルが文字化けしたり表示できなかったりする原因の一つに、 ファイルの拡張属性にエンコーディング情報が格納されているかどうかがある。ターミナルを起動して xattr を実行すると エンコーディング情報が格納されているか確認できる。
$ xattr -p com.apple.TextEncoding ファイル No such xattr: com.apple.TextEncoding
この様な結果の場合、 エンコーディング情報が格納されていないので
QuickLook で表示できない事があるが、
$ xattr -p com.apple.TextEncoding ファイル SHIFT_JIS;2561
この場合だと、殆ど QuickLook で表示できる様だ。
標準のテキストエディットでファイルを一度開いた後で
セーブすればファイルの拡張属性にエンコーディング情報は格納されるが、
xattr コマンドを利用しても格納できる。
$ xattr -w com.apple.TextEnvoding "エンコーディング情報" ファイル
もっぱら利用する TextEncoding の値を表にする。
ASCII | MACINTOSH;0 |
EUC-JP | EUC-JP;2361 |
MS漢字コード | SHIFT_JIS;2561 |
JIS | ISO-2022-JP;2080 |
UTF-8 | UTF-8;134217984 |
2008/10/28
CrossOver が無料に!?
VMware を起動するまでもない様な時(ってどんな時だろ?)に役立ちそうな CrossOver を無料で使用できるコード(ライセンス認証コード?)を 開発元の CodeWavers 社が10月28 に提供してくれるらしい。オフィシャルサイトのプレスリリースで発表されているが、 wine ベースとは言えさすがに商用ソフトなので安定感抜群の CrossOver が 無料で利用できるのは非常に嬉しい限りである。
プレスリリースの
Bring Osama Bin-Laden to justice が笑える
というか、プレスリリース全体がジョークみたいで読んでいて楽しい
2008/10/26
Flash9 on FreeBSD!
先日 FreeBSD 7-STABLE で Flash9 を動作させるためのパッチが公開されたが、 FreeBSD 6.{3,4}-RELEASE でも Flash9 を動作させるパッチが公開されたので、 ここ から 早速ダウンロードして Make World する。
新しい環境で再起動した後 ports から linux-flashplaye9 をインストール。
work/install_flash_player_9_linux/{flashplayer.xpt,Readme.txt}
がないと make に怒られる場合はファイルを touch してしまいます。
インストール後、
$ nspluginwrapper -i /usr/local/lib/npapi/linux-flashplugin/libflashplayer.soを実行してから firefox を起動し、 about:plugins すると、ちゃんと flashplayer 9 を認識している。
さっそくニコニコ動画にアクセスすると動画がちゃんと表示されています。
結構嬉しかった〜
2008/10/23
2008/10/22
Dual Head + KVM Switch + Synergy その2
BENQ の 24インチワイド液晶が届いたのでそのまま目の前でメイン液晶となり、 今までメインだった 19インチ液晶がサブになり右隣に移動した。1920x1200 の大画面には相変わらず FreeBSD の画面が表示されているのだが、 入力が DVI、D-Sub、HDMI と3系統に対応しているので、 D-Sub 端子に FreeBSD マシン、DVI 端子に MacMini を接続している。
右隣のサブ液晶には FreeBSD、WindowsXp、仕事用の評価機が接続される事になり、 Plat'Home の PShare で切替ながらの作業は相変わらずである。
メインの液晶は今まで FreeBSD の画面だけを表示していたのだが、
最近は MacMini の画面を表示している事が非常に多くなり、
MacMini 用の BlueTooth キーボード/マウスが
デスクトップにある機会が多くなっている。
更には 13インチの MacBook もデスクトップ上に置かれる事が多くなり、
synergy でキーボード/マウスを共用しているとはいえ
デスクトップは非常に手狭になってしまった。
何とかしなくちゃ
2008/10/20
Blosxom にクロスサイトスクリプティングの脆弱性
バージョン 2.1.1 以前の Blosxom には クロスサイトスクリプティングの脆弱性があるそうです。この脆弱性を攻撃されるとブラウザ上で任意のスクリプトが 実行される可能性があるとの事ですので、 利用されている方は こちら から早急に最新版にアップデートしましょう。
2008/10/18
2008/10/15
MacBook
元々そんなに Mac が好きだった訳ではないのだが、 最近妙に Mac 好きになっている(歳のせい?(違うだろっそんな中発表された新しい MacBook は…結構微妙かも?
アルミが主体のデザインは中々美しいとは思うんだけど、
キーボードや液晶の周囲が黒いのがなんとなく違和感(VAIO みたい)。
これから HD VIDEO の編集を始める予定だから、
FireWire も省略されているのも少し気になる。
マイナーチェンジで FireWire が復活しないかな…
それよりもキーボードは白(もしくはアルミシルバー)にならないかな…
そしたら Snow Lepoard を併せて買いだろうな(希望)
2008/10/12
2008/10/07
2008/10/05
2008/10/01
Happy Hacking Keyboard
詳しくは書けないが、とある事情により Happy Hacking Keyboard (PD-KB02) の 新品を先日入手した。もう3年近く前(2005/12/27)に販売が終了しているので、 今更入手できるとは思っていなかったから非常に嬉しい
これで PD-KB02 は新品が1台、オークションでゲットした綺麗めの完動品が1台、 何故か左 Fn キーが動作しないものが1台、現在も職場で愛用中の完動品が1台…と、 計 4台となったので、当面(多分一生)安泰だと思う。
以前のエントリーでも書いたが Happy Hacking Keyboard Professional 2 (PD-KB400WN)も職場で使用しているのだが、 個人的には PD-KB02 のメンプレンスイッチのキータッチの方が、 PD-KB400WN の静電容量無線点方式のキータッチよりも好みかな。
2008/09/30
2008/09/26
2008/09/24
2008/09/22
2008/09/16
2008/09/12
Dual Head + KVM Switch + Synergy
目の前の19インチ液晶(メイン)には FreeBSD の画面が常時表示されているその右隣の17インチ液晶(サブ)は KVM Switch 経由で FreeBSD の画面(Dual Head)、 Windows Xp、Mac mini、仕事用の評価機が接続されていて、 必要に応じて切り替えながら使用している。
FreeBSD、Windows Xp、Mac mini には Synergy がインストールされているので、 サブ画面を Windows Xp、Mac mini に切り替えた時でも、 画面を切り替えながら1組のキーボード/マウスで透過的に操作可能。
(勿論 KVM Swith に接続されたキーボード/マウスでも操作可能。
職場の作業環境が非常に快適になりました。
2008/08/26
2008/08/24
2008/08/20
Time Machine
Leopard から搭載された Time Machine というバックアップシステム標準状態だと Time Machine のバックアップ先は直接接続されたドライブ、 もしくは Apple 純正の Time Capsule しか選択できないのだが、 以下の手順を実施する事により samba で共有しているネットワークドライブに バックアップする事ができたので備忘録としてメモを残す。
- samba で新規の共有を作成する → 共有する名称は任意でかまわない
- ターミナルから以下のコマンドを実行する
$ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
名前: | ネットワークドライブに作成されたイメージのファイル名 |
場所: | 任意の場所 |
ボリューム名: | 任意の名称 |
ボリュームサイズ: | バックアップに必要となる容量を指定する |
ボリュームフォーマット: | Mac OS 拡張 (ジャーナリング) |
暗号化: | なし |
パーティション: | 単一パーティション - Apple パーティションマップ |
イメージフォーマット: | スパースバンドル・ディスクイメージ |
ネットワーク越しにスパースバンドル・ディスクイメージを作成できないので、 "場所" はローカルディスクを指定する必要がある。
一番最初に" イメージフォーマット" を スパースバンドル・ディスクイメージに設定する事により 実際のハードディスク容量よりも大きなサイズが指定できる。
2008/08/19
2008/08/12
2008/08/09
HDD交換
製造が中止になってしまった様で巷からめっきり姿を消してしまった HTS721010G9AT00(2.5インチ、Ultra ATA、7200rpm)の未使用新品を、 某大手オークションで落札できたので T43 の内蔵 HDD を交換した。
交換直後は BIOS が ERROR 2010 となってしまったが、 ネットで検索した内容を参考に アメリカのLenovoのサイトから firemware の更新プログラムを取得して HDD のファームウェアを アップデート(?)したら表示されなくなった。
2008/08/08
2008/07/31
2008/07/30
2008/06/30
2008/06/12
訃報 - ぷらっとホームの本多会長
秋葉原デビューした頃、よく足を運んだぷらっとホームの会長が逝去された。謹んでご冥福をお祈りします。
まだお店があった頃は秋葉原に行くと必ず顔を出して
珍しいものや変なものを探し出すのを楽しみにしていた。
当時 FreeBSD や Linux などの PC-UNIX を利用している者にとっては、
非常に貴重な情報源の一つであり、
多いとは言えない動作実積のあるハードウェアを購入できるお店だった。
PnP の SoundBlaster が 4,000円程度で売っている横で、
非 PnP の SoundBlaster を 9,000円以上で販売していたり(笑
そういえば "Network is computer" という(当時の)キャッチフレーズが付いた
Sun Microsystems 純正の犬のヌイグルミを買った時に、
「領収書下さい。但し書きはネットワーク機器で…」なんて
そんな冗談が通じるお店だった。
ちなみにあのヌイグルミは今でも自宅で元気にしています
他にも KVM 切替機の PShare(PS-104F)やら、
Happy Hacking Keyboard(PD-KB02)、
Acceralated-X など色々とお世話になりました。
そういえば、Linux 対応の CDE なんてのも買った気がする…
2008/06/06
2008/06/05
2008/05/27
2008/05/19
2008/05/18
2008/05/17
iSCSI Initiator on FreeBSD
職場で iSCSI のハードウェアの検証をする事になり、 Buffalo の TeraStation を購入した。仕事関係では Linux の Initiator から接続できれば OK なのだが、 折角なので FreeBSD でも試してみた。
生活環境としているのは FreeBSD 6.3-RELEASE-p2 なのだが、 残念ながら iSCSI は FreeBSD 7.0-RELEASE でサポートされた機能の様なので、 こんな事もあろうかと(うそ) ThinkPad X30 にインストールしてあった FreeBSD 7.0-RELEASE で試してみる。
# kldload scsi_initiator # iscontrol -d -t IPアドレス TargetName=iqn.2004-08.jp.buffalo:TS… TargetAddress=IPアドレス # cat << EOF > /etc/iscsi.conf > name { > TargetName=iqn.2004-08.jp.buffalo:TS… > TargetAddress=IPアドレス > } > EOF # iscontrol -n name # ls /dev/da* /dev/da0 /dev/da0s1ドライバをロードした後で iscontrol (8) コマンドを実行して target を検索したら /etc/iscsi.conf に設定を保存して 再度 iscontrol (8) コマンドを実行。
をを! ちゃんと /dev/da0s1 が生えてくる!
結構感動した
2008/05/16
2008/05/15
2008/05/14
2008/05/13
grep & awk
grep "^HOGEHOGE" file | awk 'BEGIN { FS = "="}; { print $2 }'というコード。一見何も問題ない様に見えるし確かに動作はするが、 CPU とプロセスと時間の無駄遣いである。
awk (1) には拡張正規表現が実装されているで、
awk 'BEGIN{FS="="}/^HOGEHOGE/{ print $2 }' fileとすれば grep (1) の分だけ CPU やプロセス、時間が節約できる。
sed -n '/^HOGEHOGE/s/^.*=//p' fileとするのも等価かな。
行指向の処理であれば煩雑な awk (1) よりも sed (1) の方が見やすいので、 個人的には sed (1) を利用した方法がお勧め。
シェルスクリプトに限らずスクリプト言語で記述されたプログラムは、
source file が直接人の目に触れる可能性が高いので、
恥ずかしくないプログラミングを心がけたいと思う。
- export (1) しないシェル変数は全て小文字で書く。
-
[ -z "${foo}" ] && foo="FOO"
という書き方でも問題ないけど、${foo:-FOO}
と記述した方がすっきり記述できるし意味が判りやすいのでお勧め。 -
trap (1) で 0 を指定するとスクリプトが正常終了した時にも
指定した処理が実行されるので、
プログラム中で作成した一時ファイルの削除などにはもってこい。 -
grep (1) や cut (1) と
awk (1) や sed (1) を組み合わせて使うのは、
殆どの場合において CPU とプロセスと時間の無駄遣い。
あまりにも複雑な正規表現が必要な場合や 処理が煩雑になる場合は勿論この限りではない。 -
エラーメッセージは標準エラー出力に出そう。
unix を使う上では基本中の基本です。
- インデント幅はスクリプト内で統一しましょう。 Tab でも スペース何個でも OK ですが、 1ファイルの中のインデント位は合わせないと恥ずかしいです。
-
${PATH} は信用せずにフルパスをシェル変数に代入して使う様にしましょう。
たまに ${PATH} に "." を含める脳障害としか思えないアホがいるので、 スクリプト中で使用するコマンドはfoo="/path/to/foo" : ${foo}
な感じで使うが良いと思います。
foo="echo /path/to/foo"
スクリプトのデバッグ中はこんな感じに変更しとくと mv (1) や rm (1) の様なコマンドの実行を抑止できる。
logger="/usr/bin/logger -p daemon.err -t ${myname}"
なんて設定しとくと共通のロギング処理にもなるので安全便利。
linux 環境だと /bin/sh が bash だったりするので、 設定によっては cp や rm などが、 cp -i とか rm -i などの様な迷惑千万な alias に設定されていても スクリプトの動作に支障をきたさない。
シェルの内部コマンドも含め全てのコマンドは execv (2) 可能でなければならないと POSIX で決まっているので、 POSIX 準拠を詠っている OS であれば全てのコマンドが揃ってる(筈)。
-
複数行に渡る長いメッセージや固定データは echo (1) ではなく
てヒアドキュメントを。
echo "………" > ${output} echo "………" >> ${output} echo "………" >> ${output}
などと書いていると途中行を修正する時に ">>" をついうっかり ">" にしてしまったりする間違いをする危険性が高いので、cat << EOF> ${output} ……… ……… ……… EOF
と記述する様にすれば安心確実です。 -
スペースで区切られたデータの構文解析は set (1) を活用しよう。
年、月、日 をそれぞれ $year、$month、$date に代入する処理は素直に書けばdate=`date '+%Y %m %d'` year=`echo $date | awk '{ print $1 }'` month=`echo $date | awk '{ print $2 }'` day=`echo $date | awk '{ print $3 }'`
な感じになるが date (1)、echo (1)、 awk (1) の呼び出しが煩雑になる。
それならばset `date '+%Y %m %d'` year=$1 month=$2 day=$3
の方が CPU やプロセス、時間の節約になる。
勿論位置パラメタは上書きされるので必要な値は事前にシェル変数に保存する。 -
bash や zsh に依存した処理は絶対使わない
勿論 csh スクリプトなんて論外。
2008/05/12
2008/05/11
2008/05/10
2008/05/09
2008/05/08
ブログを初めてみた
いつまで続くか判らないが何となく思いついた事をダラダラと書き捨てていく予定。
blosxomというソフトウエアを利用している。
ざっと眺めただけなのだが軽くて良い感じかも?
さっそく既存の Plugin を参考に写真とURLを自動リンクする Plugin を作成した。