2010/09/23

Debian Lenny のインストーラUSBの作成(最短経路)

調べながら迷走しながらしながらやったので、備忘として記述。

■準備
・Linuxマシン(インターネットにつながる)
・USBメモリ(1G以上くらい?)

■前提
・USBのデバイスは、/dev/sda1
・全てrootユーザで操作
・完成後は「最小ネットワークインストール用ディスクを入れたブート可能USBメモリ」に。
・すべては、2010/09/23 当時のみ有効


■手順
・作成作業(コピペしていけるくらい全自動)
apt-get install dosfstools
mkdosfs -F 32 /dev/sda1
wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/boot.img.gz
gunzip boot.img.gz
dd if=boot.img of=/dev/sda1
wget http://cdimage.debian.org/debian-cd/5.0.6/i386/iso-cd/debian-506-i386-netinst.iso
mkdir ./usbmem
mount -t vfat /dev/sda1 ./usbmem
cp -ipv debian-506-i386-netinst.iso ./usbmem

・確認
ls -l ./usbmem

-rwxr-xr-x 1 root root       496 2010-06-18 22:26 adgtk.cfg
-rwxr-xr-x 1 root root       367 2010-06-18 22:26 adtxt.cfg
-rwxr-xr-x 1 root root 157630464 2010-09-05 20:24 debian-506-i386-netinst.iso
-rwxr-xr-x 1 root root        68 2010-06-18 22:26 disk.lbl
-rwxr-xr-x 1 root root        56 2010-06-18 22:26 exithelp.cfg
-rwxr-xr-x 1 root root       888 2010-06-18 22:26 f1.txt
-rwxr-xr-x 1 root root       568 2010-06-18 22:26 f10.txt
-rwxr-xr-x 1 root root       665 2010-06-18 22:26 f2.txt
-rwxr-xr-x 1 root root       852 2010-06-18 22:26 f3.txt
-rwxr-xr-x 1 root root       486 2010-06-18 22:26 f4.txt
-rwxr-xr-x 1 root root       806 2010-06-18 22:26 f5.txt
-rwxr-xr-x 1 root root      1220 2010-06-18 22:26 f6.txt
-rwxr-xr-x 1 root root       916 2010-06-18 22:26 f7.txt
-rwxr-xr-x 1 root root      1019 2010-06-18 22:26 f8.txt
-rwxr-xr-x 1 root root       765 2010-06-18 22:26 f9.txt
-rwxr-xr-x 1 root root     56513 2010-06-18 22:26 g2ldr
-rwxr-xr-x 1 root root      8192 2010-06-18 22:26 g2ldr.mbr
-rwxr-xr-x 1 root root       132 2010-06-18 22:26 gtk.cfg
-rwxr-xr-x 1 root root   5184027 2010-06-18 22:26 initrd.gz
-rwxr-xr-x 1 root root  13006064 2010-06-18 22:26 initrdg.gz
-r-xr-xr-x 1 root root     13631 2010-06-18 22:26 ldlinux.sys
-rwxr-xr-x 1 root root   1469616 2010-06-18 22:26 linux
-rwxr-xr-x 1 root root       531 2010-06-18 22:26 menu.cfg
-rwxr-xr-x 1 root root       190 2010-06-18 22:26 prompt.cfg
-rwxr-xr-x 1 root root    292416 2010-06-18 22:26 setup.exe
-rwxr-xr-x 1 root root      6329 2010-06-18 22:26 splash.png
-rwxr-xr-x 1 root root       523 2010-06-18 22:26 stdmenu.cfg
-rwxr-xr-x 1 root root        87 2010-06-18 22:26 syslinux.cfg
-rwxr-xr-x 1 root root       131 2010-06-18 22:26 txt.cfg
-rwxr-xr-x 1 root root    145800 2010-06-18 22:26 vesamenu.c32
-rwxr-xr-x 1 root root       182 2010-06-18 22:26 win32-loader.ini

■所感
Linuxのコマンドラインで作成するのは、やり方を知っているなら簡単かもしれない。
Windows上で「ddと同じ操作」「gzipの操作」は、結構装備を必要とする。

2010/09/05

debianでsamba-vscan/vscan-clamav を使ってのリアルタイムスキャン設定

偉い長い時間ハマった上、希望を満たせなかった…ので記念ハピコ。


少し古い技術だが、「SAMBAでファイルアクセスされた瞬間にウィルススキャンする機構」であるsamba-vscanを導入。ウィルススキャンソフトはフリー定番のclamav。

■前提

・Linux debian 5.0 (lenny) 2.6.26-2-686 ※安定版の現在最新
・samba clamav 導入済 ※apt-get install samba clamav clamav-daemon
・sambaは、他機からファイルを読み書き出来る状態まで持ってってる
・clamav はclamscan clamdscan くらいテストしてOkな状態
・方針は基本「楽をする」パッケージで行けるとこはソレで、無理ならビルドとか自前とか
・作業は、2010/09/05 時点のみ有効

