2015年6月28日日曜日

HPサーバーのSSACLI(Smart Storage Administrator CLI)

RHELやCentOSにインストールしてやって、RAIDの構成や物理ドライブの情報をコマンドで調査できる(Windowsでもできると思う)

# hpssacli

=> controller all show

Smart Array P222 in Slot 4                (sn: xxxxxxxxxxxxxxxx)

=> controller slot=4 logicaldrive all show

Smart Array P222 in Slot 4

   array A

      logicaldrive 1 (931.5 GB, RAID 1, OK)

=> controller slot=4 physicaldrive all show

Smart Array P222 in Slot 4

   array A

      physicaldrive 2I:1:1 (port 2I:box 1:bay 1, SAS, 1 TB, OK)
      physicaldrive 2I:1:2 (port 2I:box 1:bay 2, SAS, 1 TB, OK)

=> quit

とても便利。めったに使わないのでコマンドをすぐ忘れそう。

2015年5月7日木曜日

「先読み」と「後読み」の正規表現(lookahead assertion と lookbehind assertion)

「詳説 正規表現」で「先読み」、「後読み」と呼んでいる正規表現は英語でそれぞれ lookahead assertion, lookbehind assertion、まとめて lookaround assertion と呼ぶ。

$ echo 'Regex example:1234567890.' | perl -p -i -e 's/(?<=\d)(?=(\d{3})+(?!\d))/,/g'
Regex example:1,234,567,890.

2015年5月6日水曜日

Windows ローカルアカウントでログオンするとき「.\ユーザー名」が使える

ドメインに参加していた Windows 7 のPCにローカルアカウントで入りなおすとき、いつも "コンピューター名\ユーザー名" の形式で入力していた。コンピューター名をその都度調べて正確に入力しないといけないから面倒くさいと感じていたが、実は「.\ユーザー名」という形式にも対応しているのだった。

出力をクリップボードにリダイレクトする方法(clip, xclip)

Windows で作業をしていて初めて知った("clip"コマンド)。Linux/Unix の世界にも同様のコマンドがあった("xclip")。知ってよかった。

C:\Users\foo>date /T | clip

2015年2月22日日曜日

Fedora Live USB Creator: "vesamenu.c32: not a COM32R image"

Fedora 21 Workstation の ISO と liveusb-creator をダウンロードしてWindows 8.1 を使ってブータブルUSBを作ってみたものの、次のメッセージが出て起動しなかった。(BIOS環境の場合のみ。UEFIの場合は問題なかった)


vesamenu.c32: not a COM32R image
boot:

この症状は、USBの中にあるSYSLINUXの設定ファイル、具体的には /syslinux/syslinux.cfg をほんの少しだけ変更してあげれば治った。

変更前の /syslinux/syslinux.cfg:
default vesamenu.c32
timeout 100
...
変更後
default linux0
timeout 100
...

こちらに書いてあるように、プロンプトでTabキーを押してイメージの候補を表示する、という方法もある。が、キーボード押したくない場合には syslinux.cfg を編集すればよい。



2015年2月20日金曜日

netshコマンドを使ってWindowsファイアウォールのポートを開ける

netshというコマンドを使えばいい。

たとえば TCP/80 を開けたいなら、コマンドプロンプトを管理者として開いて

netsh advfirewall firewall add rule name="HTTP" dir=in action=allow protocol=TCP localport=80
を実行すればOK。

ここで、nameオプションは「ルールの名前」と呼べばよいだろうか。文脈に応じて分かりやすい文字列を指定すればよい。

Windows Server 2012と2008で動作確認した。

2014年4月20日日曜日

Emacs 24.3, DDSKK-15.1, Mac OS 10.6.8

前提

  • Mac OS X 10.6.8
  • Emacs 24.3 (emacsformacosx.com で配布されている)
  • make が使えること

作業

ddskk-15.1 をダウンロードして展開
$ cd ~/work
$ wget ftp://ftp.ring.gr.jp/pub/elisp/skk/maintrunk/ddskk-15.1.tar.gz
$ wget ftp://ftp.ring.gr.jp/pub/elisp/skk/maintrunk/ddskk-15.1.tar.gz.md5
$ md5 ddskk-15.1.tar.gz
MD5 (ddskk-15.1.tar.gz) = c33f335994b93ea91783bf5b42663f07
$ cat ddskk-15.1.tar.gz.md5 
MD5 (ddskk-15.1.tar.gz) = c33f335994b93ea91783bf5b42663f07
$ tar xzf ddskk-15.1.tar.gz
ddskk-15.1/SKK-CFG の内容を変更
;; (setq SKK_DATADIR "/Applications/Emacs.app/Contents/Resources/etc/skk")
;; (setq SKK_INFODIR "/Applications/Emacs.app/Contents/Resources/info")
;; (setq SKK_LISPDIR "/Applications/Emacs.app/Contents/Resources/site-lisp/skk")
;; (setq SKK_SET_JISYO t)
上記4行を有効にする。
(setq SKK_DATADIR "/Applications/Emacs.app/Contents/Resources/etc/skk")
(setq SKK_INFODIR "/Applications/Emacs.app/Contents/Resources/info")
(setq SKK_LISPDIR "/Applications/Emacs.app/Contents/Resources/site-lisp/skk")
(setq SKK_SET_JISYO t)
念のため make what-where でインストールパスを確認
$ cd ddskk-15.1
$ make what-where
emacs -batch -q -no-site-file -l SKK-MK -f SKK-MK-what-where
Loading subst-ksc...
Loading subst-gb2312...
Loading subst-big5...
Loading subst-jis...
Loading /Users/th/work/ddskk-15.1/SKK-CFG...

SKK modules:
  skk-viper, skk-emacs, ccc, cdb, context-skk, queue-m, skk-abbrev, skk-act, skk-annotation, skk-auto, skk-autoloads, skk-azik, skk-cdb, skk-comp, skk-cursor, skk-cus, skk-dcomp, skk-develop, skk-gadget, skk-hint, skk-inline, skk-isearch, skk-jisx0201, skk-jisyo-edit-mode, skk-kakasi, skk-kcode, skk-leim, skk-look, skk-macs, skk-num, skk-server-completion, skk-server, skk-show-mode, skk-sticky, skk-tankan, skk-tut, skk-vars, skk-version, skk, skk-study
  -> /Applications/Emacs.app/Contents/Resources/site-lisp/skk

SKK infos:
  skk.info
  -> /Applications/Emacs.app/Contents/Resources/info

SKK tutorials:
  SKK.tut, SKK.tut.E, NICOLA-SKK.tut, skk.xpm
  -> /Applications/Emacs.app/Contents/Resources/etc/skk
パスが「/Applications/Emacs.app/Contents」になっているので問題なし。
make install
$ sudo make install Emacs=/Applications/Emacs.app/Contents/MacOS/Emacs
ここで、Emacsの実行形式ファイルのパスを指定するのを忘れないように(忘れると、あとでEmacsからddskkを実行したときにエラーが出ます)。

以上。