古い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
apacheのbasic認証に渡すときはbase64にしているのでwgetもcurlでもいけるはずだ。でも少し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使えるディストリビューションを混ぜてメモ。
OpenSolaris/OpenIndiana
COMSTAR最高です。
- Solaris iSCSI Targets (http://download.oracle.com/docs/cd/E19082-01/819-2723/fncpi/index.html)
- COMSTAR (http://hub.opensolaris.org/bin/view/Project+comstar/WebHome)
- NexentaStore Community Edition (http://www.nexenta.com/corp/)
- napp-it (http://www.napp-it.org/)
Linux
tgtdはrhel, ietはubuntu という感じです。専用のディストリビューション使いたくなるけど、ここはやせ我慢してみる。
気になるのは、zfsが使えないOpenMediaVaultに価値はあるんだろうか...ああ、btrfsやNILFSを待てばいいんだな。
- Openfiler (http://www.openfiler.com/)
- OpenMediaVault (http://blog.openmediavault.org/)
- PulsarOS (http://pulsaros.digitalplayground.at/)
- Linux SCSI target framework (http://stgt.sourceforge.net/)
- iSCSI Enterprise Targe (http://iscsitarget.sourceforge.net/)
Windows
Windowsでは最近マイクロソフトからリリースされたやつがMSFCでも使えるし本命かな。
- StarWind (http://www.starwindsoftware.com/)
- Microsoft iSCSI Software Target (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=45105d7f-8c6c-4666-a305-c8189062a0d0)
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/)
BatchGOO!NEXT (http://www.vector.co.jp/soft/win95/art/se338069.html)
一括処理でき減色性能も高そう。でもよくわからんバンドルソフトが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
色々あるフリーなデフラグツール
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
UltraDefrag
Smart Defrag
多機能すぎ。バックジョブで動いて自動的にフラグメンテーション検知してデフラグしてくれる。
http://www.iobit.com/iobitsmartdefrag.html
Defraggler
1番のお気に入り。速い、軽い、スケジュール可能。System Volume Information 以下もみてくれる。
http://www.piriform.com/defraggler
MyDefrag
JkDefragが新しくなってみんなのMyDefragになりました。スクリプト化できるのでタスクスケジューラに積むのに最適です。2番目にお気に入り。
http://www.mydefrag.com/
PageDefrag
Sysinternals製のデフラグ。pagefileやeventlogなど通常はデフラグできないファイルを次回OS起動時にデフラグしてくれる。Sysinternal感謝。
http://technet.microsoft.com/ja-jp/sysinternals/bb897426.aspx
Glarysoft Disk Speedup
Glary Utilities のところのデフラグツール。見た目シンプルなのに高機能。
http://www.glarysoft.com/products/utilities/disk-speedup/download/
WinUtilities Free Edition
そういえばWinUtilitiesにもデフラグツールあった。スケジュール組めないけどそれなりに便利。
http://www.ylcomputing.com/content/view/329
Quicksys Disk Defrag
速い。大体の機能はそろっている。
http://www.qdiskdefrag.com/
UltimateDefrag FREE Public Domain Version
DiskをAnalyzeした画面がかっこいい。機能は豊富。でもフリー版は201/09/17時点でVersion1.72、有償版はすでにVersion3だったりする。
http://www.disktrix.com/
ちょっと前から知ってた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コンソール
リモート接続できてサービスやイベントログなど操作
- [スタートメニュー]->[管理ツール]->[コンピュータの管理]を起動。
- コンテキストメニューから[別コンピュータへ接続]をクリックして、リモートコンピュータを入れておしまい。
メモ帳を開くたびに日付を入力させる。
- hoge.txtを新規作成して 「.LOG」と入れて保存。
- あとは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にはないです