ガベコレ(もどき)
光にしてから久しぶりにジョージア州・アトランタにある無線機を聞いている。 回線の帯域に余裕があるせいか、心なし綺麗に聞こえる気がするぞ。こういう技術が 出てくると、受信器はロケーションの良い場所に設置して、それをみんなで利用するなんて 事が可能になりそう。リモートシャックもいいな。
で、どのぐらいのパケットが流れているか10秒間隔で測ってみた。
C:\>netstat -e 10 受信 送信 バイト 318758391 106456922 ユニキャスト パケット 414893 240728 ユニキャスト以外のパケット 4126 170939 破棄パケット 0 0 エラー パケット 0 0 不明なプロトコル パケット 0 インターフェイス統計 受信 送信 バイト 319432563 106524332 ユニキャスト パケット 416609 241544 ユニキャスト以外のパケット 4126 170945 破棄パケット 0 0 エラー パケット 0 0 不明なプロトコル パケット 0 インターフェイス統計 ;; 以下、バイト数のみ バイト 320098617 106634996 バイト 320778045 106747814 バイト 321444441 106815314 バイト 322116471 106887080 バイト 322781001 106954352 バイト 323440767 107026604
大雑把に言って、66KByte/s ぐらいか。こんなもんで、あれだけの帯域(200KHz)に飛び交う全電波形式の データを受信出来ちゃうんだね。
どんなパケットに乗ってやって来るかと思ったら、HTTPだったよ。
GET /~~othersjj?chseq=2986362 HTTP/1.1 Host: w4ax.com User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate DNT: 1 Connection: keep-alive Referer: http://w4ax.com/ Cookie: ID=4fabcdefghijkxyz; view=2 HTTP/1.1 200 OK Server: WebSDR/20120424.2117-32 Content-Length: 501 Content-Type: text/html; charset=UTF-8 Cache-control: no-cache chseq=2986364;statsobj.innerHTML="Past 10 seconds: CPUload=29.4%, 20.22 users; audio 982.9 kb/s, waterfall 970.0 kb/s, http 89.3 kb/s<br> 160m: 10sec ADmin/max=-5162/5020; ever ADmin/max=-13906/12317<br> 80m: 10sec ADmin/max=-2858/2187; ever ADmin/max=-32768/32767<br> 75m: 10sec ADmin/max=-1061/1186; ever ADmin/max=-32768/32767<br> 40m: 10sec ADmin/max=-375/712; ever ADmin/max=-32768/32767<br> 20m: 10sec ADmin/max=-114/129; ever ADmin/max=-32768/32767<br> 0(0) 0(0) 45858(257120549) 36129.3 0(0) -nan"; uu(7,'::ffff:74.18.23.157',0,0.546354);
上記は定期的なメッセージだけど、実データは、300から500バイトぐらいに小分けにして、 サーバーから送りつけられている。最初はてっきりUDPあたりで丸投げしてると思っていた けど、TCPできっちり送ってくるとは、見上げた根性だな。やっぱり分析はしてみるものだ。
上記URLの配置がおいら的にはちょっと気にいらんな。(使わせてもらって文句言うなってのは 無しね)受信器なら、頭にウォーターフォールの画面があって、その下左は、チューニングボタン、 右側にはSメーターでしょう。更に下側に、フィルターの設定とか、ワイド/ナロウ表示の 切り替え。その下あたりにバンド切り替えぐらいがいいな。
そんなに文句があるなら、HTMLのソースを読んで、スクラップ/ビルドせいよ。動作確認は、 自前のWebサーバーが必要か。ちょいと面倒そう。GUIのユーザビリティを根拠に、提案して みるのが手っ取り早いかも。文句(もとえ、提案)するのは自由だからな。その前に、 UIの本でも読んで、理論武装が必要かな。
そう言えば、暫く前にCQ誌で連載してたSDRのキットが売り出され ていた。 特設ページも有って、頑張ってるな。
YAESUとかICOMとか、やる気ないから、アマチュアさんが代わりに頑張ってますって のの象徴だな。 (ああ、アルインコで発売してた。DX-SR8T)
時計合わせ
ArchBangを使っているんだけど、時計が合っていない事に気づいた。
HARDWARECLOCK="UTC" #HARDWARECLOCK="localtime" TIMEZONE="Asia/Tokyo"
rc.confの設定をどちらに転がしても、JSTから9時間進んだり、遅れたりしちゃう。 まるで、日本に住むのはヤダって拒否してるみたい。こういう時は地道にsysctlの下でも 漁ればなんとかなるかも知れないけど、面倒なので、時計合わせ奉行に任せちゃえ。 どんなのあるかな?
[sakae@bang ~]$ pacman -Ss ntpd community/networkmanager-dispatcher-ntpd 1.0-2 Dispatcher Script for ntpd community/networkmanager-dispatcher-openntpd 1.0-3 Dispatcher Script for openntpd community/openntpd 3.9p1-14 Free, easy to use implementation of the Network Time Protocol.
openntpdってのを入れてみた。これって、 OpneBSDな人たちが開発してるやつだよね。 他にもopensshシリーズとかやってるんで、安心な事にかけちゃ、折り紙付きだろうね。
/etc/rc.confにopenntpdって書いておくと、起動時から正しい時間 を保ってくれる。でも贅沢言わせてもらうと、ntpqが入っていないんで、同期具合が 確認出来ない。サーバーとして使ってる訳ではないんで、ntpdate一発で、起動時に 合わせちゃえば、今回の件は解決しちゃうな。普通のntpを入れて、お茶を濁すかな。
VMWARE-toolsの素敵な機能
仮想PCで学ぶ「体当たり」Windowsシステム管理 のvmware編を見てたら、VMWARE-Toolsを使っての、仮想DISKの圧縮記事が出てた。
そんな機能が有った事をかすかに覚えてはいたんだけど、圧縮しちゃったら使う時に展開 しなきゃならないから、遅くなっちゃうんじゃないかと、余り興味を持っていなかったんだ。 でも、記事を読んで、圧縮と言うよりもガベコレの一種である事に気づいたんだ。 (ガベコレって何や? それは、草取りって、 看破された人が居ました。)
ガベコレ大好き人間としては、こりゃやってみなきゃって訳で、ArchBangで試してみる 事にする。何たって、ArchBangは、ローリングリリースを特徴としてるんで、カーネルを 始めアプリに到るまで、みさかい無くバンバンとアップデートされるんだ。 その為、Diskの中は、ぐちゃぐちゃになってる可能性が高い。
OpenBSDだとセキュリティ性を高める為、消したファイルはゼロクリアするとかの 考慮がされてるけど、Linuxだとそんな事は無いだろう。よって、ファイルを消しても データはそのまま残ってて、圧縮の対象にならんからな。
VMWAREでのDISK圧縮は、rm された不用なデータはゼロクリアして、ゼロになってる 領域を圧縮するという方針になってるみたいだ。多分、不用データのクリアは、ゲストOS のfsck機能を使って実現。ゼロ領域の圧縮は、VMWARE側が受け持ってると思われる。
正に、ガヴベコレ。マーキングはゼロクリアで回収は圧縮に対応してる。
折角なんで、VMWAREのバージョンを3から4.0.2へ上げたよ。3をuninstallsてWindowsを reboot。4をinstallしてもう一度rebootさせられた。ちょいと面倒だったよ。
VMWARE-toolsを入れる
VMWARE-toolsは、Windows側のvmware内に、ひっそりとlinux.isoとかfreebsd.isoって形で 置いてある。(vmwareで仮想システムを起動した時、ネットから自動的にDLされる)
こやつを仮想CDROMにマウントして取り出せばいいんだけど、あれArchBangではどうするん だったっけな? 困った時は、man mountだな。
The non-superuser mounts. Normally, only the superuser can mount filesystems. However, when fstab contains the user option on a line, anybody can mount the corresponding system. Thus, given a line /dev/cdrom /cd iso9660 ro,user,noauto,unhide any user can mount the iso9660 filesystem found on his CDROM using the command mount /dev/cdrom or mount /cd
マウント情報を、/etc/fstabに書いておけとな。それから、マウントせえや。(その前に、 マウントポイントの作成をお忘れなく)
で、tar玉を取り出してINSTALLなんて言う書類に目を通す。rootになった上で、GUI環境上で インストールスクリプトを実行せいとな。
その通りにしたんだけど、途中の質問で、rcN.d (N: 0 - 6)の何処に入れますかなんて聞いてきた。 そんなの、ArchBangには無いんですけど。。。 まあ、ダミーで作ってあげてもいいんだけど、 スクリプトがどうなってるか見とくか。
見たら、パアルのスクリプトなんで、すぐに閉じちゃったよ。もう、おいらはパアルのスクリプト なんて読めない事になってますんで。ここで、方針をがらりと変える事にします。
世の中の素直?な、Linuxにインストールして、その上前だけをかすめてくる事にします。 素直なLinuxの代表として、CentOS 6.2に登場してもらいました。どうせ、こちらにもインストール するんだし。
Cent側では、CDROMが自動マウントされた状態で起動してきました。便利になってるねぇ。こん なんでいいのか。まあ、Windowsに対抗するには、これぐらいは当たり前。VMWARE-toolsのインストールも 、ひたすらリターンキーを叩いたら、あっけなく終了してしまいました。
どんなのがインストールされてるか確認すると、/usr/binの下に、vmware-toolboxなんてのが あるけど、こちらはGUI用。おいらは、CUIでの操作で十分なので、vmware-toolbox-cmdに なるかな。こやつ、/usr/lib/vmware-tools内へのリンクになってるので、vmware-toolsを ごっそりと掠め取ってきた。そして、ArchBang側で、/usr/binの下からリンクしてあげた。
早速vmware-tool-cmdを起動するも、何も言ってこない。まさか、混ぜるな危険。事故責任は自己で、 ってやつなんでしょうか? 環境がお気に召さない? しょうがないので、何が起こって いるか、確認してみる。
[sakae@bang ~]$ strace vmware-toolbox-cmd : open("/etc/vmware-tools/config", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) : exit_group(-1) = ? [sakae@bang ~]$
ファイルが無いってんで、ひっそりと終了するってぇ、いじわるをしてますよ。しょうがないので CentOSを見習って、
[sakae@bang vmware-tools]$ cat config libdir = "/usr/lib/vmware-tools"
書いてあげた。このconfigが、正しくインストールされたかを示す防波堤の役目をしてるんだな。 だから、あえて何も言わない作りになってるのね。
[sakae@bang ~]$ vmware-toolbox-cmd help Usage: vmware-toolbox-cmd <command> [options] [subcommand] Type 'vmware-toolbox-cmd help <command>' for help on a specific command. Type 'vmware-toolbox-cmd -v' to see the VMware Tools version. Use '-q' option to suppress stdout output. Most commands take a subcommand. Available commands: device disk script stat timesync upgrade (not available on all operating systems)
今度は、きちんと動いてるっぽい。そんじゃ、目指すはdiskコマンドだな。
[sakae@bang ~]$ vmware-toolbox-cmd help disk disk: perform disk shrink operations Usage: vmware-toolbox-cmd disk <subcommand> [args] Subcommands: list: list available mountpoints shrink <mount-point>: shrinks a file system at the given mountpoint [sakae@bang ~]$ vmware-toolbox-cmd disk list vmware-toolbox-cmd: You must be root to perform disk operations. [sakae@bang ~]$ sudo vmware-toolbox-cmd disk list / /boot /home
ガベコレは、rootでお願いって、そりゃそうだわな。ちなみに、shrinkって小さくなるって 意味なのね。
shrink するぞ。
これが、縮む前のDISKを、調べたもの。2GのDISKを6本用意して、12Gで運用。7本目のDISKは 予備です。RAIDでもやれってか?
$ ls -l *.vmdk -rw-r--r-- 1 sakae Administrators 1479409664 May 24 12:57 Bang-s001.vmdk -rw-r--r-- 1 sakae Administrators 1362952192 May 24 12:57 Bang-s002.vmdk -rw-r--r-- 1 sakae Administrators 1181417472 May 24 12:57 Bang-s003.vmdk -rw-r--r-- 1 sakae Administrators 1330118656 May 24 12:57 Bang-s004.vmdk -rw-r--r-- 1 sakae Administrators 596770816 May 24 12:57 Bang-s005.vmdk -rw-r--r-- 1 sakae Administrators 235995136 May 24 12:57 Bang-s006.vmdk -rw-r--r-- 1 sakae Administrators 65536 May 24 12:57 Bang-s007.vmdk -rw-r--r-- 1 sakae Administrators 694 May 24 12:34 Bang.vmdk
これじゃ分からんのでWindowsのエクスプローラーに調べさせたら、5.76Gと言ってきた。
[sakae@bang ~]$ sudo vmware-toolbox-cmd disk shrink / Partition / is not shrinkable [sakae@bang ~]$ sudo vmware-toolbox-cmd disk shrink /boot Progress: 100 [===========>] Disk shrinking complete. [sakae@bang ~]$ sudo vmware-toolbox-cmd disk shrink /home Progress: 13 [==> ]
とても耐えられないぐらいの時間がかかってガベコレ終了。どれぐらい縮んだかな?
$ ls -l *vmdk -rw-r--r-- 1 sakae Administrators 1461518336 May 24 13:57 Bang-s001.vmdk -rw-r--r-- 1 sakae Administrators 1359478784 May 24 13:57 Bang-s002.vmdk -rw-r--r-- 1 sakae Administrators 1180368896 May 24 13:57 Bang-s003.vmdk -rw-r--r-- 1 sakae Administrators 1329332224 May 24 13:57 Bang-s004.vmdk -rw-r--r-- 1 sakae Administrators 476643328 May 24 13:57 Bang-s005.vmdk -rw-r--r-- 1 sakae Administrators 39124992 May 24 13:57 Bang-s006.vmdk -rw-r--r-- 1 sakae Administrators 65536 May 24 13:57 Bang-s007.vmdk -rw-r--r-- 1 sakae Administrators 694 May 24 13:05 Bang.vmdk
エクスプローラーからの報告では、5.43Gだった。大騒ぎしたわりには、余り効果が 無かったな。一番R/W率が高い、ルートパーテションが縮小出来ないってのが痛いな。 今度パーテションを切る時は、そういう点も気をつけよう。ちなみに今は、
[sakae@bang ~]$ df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 rootfs 8393656 3805688 4587968 46% / /dev 254504 0 254504 0% /dev run 256016 452 255564 1% /run /dev/sda3 8393656 3805688 4587968 46% / shm 256016 0 256016 0% /dev/shm tmpfs 256016 4 256012 1% /tmp /dev/sda1 68741 16516 48611 26% /boot /dev/sda4 3582348 151816 3430532 5% /home
こんな具合になってる。
ArchLinuxでは、圧縮の効果が余り無かったんで、FreeBSDでどうなるかやってみる。10.0Gあった やつが、6.47Gになった。3.5Gの無駄領域を回収出来たんだな。これは効果絶大!
[sakae@secd ~]$ sudo vmware-toolbox-cmd disk list / [sakae@secd ~]$ sudo vmware-toolbox-cmd disk shrink / Progress: 37 [====> ]
何故GC大好きになったか
おいらがアマチュア無線を始めたのは小学校の終わりぐらいだったかな。 同級生の兄がアマチュア無線やってて、遊びに行くといつも無線やってた。それで おいらもやってみたいって思った訳だ。
でも、学生の分際では小遣いが少なくて、送信機はおろか簡単な受信器さえ組み立てる部品 を買えなかった。 そこで、やむにやまれず、ゴミ集め(正式名称、ガーベッジ・コレクション、略してガベコレ)ですよ。
町内を巡って、捨ててあるラジオやらテレビの中にある部品を集めてくるって訳。 テレビが捨ててあると小躍りして喜んだね。水平偏向回路の最終段の球やら 映像増幅器の12BY7Aなんて球(こやつ、終段を押すのに丁度よかった)が見つかると、その日一日幸せな気分だったなあ。
って言う事で、おいらは筋金入りのGC(ごみ集め)大好き人間なのさ。GCは地球にも優しい んだぞー。 もったいないを世界に広めてノーベル章を貰った方もいたな。 最近だと、都市鉱山なんてのもあるな。
アメリカ発の使い捨て文化は捨てて、GCで行きましょうや。