harry’s memorandum

おれおれメモ

古いLinuxのcpuinfo

諸事情でesxi5のvmでcentos3.9をインストールして触っていたのですが、/proc/cpuinfoをみたら Core i5 が Mobile Pentium になってた。やったね!。Dixonってメンドシーノじゃないですか。カッパーマインより古いCPUと判断されるのはちょっとビックリ。

CentOS3.9のcpuinfo

$ cat /etc/redhat-release
CentOS release 3.9 (Final)
$ cat /proc/cpuinfo  | grep -3 "model name"
vendor_id       : GenuineIntel
cpu family      : 6
model           : 5
model name      : Mobile Pentium II (Dixon)
stepping        : 5
cpu MHz         : 2525.888
cache size      : 256 KB

こっちはCentOS5.8のcpuinfo

$ cat /etc/redhat-release
CentOS release 5.8 (Final)
$ cat /proc/cpuinfo  | grep -3 "model name"
vendor_id       : GenuineIntel
cpu family      : 6
model           : 37
model name      : Intel(R) Core(TM) i5 CPU       M 460  @ 2.53GHz
stepping        : 5
cpu MHz         : 2527.000
cache size      : 3072 KB

base64の備忘録

とりあえず、base64をしたかったのですが、調べると色々な方法があるなぁ、と思ったので備忘録。

opensslコマンド

一番よく使う方法かな。

$ echo -n dharry | openssl enc -base64
ZGhhcnJ5
$ echo  "ZGhhcnJ5" | openssl  enc -d -base64; echo
dharry
base64コマンド

Linuxだとこれかな。coreutilsは便利だけど他のUNIXだとなかったりするんだな。

$ echo -n dharry | base64
ZGhhcnJ5
$ echo -n "ZGhhcnJ5" | base64 -d; echo
dharry
$ rpm -qf /usr/bin/base64
coreutils-5.97-34.el5_8.1
nkfコマンド

これはこれで便利

$ echo -n "dharry"| nkf  -MB; echo
ZGhhcnJ5
$ echo -n "ZGhhcnJ5"| nkf -mB; echo
dharry
perl

perlはどのUNIXでもあるから一番楽かも。でもHP-UX11.00ぐらいだと厳しい。

$ echo -n "dharry" | perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)'
ZGhhcnJ5
$ echo -n "ZGhhcnJ5" | perl -MMIME::Base64 -ne 'print decode_base64($_)'; echo
dharry
ruby
$ echo -n dharry   | ruby -r base64 -e 'puts Base64.encode64(STDIN.read)'
ZGhhcnJ5
$ echo -n ZGhhcnJ5 | ruby -r base64 -e 'puts Base64.decode64(STDIN.read)'
dharry
python
$ echo -n dharry | python -c "import base64,sys; base64.encode(sys.stdin,sys.stdout)"
ZGhhcnJ5
$ echo -n ZGhhcnJ5 | python -c "import base64,sys; base64.decode(sys.stdin,sys.stdout)"
dharry
PowerShell

コマンドレットは便利と思ったけどいまだになじめない。慣れは重要ですね。

PS C:\Users\dharry> $str = "dharry"
PS C:\Users\dharry> $str =  [Convert]::ToBase64String([System.Text.Encoding]::GetEncoding("iso-2022-jp").GetBytes($str))
PS C:\Users\dharry> $str
ZGhhcnJ5
tcl

tclshで試してみた。centosのtclだとbase64ライブラリがなかったのでActiveStateのActiveTCL8.5.11.1で確認。

% package require base64
2.4.2
% base64::encode "dharry"
ZGhhcnJ5
curl

apachebasic認証に渡すときはbase64にしているのでwgetcurlでもいけるはずだ。でも少しawkで頑張れば行けると思うけど面倒だから使わない。

$ curl -vu dharry: http://example.com 2>&1 | awk '{ if($0 ~/Authorization/) print $(NF)}'
ZGhhcnJ5Og==
$ echo -n ":" | base64
Og==
vbs

なんだかvbsが嫌になってきた。

Private Function base64(str)
	Dim dom, elem, bin, result

	Set st = CreateObject("ADODB.Stream")
	With st
		.Type = 2
		.Charset = "Shift-JIS"
		.Open
		.WriteText str
		.Position = 0
		.Type = 1
		bin = st.Read
		.Close
	End With

	Set dom = CreateObject("Microsoft.XMLDOM")
	Set elem = dom.CreateElement("tmp")
	elem.DataType = "bin.base64"
	elem.NodeTypedValue = bin
	result = elem.Text

	base64 = result