■作業

0.前提

-作業はすべてrootで行っている体で(良い子は真似しちゃだめ
-作業場は /home/tmp とします


1.ビルド済みのsambaソースを用意

./configure , make まで終わったsambaが必要らしいので、パッケージの元となったソースを取得しコンパイル。

apt-get install gcc
apt-get source samba
cd ./samba-3.*/source
./configure
make proto


2.samba-vscan の取得・展開

http://www.openantivirus.org/ のサイトからソースを落とす。

wget http://www.openantivirus.org/download/samba-vscan-0.3.6c-beta5.tar.gz
tar -xvzf samba-vscan-0.3.6c-beta5.tar.gz
mv samba-vscan-0.3.6c-beta5 samba-vscan
※後述のパッチが上記の"samba-vscan"というディレクトリ名を期待しているため、リネーム

3.パッチを当てる

善意の方が作ってくれた野良パッチを当てる。

wget http://www.maxxer.it/wp-content/uploads/2010/04/samba-3.2.5_vscan-0.3.6c-beta5.patch.gz
gunzip samba-3.2.5_vscan-0.3.6c-beta5.patch.gz
patch -p0 < samba-3.2.5_vscan-0.3.6c-beta5.patch

さらに、samba-3.Xに対してインターフェイスが古い(らしい)ので、以下を参考にパッチを作成、当てる。http://www.mail-archive.com/samba@lists.samba.org/msg98075.html

cd samba-vscan
vi ./global_h_extend.patch

      1 ===================================================================
      2 --- include/vscan-global.h.orig 2004-10-05 21:47:54.000000000 +0200
      3 +++ include/vscan-global.h      2008-12-09 15:55:04.000000000 +0100
      4 @@ -69,6 +69,17 @@
      5   #endif
      6  #endif
      7
      8 +/* Patched by T. Wild, 9.12.2008, because pstrcpy removed by samba.org */
      9
     10 +#define PSTRING_LEN 1024
     11 +typedef char pstring[PSTRING_LEN];
     12 +#define pstrcpy(d,s) safe_strcpy((d),(s),sizeof(pstring)-1)
     13 +#define pstrcat(d,s) safe_strcat((d),(s),sizeof(pstring)-1)
     14 +
     15 +/* Furthermore init_module changed to init_samba_module */
     16 +
     17 +#define init_module(void) init_samba_module(void)
     18 +
     19 +/* end of patch by T. Wild */
     20
     21  #endif /* __VSCAN_GLOBAL_H */
     22 ===================================================================

patch -p0 < ./global_h_extend.patch

4.samba-vscan のコンパイル


先程コンパイルしたsambaのソースをやりやすい場所に移動。
(作業ディレクトリに移動した前提)

cp -r ./samba-3.*/source ./samba-vscan/samba-source

configファイルを改造。(オプションで指定しても良いが、全自動で行きたいので)

cd ./samba-vscan
vi ./configure

   3675 SAMBA_SOURCE="./samba-source"
   3676 SAMBA_INSTALLPERMS_BIN="0644"

   4302 SAMBA_VFSLIBDIR="/usr/lib/samba/vfs"

   6907 s,@SAMBA_INSTALLPERMS_BIN@,$SAMBA_INSTALLPERMS_BIN,;t t

※細かいことは、内容読んで「お察し下さい」

./configure

(省略、以下出力)

** Configuration summary for samba-vscan 0.3.6c beta5 :

 Compile samba-vscan for Samba      : "3.2.5"
 Compile samba-vscan with sources in: ../samba-3.2.5/source/
 Compile samba-vscan backends       : oav sophos fprotd fsav trend icap mksd kavp clamav nai antivir
 Use GLOBAL_LIBS                    :
 Use libmksd as                     : builtin
 Use libkavdc as                    : builtin

Now type "make" to build all mentioned backends.
Or "make {}" to build only specific backend(s).
On *BSD systems please use GNU make (gmake) instead of BSD make (make).
と、出る。

make

お、エラーなし?拍子抜けだがうまく行った。(その前に試行錯誤で半日吹っ飛んでるがw)

make install

これで、/usr/lib/samba/vfs/ に vscan-*.so なファイルが10個以上コピーされている…はず。
必要なファイルは vscan-clamav.so だけなので、make install せずにファイルコピーでも良いです。

5.vscan-clamav の設定

リアルタイムスキャンを行うため,設定ファイルを記述。

・samba側

vi /etc/samba/smb.conf
      5 [global]
          ~
     26 vfs objects = vscan-clamav
     27 vscan-clamav: config-file = /etc/samba/vscan-clamav.conf

・vscan-clamav側

vi /etc/samba/vscan-clamav.conf
      1 [samba-vscan]
      2 max file size = 10485760
      3 verbose file logging = yes
      4 scan on open = yes
      5 scan on close = yes
      6 deny access on error = yes
      7 deny access on minor error = yes
      8 send warning message = yes
      9 infected file action = quarantine
     10 quarantine directory  = /var/tmp/clamav/quarantine
     11 quarantine prefix = vir-
     12 max lru files entries = 100 
     13 lru file entry lifetime = 5
     14 exclude file types =
     15 clamd socket name = /var/run/clamav/clamd.ctl


再起動
/etc/init.d/clamav-daemon restart
/etc/init.d/samba restart

これで、完了。eicar.com とかテストファイルを置いてみて、アクセス出来ないならOK。

■既知の問題(っていうか、要望通りで無い点)

 ・「ファイルをコピーしに行った時点」で拒否ってくれない

vscan-clamav.confに「発見したらどうするか」の設定があるくらいなので、「ファイル置く→即時に拒否」してくれるのかと思いきや、「ファイルは置ける」「置いた後アクセス不能」という挙動。
たしかにこれなら「外の人には迷惑かけない」仕組になるが、「ウィルスファイルを溜めるサーバ」になっちゃう気がする…

設定ファイルとログを観察する限りでは、1.ファイルコピー時、2.ファイルオープン時、3.ファイルクローズ時 にスキャンしているようだが、そのうち 1. のタイミングの時だけ「発見しても何もしない」ようだ。

これは、多分「仕様の動きとは違う」と思われるのだが…他環境や旧モジュールの組み合わせで検証するほど時間はないので、知っている方が居たらどうか教えてください。m(_ _)m

・ウィルススキャンに引掛っての「アクセス拒否」かどうかがわからない

これはきっと仕様。ウィルススキャンにより異常がおこってもメッセージボックスからではわからない。
ウィンドウズ上のファイル操作(ウィルスファイルをコピーするとか)なら「指定されたネットワーク名は利用できません」、アプリとかなら「アクセス権がありません」と表示される。
まあ、仕組を考えればそれが限界な気もするが、なんとかできるならなんとかしたい。

 ■所感

以上、問題ありまくりながらも導入完了し、なんとなくええ感じに。
他サイトでよく言われている、「CPU負荷」「遅い」などは、そもそもネットワーク&マシンが遅い我が家では「きにならない」→「問題はない」としとく。気になってきたらもう全面廃止でウィークリー全ファイルチェックとかに切り替えようと思う。

2010/08/17

SonyVAIOの「バッテリーの充電が完了しました」音声ファイルを取り出す

多分ニーズないだろうけれど…w 自分的に苦労したので記録。
知人がメールの着信音を、SonyVAIOの"消したい音声"でおなじみ「バッテリーの充電が完了しました。」にしてて笑ったので、自分の携帯の充電完了音をそれにしたくて探す。(無論、俺の携帯はW-ZERO3、Sony製ではないw)
あと、ココ見て感動したり、「茂木さん美人さんだなぁ」とか色々…

で、音声ファイルを捜すが、Google先生は無いの一点張り。
ここで、Sony公式の「ドライバダウンロードサイト」にユティリティが転がってないか探してみる…とビンゴ。

■必要なもの
・どうなっても良いWindowsXPマシン

■作業
※レジストリやProgramFiles内を汚すので、どうなっても良い環境でやるのが吉です。一番賢いのは、使い捨ての仮想OS内かも?

ココから"PowerPanel_410S009XA.exe"をダウンロードし、解凍。
・フォルダができると思うので、Disk1\Setup.exe実行。
・エラーメッセージが出まくると思うが、OK押しまくる。
・"C:\Program Files\PowerPanel\Program" (デフォルトなら) というフォルダが出来ていたら、そこに"FULLBAT.WAV"、"LOWBAT.WAV"が出来てれば成功。

…ただ「セットアップ失敗するユティリティの中から残骸取り出している」だけですけどねw
少し足りない作業があるかも?「"SnyUtils.dll"が無い」的なメッセージで、インストーラが進まない人は、ココから"SUDLLME.EXE"をダウンロードしてインストールしてみてください。

■所感
必要ないし、作業としてもレベルの低いものですが、「欲しかったので人の実機から取り出した人」も居るみたいなので、取りあえず記録。
これで、Sharp製の我が携帯もSonyStyle(パチもん)へとよりウサン臭くなれたのではないかとw

※無断連載・リンク切れご容赦。

2010/08/15

HP t5730w Thin Client の設定


日本橋のPC-NETというところで、6,980円で売ってたので、サーバーできんじゃん!と思って購入。

動作確認に、HP公式サイトから落とせる「Windows XP Embedded」を入れてみたところ、「い、家にあるすべてのマシンよりUI・動画サクサクじゃん?」てな感じになったので、「XP運用」できないか模索。(おめーん家がしょべーん(ry)

■参照
ここを丸パクリさせていただいた。感謝!(そして無断リンクご容赦)
http://blogs.dion.ne.jp/au_masa/archives/8716464.html


■方針
・既存構成はできるだけ触らない(不自由な点のみロックを外していく、てな要領で)
・USBメモリをHDD替わりにする(Dドライブとして外さない)
・Program Filesとマイドキュメントは、Dドライブに同一構成作って、極力そっちへ持ってくよう努力する運用(人力てwアホっぽいw)


■用意
・本体
・ディスプレ、マウス、キーボードとかあれやこれや
・USBメモリ(HDDの代わりで運用します大きさはお好みで(8G以上推奨))
・HP純正「WindowsXPEmbdedd」イメージ ※ココからダウンロード 


■作業
・ダウンロードしたExeから、USBにOSイメージを書き込む
・USB差して内部SSDにOS書き込む

・Shift押しながら起動。Administrator/Administratorでログイン。
・右端のタスクトレイから、EWFは「ライトフィルターを無効化」にする。(これでHDに書き込める)
・プログラムの追加と削除から、要らないものをアンインストール(要領減らしと管理外のものをおいておきたくないため)
 Altiris client Agentz
 HPCA Registration And Loading Facility
 Symantec Endpoint Protection Firewall
 Vmware View Client(要る局面はあるかもしれないが、あくまでも「使えるXP端末を作る」なので…)
 HP device Advice Eagent
 HP Sygate Security Agent
 Java(TM) 6 Update 14
・管理ツールから、UserManagerでログインユーザの整え
 Kazuhito追加
 KazuhitoをAddministratorグループへ追加
 Userを削除
・レジストリエディターから、オートログイン設定を消す。
 \HKEY_LOCAL_mACHINE\software\Microsoft\Windows NT\currentViersion\WinLogon\ らへんから、
 AltDefaultPassword、AltDefaultUserName、AutoAdminLogon、AutoLogonPasswordDefaultPassword、DefaultUserName
 など、それっぽいのをしこたま削除。
・インストールに使ったUSBをフォーマット、Dドライブとして認識しておく
・画面解像度の変更など、カスタマイズ
・ログオフ、再起動し、一度自分のユーザでログインしてみる。
・MyDocumentをd:\側に移しておく。
・デスクトップに、マイドキュメント、マイコンピュータ、マイネットワークをよみがえらせてひと段落。これでXPっぽく。
・実行可能な容量を作る努力
 レジストリエディタで「Z:\~」になっているものを、「D:\~」に変更(USBメモリは用意しておくこと。)
 コントロールパネルから、「HP RAMディスクマネージャ」により、RAMDIskを最小(2)にする。
 ※消せるかもしれないが調査不足、メモリを50食って処理しているのと同じだから、返還してあげる。



■既知の不具合(随時更新中)
・AdobiReader入れられず。インストーラでエラーメッセージボックス出してこける。

■所感
まだ「調べ物をWebで検索する程度」しか使ってねーけど、割とサクサク。ニコ動もスイスイ♪

調べるとEmbededdは「その箱用にシェイプして作るWinOS」らしいすね。
で、このThinClient用OS、初っ端じゃ何もインストールできない。
本当にWebとMPlayerとVMWareビューアにだけにしかなりえない「ThinClient」だった。

結構ピュアにDOS-V機っぽいので、USBにCDイメージいれてブート試したら純正XP、2000とかもいけるぽい。
(他サイトで出来たって人を見た)
ただ、如何なる場合も「ドライバ探し地獄」が時間食いそう…その点HP提供のEmededdは完璧なので、そっち削ったほうが楽だと判断。それに機械さえ手に入ればライセンス言われずにタダでXPを複製し放題って気持よくね?w
つーことで、今回は「純正からどれだけ時間と手を掛けず使い物にするか」基準でやってます。
(このやり方だと「何個か買って大量生産」という目もある。ほんとは他OSも改造もいろいろあるらしいんだけどね…)

情報によれば、中古市場で大量出回り期は4000円くらいだったらしいので、今のタイミングで7000円は割高なよう。
ただ、「一万円程度でWen・メールそこそこできる省スペース無線端末(Fanレス)が手に入る」と考えれば、ニーズありそうってかジジババ騙せそうw

たとえば、リビングなどの多人数が居る場所に、テレビをモニターとしてつないどく、って使い方。
Lan引くとか処置をしなくても追加出来るのは価値があるかなと。

コイツは現在、PC欲しがっている従兄弟んとこに就職予定で、入れれるアプリでニーズが合うか模索中。
で結局、サーバ用もう一台買ったw(割高だとあれほど…)