End Function
Wscript.echo base64("dharry")

フリーで使える iSCSI ターゲット

フリーで使えるiSCSIターゲットは増えましたね。ほとんどOSSだし嬉しい限りです。iSCSIソフトウェアターゲットとiSCSI使えるディストリビューションを混ぜてメモ。

FreeBSD

BSDiscsiあるけど、私はBDSよくわかってないのでFreeNASしか使いたくない...

Linux

tgtdはrhel, ietはubuntu という感じです。専用のディストリビューション使いたくなるけど、ここはやせ我慢してみる。
気になるのは、zfsが使えないOpenMediaVaultに価値はあるんだろうか...ああ、btrfsやNILFSを待てばいいんだな。

Windows

Windowsでは最近マイクロソフトからリリースされたやつがMSFCでも使えるし本命かな。

Misc

機能制限で2TBまでのストレージが使えるみたい。2TBもあれば十分と思うんだけど。

ApacheでActiveDirectory認証の備忘録

ActiveDirectory使ったときの備忘録。

AuthLDAPBindDN ディレクティブを使った方法

検索用ユーザとパスワードを記述。でも生でパスワード書くのは抵抗ある。

<Location /test>
   AuthType Basic
   AuthBasicProvider ldap
   AuthName "test Authentication"
   AuthzLDAPAuthoritative off
   AuthLDAPBindDN mysearch-user@dharry.local
   AuthLDAPBindPassword password
   AuthLDAPURL ldap://dharrydom:389/CN=users,DC=dharry,DC=local?saMAccountName
   Require valid-user
</Location>

減色ツールをちょっと調べてみた

ふと気になった。フリーウェアではこのあたりがよさげ。

Caesium (http://caesium.sourceforge.net/)

f:id:dharry:20101009152755j:image
一括処理でき、比較しながら減色できる。portable版もある。今のところこれがお気に入り。

BatchGOO!NEXT (http://www.vector.co.jp/soft/win95/art/se338069.html)

f:id:dharry:20101005015822j:image
一括処理でき減色性能も高そう。でもよくわからんバンドルソフトが3つもあるので3つのexeは事前にリネームしておいたほうがいいかも。*1

 move setup_jw.exe  __setup_jw.exe
 move setup_nt.exe  __setup_nt.exe
 move setup_tw.exe  __setup_tw.exe

RIOT (http://luci.criosweb.ro/riot/)

f:id:dharry:20101005015823j:image
一括処理でき減色性能も高そう。いい感じなのは比較しながら減色できる。ちょっと嬉しい。

*1:Jwordとか天気予報アプリとか..

色々あるフリーなデフラグツール

WikipediaによるとNTFSが登場した当初マイクロソフトはこんな感じ。

Windows NT系ではDiskeeper Corporation製のデフラグツール(Diskeeperの簡易版及びマイクロソフト側の微調整が施されている)が収録されている。NT系ではWindows NT4.0には収録されておらず、後継製品のWindows 2000より搭載されている。これは当初Windows NT4.0のNTFSファイルシステムにおいては断片化が発生しにくい(往時は「しない」とも評されていた)という前提があったために搭載を見送ったという見方が強い(この目論見は結果的に失敗した)。

結局NTFSはファイルの断片化が激しいから、どんどんフリーのデフラグツールが増えています。
むかしはDisKeeper欲しいけど高くて手が出せないなって思っていたんですけど、いい時代になりました。

WinContig

ファイルやフォルダを指定してするシンプルなデフラグ
http://wincontig.mdtzone.it/en/index.htm
f:id:dharry:20100917003055p:image

Smart Defrag

多機能すぎ。バックジョブで動いて自動的にフラグメンテーション検知してデフラグしてくれる。
http://www.iobit.com/iobitsmartdefrag.html
f:id:dharry:20100917010559p:image

Defraggler

1番のお気に入り。速い、軽い、スケジュール可能。System Volume Information 以下もみてくれる。
http://www.piriform.com/defraggler
f:id:dharry:20100917003058p:image

MyDefrag

JkDefragが新しくなってみんなのMyDefragになりました。スクリプト化できるのでタスクスケジューラに積むのに最適です。2番目にお気に入り。
http://www.mydefrag.com/
f:id:dharry:20100917003701p:image

PageDefrag

Sysinternals製のデフラグ。pagefileやeventlogなど通常はデフラグできないファイルを次回OS起動時にデフラグしてくれる。Sysinternal感謝。
http://technet.microsoft.com/ja-jp/sysinternals/bb897426.aspx
f:id:dharry:20100917003057p:image

Glarysoft Disk Speedup

Glary Utilities のところのデフラグツール。見た目シンプルなのに高機能。
http://www.glarysoft.com/products/utilities/disk-speedup/download/
f:id:dharry:20100917012031p:image

WinUtilities Free Edition

そういえばWinUtilitiesにもデフラグツールあった。スケジュール組めないけどそれなりに便利。
http://www.ylcomputing.com/content/view/329
f:id:dharry:20100917013322p:image

Quicksys Disk Defrag

速い。大体の機能はそろっている。
http://www.qdiskdefrag.com/
f:id:dharry:20100917014601p:image

UltimateDefrag FREE Public Domain Version

DiskをAnalyzeした画面がかっこいい。機能は豊富。でもフリー版は201/09/17時点でVersion1.72、有償版はすでにVersion3だったりする。
http://www.disktrix.com/
f:id:dharry:20100917005206p:image

Auslogics Disk Defrag

定番のデフラグツール。多機能で速い。
http://www.auslogics.com/en/software/disk-defrag/
f:id:dharry:20100917015450p:image


こんなに揃っているとWindows標準のデフラグは使う必要ないですね。でもデフラグごときで常駐プロセスが増えるのはあまり好きじゃないので、普段はMyDefragのスクリプトをタスクスケジューラで実行、気が向いたときはDefragglerというのが私のデフラグライフです。でもデフラグのやりすぎはディスクにとって逆効果でしょうから程々に。

ちょっと前から知ってたWindowsの小技

やっぱしLinux/UNIXにくらべるとネタは少ないですね。

Windowsのバージョン
> winver.exe
IISを再起動するコマンド
  • IISを再起動
> iisreset.exe
  • IISを再起動するコマンドで何故かリモートサーバのOSを再起動*1
> iisreset.exe \\remotehost /reboot
Windowsでプロセス一覧を取得する

XP以降*2にあるtasklist.exeコマンドで取得できます。

  • プロセス一覧取得
> tasklist.exe
  • リモートサーバのプロセス一覧を取得
> tasklist.exe /s remotehost /u user /p password /fo csv
  • 詳細なプロセス一覧をCSV形式で出力
> tasklist.exe /v /nh /fo csv 
Windowsでプロセスを終了する
  • プロセス名をワイルドカードで指定して強制終了
> taskkill.exe /F /IM calc*
 成功: プロセス "calc.exe" (PID 2160) は強制終了されました。
 成功: プロセス "calc.exe" (PID 2332) は強制終了されました。
 成功: プロセス "calc.exe" (PID 548) は強制終了されました。
 成功: プロセス "calc.exe" (PID 3876) は強制終了されました。
 成功: プロセス "calc.exe" (PID 3804) は強制終了されました。
 成功: プロセス "calc.exe" (PID 1724) は強制終了されました。
  • リモートサーバのプロセスをPIDを指定して強制終了
> taskkill.exe /s remotehost /u user /p password /F /PID 4544
 成功: PID 4544 のプロセスは強制終了されました。
MMCコンソール

リモート接続できてサービスやイベントログなど操作

  1. [スタートメニュー]->[管理ツール]->[コンピュータの管理]を起動。
  2. コンテキストメニューから[別コンピュータへ接続]をクリックして、リモートコンピュータを入れておしまい。

f:id:dharry:20100717040345j:image

メモ帳を開くたびに日付を入力させる。
  1. hoge.txtを新規作成して 「.LOG」と入れて保存。
  2. あとはnotepad.exeで起動。
コマンドラインデフラグ

mydefragとかいいツールがたくさんあるので、Windows標準のdefrag使う機会は少ないですけど。

> defrag.exe -a c:\
 Windows ディスク デフラグ ツール
 Copyright (C) 2001 Microsoft Corp. and Executive Software International, Inc.

 分析レポート
     98.53 GB 合計,  45.07 GB (45%) 空き,  18% 断片化 (37% ファイルの断片化)

 このボリュームを最適化してください。
共有ディレクトリでオープンしているファイル
  • リモートサーバの共有ディレクトリでオープンしているファイルを調べる。
> openfiles.exe /query /s remotehost

ローカルの共有ポイントをとおしてリモートで開いているファイル:
---------------------------------------------

ID       アクセス             種類       開いているファイル (パス\実行可能ファイル)
======== ==================== ========== ====================================
20       MYUSER                Windows    C:\tmp
43       MYUSER                Windows    C:\tmp\foo.txt


*1:対象のリモートサーバにWindows認証でセッション張っておくと便利

*2:Windows XP Homeにはないです