2012年4月30日月曜日

Windows7 クイック起動でバッチファイルを起動するには

Quick Launch(クイック起動)にバッチファイルを置くには
タスクバーから引数付コマンドプロンプトを起動するには
クイック起動にショートカットを配置すると、起動がワンクリックで出来るのでとても便利です。 しかし、いざ自分でバッチファイルを作ったものをクイック起動しようとしても登録できません。

バッチファイルのショートカットは登録出来ないようになっている様です。
グーグルで検索しても出来ないとの解答がほとんどですが、いろいろやってみましたらできる方法がありました。

まずバッチファイルを作成します。


ここでは、メモ帳を起動するバッチファイルを作成します。

[c:\run-note.bat]
notepad.exe

次に、クイック起動用のショートカットを作成します。 クイック起動のショートカットはバッチファイルは指定できませんが、実行形式なら可能です。 そこで次の用にショートカットを作成します。

デスクトップ上で右クリック
[新規作成]-[ショートカット]
項目の場所を指定して下さい:

[C:\Windows\System32\cmd.exe]

とコマンドプロンプトを指定します。

適当にショートカットに名前をつけます。

ここでは、

run-note

としました。

こんなかんじでショートカットが作成されます。

実際にバッチファイルを起動するようにリンク先を修正します。

ショートカットを右クリックのプロパティー


C:\Windows\System32\cmd.exe /C "c:\run-note.bat"

のようにします。

これをドラッグしてクイック起動でドロップします。







これでバッチファイルがクイック起動で動作出来ました。

cmd.exe の /C オプションでバッチファイルを指定することで今まで出来なかったバッチファイルを起動しています。

また、ショートカットが実行形式なので、クイック起動にも載せられるわけです。

以前自分でこれをやってたんだけど、最近になってもう一度やろうと思ったらできなくて(爆) 四苦八苦してようやくできた。

で、めも。(笑)

2010年12月15日水曜日

FreeBSD8.0 + ProFTPD1.3.3 インストール

ProFTPDインストール
FreeBSD 8.0
ProFTPD 1.3.3
----

■ProFTPDのインストール

Portsからインストールすると簡単です。

#cd /usr/ports/ftp/proftpd
#make configure
#make install clean

続いて設定ファイルを編集します。

#emacs /usr/local/etc/proftpd.conf
[/usr/local/etc/proftpd.conf]
-------
ServerName "EXAMPLE_COM"
ServerType standalone
DefaultServer on
TimesGMT off
UseReverseDNS off
IdentLookups off
ListOptions "-a"

# Port 21 is the standard FTP port.
Port 21
#######PASVモードを使うときの記述
AllowForeignAddress on
MasqueradeAddress ftp.example.com
PassivePorts 10000 10010
#######PASVモードの記述ここまで

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
MaxInstances 30

User nobody
Group nogroup

TimeoutIdle 600
TimeoutLogin 300
TimeoutNoTransfer 600
TimeoutStalled 3600

DefaultRoot ~ !wheel

ShowSymlinks on

------

自動起動の設定
次の行を追加します
#emacs /etc/rc.conf

[/etc/rc.conf] 最終行あたりにでも
------
proftpd_enable="YES"
------

■ProFTPDの起動テスト

#/usr/local/etc/rc.d/proftpd start

192.168.0.100 - 192.168.0.100:21 masquerading as 192.168.0.100

この様に表示されるはずです。

もし、
Starting proftpd.
- Fatal: UseIPv6: Use of the UseIPv6 directive requires IPv6 support (--enable-ipv6) on \
line 36 of '/usr/local/etc/proftpd.conf'
./proftpd: WARNING: failed to start proftpd

のように表示されていれば、IPv6を使わないつもりで

[proftpd.conf]
UseIPv6 off

としていれば、この症状が出ます。

[proftpd.conf]
#UseIPv6 on

のようにコメントアウトすることで正常起動すると思います。


これでサーバーを再起動するとProFTPDが起動してきます。

プロセスの確認
#ps -ax

     :
1439 ?? Ss 0:00.00 proftpd: (accepting connections) (proftpd)
     :

の様にプロセスが確認できればProFTPDが動作しています。

■ユーザーアカウントの追加
ユーザーを追加します。
ここではユーザー名をdaimazinとして登録し、telnet等でログイン出来ない様に
shellにはnologinを設定します。
途中の入力はEnterでよくカッコ内[]に表示される値がデフォルト値です。

# adduser daimazin

Username: daimazin
Full name: daimazin
Uid (Leave empty for default):
Login group [daimazin]:
Login group is daimazin. Invite daimazin into other groups? []:
Login class [default]:
Shell (nologin sh csh tcsh bash rbash nologin) [sh]: nologin ←nologinと入力
Home directory [/home/daimazin]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : daimazin
Password : *****
Full Name : daimazin
Uid : 1011
Class :
Groups : daimazin
Home : /home/daimazin
Home Mode :
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (daimazin) to the user database.
Add another user? (yes/no): no
Goodbye!

これでユーザーが追加されました。


■/etc/shellsの修正
shellに/usr/sbin/nologinを指定することで、セキュリティー上の
安全性が増すのですが、そのままではFTPクライアントからの接続が
出来ません。
そこで/etc/shellsを修正し/usr/sbin/nologinを最終行に追加します。

[/etc/shells]
/usr/sbin/nologin

■FTPクライアントのインストール
Windowsなら

FileZilla
FFFTP

あたりがオススメです。

■ルーターのポート開放
FTPサーバーが自宅サーバー等でルーターの内側にある場合は
ルーターのポート開放を行わなければなりません。

ポート21を開放します。

[/usr/local/etc/proftpd.conf]
PassivePorts 10000 10010

で指定したポートを開放します。
この例では10000-10010を開放します。

完成!

2010年5月6日木曜日

Android:Xperia アプリケーション開発 なかなか面白そう

Androidな携帯Xperiaを購入しました。
Android...Linux 2.6で
アプリがJavaで動作し、開発環境も無料で手に入る。
Eclipseを使い、USBケーブルでデバッグもできる。
内蔵センサーをハンドリングするライブラリもしっかりそろっているし、
ネットワークにもつながっている。
データベースSQLiteも内蔵しているのでデータの保存管理も簡単。
Androidの将来の展開も、組み込み系、カーナビ、ネットブックにも搭載される。
となると、久しぶりにわくわくする『マシン』eXperiaです。

といったことで、早速開発環境をインストール。

初のEclipseだけれども、コーディング中に文法チェックやコンパイルされるところ
に驚く自分もずいぶんとオジサンになったなぁ。
とちょっとシンミリしたのでした。

Xperia Android 開発環境SDKインストール

2010年4月14日水曜日

FreeBSでportsをmake config で選択した項目をリセット・イニシャライズ・初期化するには

FreeBSD
make

FreeBSでportsをmake config で選択した項目をリセット・イニシャライズ・初期化するには。

そのportsの設定情報を削除するにはつぎのようにします。
$make rmconfig

make config-recursiveで設定していれば次のようにします。
$make rmconfig-recursive


portsの過去に選択した設定情報を見るには
$make showconfig

とします。

FreeBSDにYiiをインストールしてみた PHPフレームワークを使ってみる

Install Yii of the PHP Frame Work on FreeBSD8
FreeBSD 8.0
Apache 2.2.14
MySQL 5.0.90 (mysqli)
PHP 5.2.12

PHP のフレームワークで
最近注目されているYiiをインストールしてみた。
php5.1以上が必要です。


#cd /usr/ports/www/yii
#make config-recursive

x Options for yii 1.1.1 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [X] MYSQL Install MySQL PDO support x x
x x [ ] PGSQL Install PostgreSQL PDO support x x
x x [ ] SQLITE Install SQLite v3 PDO support x x
x x [X] REQPHP Install PHP dependencies required by plugins x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x


x Options for pecl-APC 3.0.19 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [ ] MMAP Enable mmap memory support (default: IPC shm) x x
x x [ ] SEMAPHORES Enable sysv IPC semaphores (default: fcntl()) x x
x x [ ] SPINLOCKS Enable spinlocks (experimental) x x
x x [ ] FILEHITS Enable per request cache info x x
x x [ ] PHP4_OPT Little optimization to PHP4 x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x


----------------------------------------------------------------------
Libraries have been installed in:
/usr/ports/databases/php5-pdo_mysql/work/php-5.2.12/ext/pdo_mysql/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
===> Installing for php5-pdo_mysql-5.2.12_2
===> php5-pdo_mysql-5.2.12_2 depends on file: /usr/local/include/php/main/php.h - found
===> php5-pdo_mysql-5.2.12_2 depends on file: /usr/local/lib/php/20060613/pdo.so - found
===> Generating temporary packing list
===> Checking if databases/php5-pdo_mysql already installed
===> Registering installation for php5-pdo_mysql-5.2.12_2
****************************************************************************

The following line has been added to your /usr/local/etc/php/extensions.ini
configuration file to automatically load the installed extension:

extension=pdo_mysql.so

****************************************************************************
===> Returning to build of yii-1.1.1
===> Generating temporary packing list
===> Checking if www/yii already installed

***************************************************************
Now you need to adjust PHP's include_path to contain
`/usr/local/share/yii/framework'

For example, insert:
include_path = ".:/usr/local/share/yii/framework"

into `/usr/local/etc/php.ini'.

If you upgrade from previous version, please read
`/usr/local/share/doc/yii/UPGRADE' first.

For more general information about the Yii, please
visit: http://www.yiiframework.com/
***************************************************************
===> Registering installation for yii-1.1.1

PDO拡張等インストール結果をサーバーに反映させるために再起動します。


include_path = ".:/usr/local/share/yii/framework"


【重要】
#reboot

つぎにYiiの要求仕様をサーバーが満たしているか確認します。
検証用のプログラムをApachから見えるところにコピーします。
ここではApacheがデフォルトの設定のまま使われていると仮定しています。

#cd /usr/local/share/examples/yii/
#cp -r requirements /usr/local/www/apache22/data

ブラウザから今コピーしたrequirementsのページを開きます。

IE・FireFox等で

http://192.168.0.200/requirements

のようにして開きます。


PostgreSQLは今回インストールもしていないので[注意]のままでもOKと。



インストール編 おわり

で。。ここからどーすんの?(^ー^;

2010年4月12日月曜日

FreeBSD起動時にBEEP/ビープ音を鳴らすには

FreeBSD5以降ぐらい

FreeBSDが立ち上がり、SSHなどでアクセスできるようになったとき、マシンから音が起動完了を知らせる音がなると便利なことがあります。

/etc/rc.localに次のようなファイルを作成すると起動後に音を鳴らせます。

[/etc/rc.local]
#!/bin/sh -

/sbin/kldload speaker
echo "CCGGAAG2FFEEDDC2" > /dev/speaker &



ビープ音はMMLで記述できるので、自分の好きな曲を鳴らすが可能です。
がんばれば。。。
ちなみに、ここでは「キラキラ星」が流れます。

ちょっと便利な気がする。

2010年4月11日日曜日

起動時の選択待ち時間の設定 /boot/loader.confの設定

FreeBSD3.1以降

起動時間を短縮するのに、起動直後に表示されるメニュー画面の時間の
設定を変更することができます。
通常10秒の待ち時間があるため、これをもっと身近な時間に設定します。
この設定ファイルは

/boot/loader.conf

に置き、次のように記述します。

[/boot/loader.conf]
autoboot_delay="3"

最初はこのファイルは存在しないので自分で作成しなければなりません。
他の設定項目については、

/boot/defaults/loader.conf

を参照することでいろいろな設定値を確認することができます。

.

2010年4月9日金曜日

cvsup,portupgradeの方法

FreeBSD6,FreeBSD7,FreeBSD8

■準備
サーバーなのでX環境(ウィンドウ環境)は不要です。
今後Xな環境をビルドしないために次の行を追加します。
[/etc/make.conf]
WITHOUT_X11=yes

# cd /usr/ports/net/cvsup-without-gui   Xを使っていないとき
# make install clean

cvsupがこれでインストールされます。
次にports-supfileを編集します。

#cd /usr/share/examples/cvsup
#cp ports-supfile /etc
#cd /etc
#chmod 644 ports-supfile

[ports-supfile]
*default host=CHANGE_THIS.FreeBSD.org

*default host=cvsup.jp.FreeBSD.org
に変更します

次にportsツリーを更新します。

# cvsup -g -L 2 /etc/ports-supfile

次にportupgradeをインストールします。

portsツリーをアップデートしたら、続いて portsupgrade をインストールします。以下のようにして、ports からインストールします。

# cd /usr/ports/ports-mgmt/portupgrade
# make config-recursive
# make install clean

#reboot

portupgrade というコマンドのほか、portsのメンテナンスに必要なコマンドがいくつかインストールされます。さっそくそのうちの一つである portsdb コマンドを使って、先ほど更新した ports ツリーのインデックスを更新しておきましょう。

# portsdb -uU

更新にはしばらく時間がかかります。

packageデータベース依存関係の修復

# pkgdb -aF

インストール済みパッケージの一括アップグレード
各アプリケーションの設定ファイルなどで整合性が取れなくなることが
考えられるので、復元できるように設定ファイルなどをバックアップしておいた
方が良いです。

# portupgrade -a -R

portsのインストール時に残った作業ファイルなどを消すにはportcleanを使います

# portclean -CD


これをスクリプトとして保存しておくと便利です。

たとえば
[pupg.sh]
#/bin/sh

portsdb -uU
pkgdb -aF
portupgrade -a -R
portclean -CD


実行権限をつけて

#chmod 755 pupg.sh

実行するには

#./pupg.sh

とします
crontab を使って深夜に自動実行させてもいいですよね。


.

2010年1月14日木曜日

大量のTunnel Adapter ローカルエリア接続の削除

この記事は
WindowsVista/32 /64
Windows7/32 /64
を対象にして書かれています。

この記事は執筆中ですm(_ _)m
--------------------

インターネットに繋がらないとパソコンが持ち込まれてきた。
ipconfigで表示してみると、驚いたことに
Tunnel adapter ローカル エリア接続 が174個も大量に生成されていた。
気持ちがわるいのでこれを削除する方法をいろいろ探してみたが、インターネットではなかなか見つからない。

#Remove Tunnel Adapter Local Area Connection

と検索してみたら削除方法がみつかったので、翻訳もかねてメモ。

■症状 -simptom-
コマンドプロンプトでipconfigとすると大量のTunnel adapterが表示される。

>ipconfig
Windows IP 構成


イーサネット アダプタ ローカル エリア接続:

接続固有の DNS サフィックス . . . :
リンクローカル IPv6 アドレス. . . . : fe80::59bb:7ebf:d14e:45e2%9
自動構成 IPv4 アドレス. . . . . . : 169.254.69.226
サブネット マスク . . . . . . . . : 255.255.0.0
デフォルト ゲートウェイ . . . . . : 0.0.0.0

Wireless LAN adapter ワイヤレス ネットワーク接続:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続*:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 2:

接続固有の DNS サフィックス . . . :
リンクローカル IPv6 アドレス. . . . : fe80::5efe:169.254.69.226%166
デフォルト ゲートウェイ . . . . . :

Tunnel adapter ローカル エリア接続* 8:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 10:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 11:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 12:

  :
  :
  :わらわらわら
  :
  :

Tunnel adapter ローカル エリア接続* 173:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 174:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :


あぁ。。。。。もーーーー。



■現状の確認
まず、デバイスマネージャでデバイスがどれくらい登録されているか
確認してみます。
しかし、tunnel deviceは通常のデバイスマネージャでは表示されず
確認できません。そのため、非表示となっているデバイスも表示
させます。

デバイスマネージャーの表示
非表示デバイスの表示


 6TO4 Adapter
 isatap.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
{}内の値は、任意。
 っていうのがわらわら



■削除の準備
[スタート]ー[コントロールパネル]ー
[ネットワークとインターネット]ー
[ネットワークと共有センター]ー
[ネットワーク接続の管理]

各接続について[プロパティー]
から
インターネットプロトコルバージョン6 (TCP/IPv6) のチェックを外しておく。



■削除作業
デバイスマネージャーから
 6TO4 Adapter
 isatap.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
を右クリック削除




非表示デバイスを非表示にもどし

再起動
ipconfig で削除できたか確認する。

 isatap.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
はいくつか勝手に復活する。


■原因。。ウイルスが勝手にトンネリングデバイスを登録しているような

最初フレッツ接続ツールが正常にインストールされておらず、
アンインストールさえも正常に動作しなかったため、IPv6を使っていることから
NTTフレッツ接続ツールが犯人だと推測していましたが、
フレッツ接続ツールを正常にアンインストールした後でも
数時間経つと、トンネリングデバイスが追加されていきました。

そこで、ウイルスが疑われたのでウイルス検索を行ったところ、検出されたため
駆除。その後問題ないようです。


■おまけ NTTのフレッツ接続ツールのアンインストールが出来ない!

このパソコンの場合、フレッツ接続ツールの古いバージョンが不完全に入っており、
パソコンの電源を入れる度に
『正常に起動しませんでした』
と表示が出てしまう。
この状態で、「プログラムの追加と削除」でもアンインストールも出来ず、
すべてのプログラムから「フレッツ接続ツール」を開き、「アンインストール」のショートカットをクリックしてもアンインストールできない。

いろいろ調べた上、最新版のフレッツ接続ツールをインストールした
後で、アンインストールすると綺麗にアンインストールできました。


記事原文はこちら。

http://social.technet.microsoft.com/Forums/en/itprovistanetworking/thread/32b0c129-fa2d-431a-a275-4288c729605a

2009年11月28日土曜日

激安PC:GA-G31M-ES2L+Celeron Dual-Core E3200BOX

激安PC:GA-G31M-ES2L+Celeron Dual-Core E3200BOX を買ってみた。

最近Ubuntuなどをいじってみたり、常時稼動のXPをインストールしてみたり。
そんなにパワーはいらないんだけど、消費電力は抑えたい冷え冷えマシンが必要になった時、
安くて安定して使えるパソコン…マザーボードとCPUの組み合わせを考えます。

今回、UbuntuやFreeBSDでのXWindowでの動作のことを考えてIntel系のCPUとチップセットの構成で考えてみました。というのも、AMDのマザーボードではディスプレイドライバがちゃんと対応しておらず、画面が小さく表示されたりして不便なんです。手元のGeodeNXなマシンではFreeBSD7.2もインストールできませんでした(>_< イヤー


M/B GIGABYTE GA-G31M-ES2L 5400円
CPU Intel Celeron Dual-Core E3200BOX 4100円
メモリ DDR2 2G 3400円
ハードディスクやケースなどは古いものを流用
合計 約13000円 (^o^安い~


マザーボードは現時点でのほぼ1年前、2008年12月5日発売のものです。
特にUNIX系であまり新しいマザーボードを購入すると、チップセット等のドライバがまだできておらず、インストールに手間取ることが多いのであえて古いこなれたものがお勧めです。

とりあえずまずXPを入れてみた。なかなか、冷え冷え(^-^


と思いきや、XPの挙動がおかしい。
10時間ほどすると、勝手に再起動しているらしい。
最初はさして気にもしていなかったけど、そのうち再起動の頻度が激しくなり、
1時間ほどで再起動するようになった。
さらに間隔が短くなり、最後には電源ボタンを押しても起動しなくなった。

メモリを交換し
電源を買ってきて交換し(>_<
マザーボードを買ってきて交換し。。。。なおった!

と言う事で原因を究明するまでにかかった時間2ヶ月。
あーあ。

時間がかかりすぎたのでマザーボードは修理扱い。入院です。


買ってきたマザーボード何に使おうかしら(爆笑)


2010/03/10
マザーボードが退院してきた。
入院中に、ふと地デジのダブル録画ができるパソコンが欲しくなり、
マザーボードをさらに注文。
が、そのまま何もせずに両方放置。。。。あぁ。もったいない。

.

2009年9月8日火曜日

PICマイコン比較一覧表 秋月電子通商販売分

 価格
秋月
人気PIN電源ClockProgram
Memory
Data
Memory
Flash
Memory
I/OA/D
(port/bit)
コンパ
レータ
TIMER
Counter
I2CUSBSerial…
                
12F509-I/P601382.0-5.52010244106/5--8   
12F615-I/P1002082.0-5.52010246406/54/1018,8,16   
12F629-I/P120182.0-5.5201024641286-18,16   
12F675-I/P140382.0-5.520102464064/1018,16   
12F683-I/P1801082.0-5.520204812825664/1018,8,16   
                
                
                
16F627A-I/P16019スリム3.0-5.520102422412816-28,8,16   
16F628A-I/P1605183.0-5.520204822412816-28,8,16   
16F648A-I/P2007スリム3.0-5.520409625625616-28,8,16   
16F676-I/P14021スリム2.0-5.520102464128128/1018,16   
16F690-I/P21017スリム2.0-5.52040962562561812/1028,8,16  SSP,ECCP+,EUSART
16F716-I/P11022スリム2.0-5.52020481280134/8     
16F74-I/P500   204096192 33      
16F818-I/P200 18            
16F819-I/P1809スリム 202048256256       
16F84A-20/P2502182.0-5.5201024686413  8   
16F873-20/SP600 28 204096192128       
16F873A-I/P4001228 204096192128225/102 1 USART
16F874-20/P600 40 204096192128       
16F874A-I/P700 40 204096182128338/102 1 USART
16F876-20/SP5001628Slim4.0-5.5208192368256       
16F876A-I/SP500 28Slim4.0-5.5208192368256225/102 1 USART
16F877-20/P5001440 208192368256       
16F877A-I/P3008404.0-5.5208192368256338/102 10USART
16F88-I/P2004182.0-5.5204096368256161/102 10AUSART
16F883-I/SP220  2.0-5.5 41922562562411/1028,8,16  ECCP,CCP,EUSART,MSSP
16F886-I/SP190  2.0-5.52081923682562411/1028,8,16  ECCP,CCP,EUSART,MSSP
16F887-I/P20011402.0-5.52081923682563511/1028,8,16  ECCP,CCP,EUSART,MSSP
                
                
18F1320-I/P400 スリム 408192256256167/100 00EUSART
18F2320-I/SP500 スリム 2540965122562510/102 10MSSP,USART
18F2450-I/SP450 スリム 48163847682562313/100 01MSSP,USART
18F2455-I/SP600 スリム 481228820482562410/102 11MSSP,USART
18F2550-I/SP40015スリム 483276820482562410/102 11MSSP,EAUSART
18F452-I/P60018スリム 40327681536256348/10     
                
18F8720               

2009年8月15日土曜日

FreeBSD7/FreeBSD6 Apache2.2 ForwardProxyのインストール(install)設定

この記事は
FreeBSD7.1
FreeBSD6.2
Apache2.2/Portsインストール版
Apache2.2/tarballインストール版
フォワードプロキシー/プロクシ(Foword Proxy)のインストール
について書かれています

■Apache2.2のフォワードプロキシーのインストール方法・設定方法
PortsインストールされたApache2.2

現在ではmod_proxyは最初からインストールされていないようなので、
自分で追加しなければなりません。

#cd /usr/ports/www/apache22/
#make deinstall
#make clean
#make config

[X] PROXY Enable mod_proxy
[X] PROXY_FTP Enable mod_proxy_ftp
[X] PROXY_HTTP Enable mod_proxy_http

#make install

プロキシのポート番号に8080を使うとき
[httpd.conf]
------------------------
Listen 8080

LoadModule proxy_module libexec/apache22/mod_proxy.so
LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so
LoadModule proxy_ftp_module libexec/apache22/mod_proxy_ftp.so

ProxyRequests on
ProxyVia on

<Proxy * >
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
</Proxy>
------------------------
デフォルトではポート番号に80を使います。


■Apache2.2のフォワードプロキシーのインストール方法・設定方法
tarballでインストールされたApache2.2


Apache2の現在のビルトインモジュールの確認
# /usr/local/apache2/bin/httpd -l
[21:23:21 root ~]# /usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c


apacheのコンパイルオプションの確認

以前のコンパイルしたソース中のconfig.niceを参照する
[config.nice]
#! /bin/sh
#
# Created by configure

"./configure" \
"--enable-so" \
"$@"

apache1.3系なら config.status です

ソースがなければ
#cd /usr/local/apache2/bin
#httpd -V
Server version: Apache/2.2.4 (Unix)
Server built: Aug 3 2007 22:33:04
Server's Module Magic Number: 20051115:4
Server loaded: APR 1.2.8, APR-Util 1.2.8
Compiled using: APR 1.2.8, APR-Util 1.2.8
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr/local/apache2"
-D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"

で確認できます。が、あまり参考にならない。。。


#./configure --enable-so --enable-proxy --enable-proxy-http
#make
#make install

コンパイル結果の確認

#/usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_log_config.c
mod_env.c
mod_setenvif.c
mod_version.c
mod_proxy.c
mod_proxy_connect.c
mod_proxy_ftp.c
mod_proxy_http.c
mod_proxy_ajp.c
mod_proxy_balancer.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c


mod_proxy
mod_proxy_http
が追加されていればOKです。

続いてhttpd.confを編集します。

[httpd.conf]
------------------------
Listen 8080

 :

ProxyRequests on
ProxyVia on

<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
</Proxy>
------------------------

Allow from <接続を許可するクライアントのIPアドレス>
を記述します。
設定を間違えると誰でもこのProxyをつかえるようになり危険です。

tarballからインストールしたこのバージョンでは、
ビルトインモジュールとしてコンパイルされるため
LoadModuleディレクティブは不要です。

■その他覚書

Apache2.2.4ではmod_proxyはconfigureしても追加されませんでした。
Apache2.2.13にバージョンアップしてところ正常にmod_proxyが追加されました。

.

2009年8月4日火曜日

ディスプレイのカラー調整

私のPCのディスプレイは、液晶ディスプレイ3台のマルチディスプレイ構成で使っています。
友人や職場の人にこの話をしても何が便利なのかとよく聞かれます。
でもやっぱり使い始めると手放せない構成です。
何が便利なのか。。。
プログラムをするにしてもサーバーを管理するにしても、ネットで何かPCパーツを探すにしても、資料表示用画面、作業用画面、作業結果画面、すべてが見えた状態で作業をするととても効率がいいのです。

プログラムの開発なら、
左の液晶ディスプレイにRubyのプログラム言語のマニュアルとネットで検索してきたサンプルコード、
真中の液晶ディスプレイにエディタとサーバーにつないでいるシェル画面
右側の液晶ディスプレイにインターネットエクスプローラーでその結果を表示する

用途ごとに画面を分けて表示できるので、マルチディスプレイにすることでウィンドウを探したり、並べ替えたりといった煩雑だった作業から一度に開放されます。


まあ。それはさておき、
ディスプレイが複数あると、色あわせをしなければなんともみっともないことになります。
そこで、ディスプレイの調整をするのですが、これが意外と難しい。
液晶だと画面を見ている角度が少し変わっただけで色味が変わる。椅子にまっすぐ座るかもたれかかって座るかでも青みがかかったり、黄色がかったりするので、厳密な調整はできません。

明るさ、コントラストの調整から色の調整まで行わなければなりませんが、この調整用データーからして探しにくい。大雑把な調整用パターンはあるのですが、もっと細かい調整用パターンがほしい。

ということでで自分で作ってみました。


■コントラスト・明るさ調整用パターン
すべての階調がつぶれないように調整します。
クリックすると拡大されます。

PNG画像




■色調整
PNG画像

2009年7月9日木曜日

docomo FOMA L-02A L-05A FOMAが見つかりません FOMA未接続です

『FOMAが見つかりません』を解決するには
症状:再起動時docomo FOMA L-02Aを認識しない
症状:再起動時docomo FOMA L-02Bを認識しない(多分。。。)
症状:再起動時docomo FOMA L-05Aを認識しない(同じ症状が出るようです)
WindowsXP
WindowsVista/Windows7
ドコモコネクションマネージャ
L-02A接続ソフト L-05A接続ソフト
について書かれています よく起こる現象です

■FOMA端末 パソコンを再起動すると認識しない なんで?
知り合いのパソコン、FOMAの携帯端末でインターネットがどこでもできるmopera(モペラ)端末を設定したいとの事。聞けば、再起動するとFOMA端末を認識しなくなるらしい。

そうなるとタスクバーのドコモコネクションマネージャが
[ドコモコネクションマネージャ:FOMA未接続です。]
と表示し、ドコモコネクションマネージャを開いても
[FOMAが見つかりません]
と表示し、インターネットにつながらなくなる。
ドコモコネクションマネージャ:FOMA未接続です。
FOMAが見つかりません
マイコンピューターを開くと
L-02AがCDドライブとして認識されたままになっている。
本来自動認識して自動的にCDドライブモードからモデムモードへ変更されなければならないが、うまくいかないことがあるらしい。
FOMA CD MODE DOCOMO

自動再生の選択画面が出れば、『常に自動再生』とすればこの問題は回避できるようになるんだけど、ウイルスの入ったCDをもらったときでも、ウイルスがパソコンに自動インストールされてしまうので、あまり自動再生はしたくないものです。

そこで、いろいろ試してみた結果、マイコンピューターのDOCOMOを[開き]
Launcher.exeを実行することでモデムモードに遷移するみたいなので、これをパソコン起動時に自動実行するようにスタートアップに登録してみましょう。

●ドライブレターの変更
他のメディアが接続されてドライブレターが変更されても都合がわるいので、あらかじめ後ろの方に移動しておきます。
(1)[スタート][マイコンピューター]右クリック[管理]


(2)(ここではFOMAがGドライブとして認識されていると仮定して説明しています)
[コンピューターの管理]が起動する
左側のツリー表示の中から[ディスクの管理]をクリック


この画面では、下の部分に表示されている、[◎ CD-ROM1]とかなっているところを右クリック
[ドライブ文字とパスの変更]をクリック
(3)[G:]と表示されているのを確認し
[変更]をクリック
[G]となっているところを変更し[M]に変える
(もしMがなければ他のドライブ名に変えてもOKです。その場合、M以降のようなアルファベットの方が今後接続されるかもしれないメモリカードリーダー等の影響を受けなくていいと思います。以降の説明も適宜読み替えてください)
(4)[OK]
Windowsを再起動します

ここで、ドライブの変更をを[DOCOMO(G:)]となっているところを右クリックして変更した場合、再起動した時にまた元に戻ってしまうことがありますので、注意が必要です。


●スタートアップにLauncher.exeを登録する
実際にFOMA端末を自動認識させるためにスタートアップへ登録します。
(5)[スタート][マイコンピュータ]を開きます
(6)[DOCOMO(M:)]を右クリック[開く]をクリックします
(7)[Launcher.exe]を右クリック[送る][デスクトップ(ショートカットを作成)]をクリックします
(8)開いているウィンドウをすべて閉じ、デスクトップが見えるようにします。
(9)デスクトップの[Launcher.exeへのショートカット]を探し右クリック[コピー]をクリックします
(10)[スタート][すべてのプログラム][スタートアップ]を右クリックし[開く-AllUsers]をクリック

(11)[スタートアップ]が開く
そのタイトルのすぐ下のメニューから[編集][貼り付け]をクリックします。


これで終わりです。

Windowsを再起動すると自動的にFOMA端末が認識されるはずです。


スタートアップに登録するよりもレジストリに登録して自動実行させる方法もありますが、メディアの自動認識はWindowsの起動処理の最後のほうになるみたいので、あえてスタートアップで自動実行させるようにしてみました。
説明文が冗長ですが、ドラッグアンドドロップでスタートアップに移動させる説明が難しいのと、初心者の方でもこの操作ができるように解りやすく書いたつもりです。

この方法でDocomo F-02Aが自動認識され、ドコモコネクションマネージャでもFOMA端末をすぐに見つけてくれるようになりました。

いたって順調です。

■おまけ
moperaの設定ウィザーをを終わった後で再び表示するには次のサイトを表示します。
モペラ端末よりつぎのページを表示します。

初期設定URL : http://start.mopera.net/
設定変更URL : http://www.mopera.net/customize/

IDパスワードは必要ですが、他のPCからアクセスしても表示できます。

.

2009年6月23日火曜日

CPUコア 消費電力(TDP)比較 ATOM Corei7 Core2 Athlon64X2

サーバー構築/CPU選定
ATOM
Corei7
Core2 Duo Quad
Athlon X2
Athlon64 X2
------------------

自宅サーバーを作るのに、壊れにくい構成、24時間365日稼動なので電気代
も馬鹿にならないことを考えると省電力なマシンを作りたいものです。

特に発熱量の増大は、

①電解コンデンサの水の蒸発に起因する容量の低下により発生する動作の不安定化
②冷却ファンの回転数増大によるファンモーターの短命化
③埃が入ることで起こる冷却不良により熱暴走を起こし破損

といった大きな破壊要因になります。

また消費電力は、マシンが数百ワットにもなるとその電気代も馬鹿になりません。

たとえば400Wの高速マシンを24時間稼動しているとします。

400W x 24h x 365day = 3504000Wh = 3504kWh
3504kWh x 17.87円 = 62516.48円
(東京電力 従量電灯B契約 月120kWh以下の時 2009/6/23現在)

年間60000円となります。月5000円と考えると、
電気代だけで高速なレンタルサーバーを借りられるぐらいになります。
あまりにももったいない。

そこで、費用対効果を考えると省電力なサーバーが必要と私は考えます。

Intel ATOM 330 TDP 8W

がよさそうです。
デュアルコア、HyperThredingを使うと4プロセッサ相当になります。

早速
intel D945GCLF2 を買ってきて
XPを入れてみたところ、なかなか早い。。。

FreeBSDを入れるとどうなるでしょう。

-------------------------------
CPU別 消費電力(TDP)比較 おすすめCPUはどれだ?
 
Core i7 TDP 130W

Core2Quad Q6700 95W
Core2Quad Q6600 105W
Core2Quad Q9550 95W
Core2Quad Q9550s 65W
Core2Duo E6700 65W

AthronX2 5050e 45W


ATOM N280 TDP 2.5W
ATOM N270 TDP 2.5W
ATOM 230 TDP 4W
ATOM 330 TDP 8W

GeodeNX1750 14W
GeodeNX1500 6W
GeodeNX1250 6W

2009年6月12日金曜日

FreeBSD RTSP/RTP サーバーのインストール

[現在書きかけの文章です]

FreeBSD7.1
RTPS/RTP サーバー調査

FreeBSDで使えるRTPサーバーを調べる。


サーバー
Real Networks RealServer
Real Networks RealServerG2

これが、今は

HELIX SERVER v12

となっているらしい。
対応プラットフォームは、
Windows2003,Linux,Solaris(ネイティブ)

価格が
Helix Server 25 33万円~
Helix Server 100 82万円~
Helix Server Unlimited 214万円~

ありゃ。
趣味程度では使えませんねぇ。
30日間の無料トライアル版はあるらしい。


どちらにしてもFreeBSDは非対応か。。。

Real Media Servers


他はないのかな?

2009年4月29日水曜日

Realtek HD(High Definition) Audio モノラル音声がならない

WindowsXP
Realtek HD(High Definition) Audio
M2A-VM HDMI
M2A-VM
リアパネルLineOut出力 スピーカー2CH 
-----------
音が変なんです。
ニュース動画を見たりすると、ナレーションがこもっているような、お風呂場のように反響しているというか、水槽の中でしゃべっていると表現するのか、はたまたファミコンゲームの音みたいピコポコ音が重なっていると表現するのかうまく言い表しにくいのですが、サウンドデバイス上での話ならイコライザが利いているのかエフェクトが利いているのか、なんかそんな変な音がするのです。かといって、イコライザもエフェクトもすべてOFFにしているのですが全く改善しません。

ネット上でも同じ症状ではまっている人がいるようなのですが、さして気にしていない人もいますし、他のUSB接続の外付けスピーカーをつないだりして使っているようで、有用な解決方法がまったく見つかりません。

当然、最新ドライバにもしてみたのですが、いまだ解決策が見えません。
XPも再インストールしていますし、M2A-VMでもM2A-VM HDMIでもまったく同じ症状で、当然スピーカーを交換しても同じ症状。


ふと、音の定位がセンターぴったりに来ていると音が極端に小さくなっていることに気がつき、テスト用音声データを作って見るとやはりセンターに定位する音は全く鳴らないようです。


Realtek HD(High Definition) Audioを使っている人、この音声再生できますか?

音がやや大きいのでボリュームに気をつけてください。
[WAV]左右に音源が移動する
正常:同じ音量で音源が左右に移動する
異常:音源が中心から移動せず音量が上がったり無音になる

[WAV]Windows XP Startup モノラル音声
正常:Windows XP の起動時の音声が流れる
異常:何もならない 無音

『異常』に相当する方、他のPCで上記音声を再生してみてください。ちゃんと再生できるはずです。

きっとこれはRealtekのバグなんでしょうねぇ。


[2010.4.6 追記]

その後、勝手にこの症状が治っていました。
たぶんWindowsUpdateで治ったようなので、この症状が出ている人は、一度WindowsUpdateを完全にやってみてください。


.

2009年4月18日土曜日

FreeBSD7 JDK1.6インストール Java JDK1.6.0.3p4_10

FreeBSD 7.1/i386
----------------------------
Pentium2/400MHz
Memory 192M
コンパイル・インストール約8-10時間
----------------------------
■jdk1.6インストール けっこう面倒くさい(>_<"

javaをコンパイル実行するためにはjdkをインストールします。
しかしながら、javaのライセンス許諾のためにportsからのmake installだけではインストールできず、Sun Microsystemsより指定されたファイルをライセンス許諾した後で手動でダウンロードしなければなりません。
また、FreeBSD用のパッチも必要でこれも手動でライセンス許諾とダウンロードが必要です。

あと、コンパイルには
●2.5GByteの空きハードディスク領域(#duで確認)
●768MByte以上のスワップ領域(#pstat -sで確認)
が必要です。
私の場合、スワップ領域が足りずにコンパイル途中で止まってしまいました。

■自分でダウンロードするもの
ダウンロードに必要なファイルはコンパイル中に表示されますので、その文章中にあるファイルをダウンロードしてください。バージョンが代わればダウンロードするものもかわりますので以下の記載のままとは限りません。
ダウンロードしたファイルは
/usr/ports/distfiles/
に保存します。

●http://www.java.net/ より fetch でダウンロード
    jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar
    jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar
    jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar
●http://java.sun.com/ より ブラウザを使ってダウンロード
    tzupdater-1_3_12-2009a.zip

●http://www.FreeBSDFoundation.org/ より ブラウザでダウンロード
    
diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2

●http://www.eyesbeyond.com/freebsddom/java/jdk16.html
 より ブラウザでダウンロード
    bsd-jdk16-patches-4.tar.bz2

後はmake install でインストールされます。

■jdk1.6インストール手順 実録(笑)
実際にmake install してみて、そのメッセージにしたがって必要なファイルをダウンロードしてきます。


#cd /usr/ports/java/jdk16
#make install
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for jdk 1.6.0.3p4_10 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [ ] DEBUG Enable debugging support x x
x x [ ] IPV6 Enable IPv6 support x x
x x [ ] WEB Enable the browser plugin and Java Web Start x x
x x [ ] POLICY Install the Unlimited Strength Policy Files x x
x x [X] TZUPDATE Update the time zone data x x
x x [ ] JAIL Port is being built within a jail x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
IMPORTANT: To build the JDK 1.6.0 port, you should have at least
2.5Gb of free disk space in the build area!


Due to licensing restrictions, certain files must be fetched manually.

Please download the Update 3 Source from
http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar
and the Source Binaries from
http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar
and the Mozilla Headers from
http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar
.

Please open http://java.sun.com/javase/downloads/index.jsp
in a web browser and follow the "Download" link for
"JDK US DST Timezone Update Tool - 1_3_12" to obtain the
time zone update file, tzupdater-1_3_12-2009a.zip.

Please download the patchset, bsd-jdk16-patches-4.tar.bz2, from
http://www.eyesbeyond.com/freebsddom/java/jdk16.html.

Please place the downloaded file(s) in /usr/ports/distfiles
and restart the build.

*** Error code 1

Stop in /usr/ports/java/jdk16.
*** Error code 1

Stop in /usr/ports/java/jdk16.


てなことで、Sun Microsystemsよりファイルをダウンロードしてきなさいといわれましたのでlynxあたりでダウンロードを試みます。
lynxは先にインストールしておいてください。
    #cd /usr/ports/www/lynx
    #make install clean


#cd /usr/ports/distfiles
#fetch http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar
#fetch http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar
# fetch http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar
# lynx http://java.sun.com/javase/downloads/index.jsp


JDK DST Timezone Update Tool - 1.3.12

The tzupdater tool is provided to allow the updating of installed JDK/JRE images with more recent
timezone data in order to accommodate the latest timezone changes. Learn more

Download<<-ここを[Enter]



Register Now[Enter]
必要事項(required)を記入し
submit[Enter]

IDとパスワードを入力して
Log In and Continue[Enter]

チェックを入れて
[X] I agree to the Java SE Timezone Updater License Agreement

continue[Enter]

ライセンスについての但し書きが表示されて

continue[Enter]

Java SE Timezone Updater 1.3.12
tzupdater-1_3_12-2009a.zip 0.25 MB [Enter]

Save to Disk[Enter]

ファイル名を確認して[Enter]

q
(linx終了)


ファイル名がおかしければ修正します。
tzupdater-1_3_12-2009a.zip

#lynx http://www.eyesbeyond.com/freebsddom/java/jdk16.html

download the latest BSD JDK 1.6.0 patchset [Enter]
ACCEPT [Enter]
save to disk [Enter]


次のファイルがあるか確認します。


#ll
-rw-r--r-- 1 root wheel 2116124 Feb 27 06:12 jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar
-rw-r--r-- 1 root wheel 8608204 Feb 27 06:13 jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar
-rw-r--r-- 1 root wheel 116791442 Feb 27 06:13 jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar
-rw-r--r-- 1 root wheel 261842 Apr 18 12:09 tzupdater-1_3_12-2009a.zip
-rw-r--r-- 1 root wheel 960930 Apr 18 14:12 bsd-jdk16-patches-4.tar.bz2

#cd /usr/ports/java/jdk16
#make install clean

Do you agree to the above license terms? [yes or no] yes


待つこと10分?
何も表示がかわらないけど我慢。


lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for cups-base 1.3.9_3 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [ ] GNUTLS Build with GNUTLS library x x
x x [ ] PHP Build PHP support x x
x x [ ] PYTHON Build PYTHON support x x
x x [ ] LIBPAPER Build with libpaper support x x
x x [ ] DNSSD Build with DNS_SD (avahi) support x x
x x [ ] PAM Build with PAM support x x
x x [ ] LDAP Build with LDAP support x x
x x [ ] DBUS Build with DBUS support x x
x x [ ] XDG_OPEN Build with XDG_OPEN as browser x x
x x tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj


"cups-base"とは"Common UNIX Printing System"で、
このもともとの名前は"cups-lpr"ということで、印刷用モジュールです。
とくにどの言語からもつかわないのでそのまま[OK]と


lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for diablo-jdk 1.6.0.07.02_4 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [ ] POLICY Install the Unlimited Strength Policy Files x x
x x [X] TZUPDATE Update the time zone data x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

そのまま[OK]

===> Vulnerability check disabled, database not found
===> Found saved configuration for diablo-jdk-1.6.0.07.02_4

Because of licensing restrictions, you must fetch the distribution
manually.

Please access

http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2

with a web browser and "Accept" the End User License Agreement for
"Caffe Diablo 1.6.0".

Please place the downloaded file(s) in /usr/ports/distfiles.

*** Error code 1

Stop in /usr/ports/java/diablo-jdk16.
*** Error code 1

Stop in /usr/ports/java/diablo-jdk16.
*** Error code 1

Stop in /usr/ports/java/jdk16.
*** Error code 1

Stop in /usr/ports/java/jdk16.


おーーーとまった(^-^;;

diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2

が必要らしい。
ただ同意書に同意しないと持ってこれない。

再びdistfilesフォルダへダウンロードする
#cd /usr/ports/distfiles/

#lynx
http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2
lynx: No match.

と表示が出る場合はトップページからダウンロードを試みます。


#lynx http://www.FreeBSDFoundation.org/


Diablo Caffe JDK 1.6.0-7 FreeBSD 7.x/i386 End-User 61M
diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2

を選んでダウンロードと。
[X] I agree to the terms of this license agreement.Submit [Enter]

62591k あるそうです。結構大きいなぁ。

再びコンパイル

#cd /usr/ports/java/jdk16
#make install clean


待つこと8時間?


 :

Packing /usr/ports/java/jdk16/work/control/build/bsd-i586/j2sdk-image/jre/lib/rt.jar 47552100 bytes
Killed
gmake[3]: *** [pack-jars] Error 1
gmake[3]: Leaving directory `/usr/ports/java/jdk16/work/install/make/pack'
gmake[2]: *** [pack-sdk] Error 2
gmake[2]: Leaving directory `/usr/ports/java/jdk16/work/install/make/pack'
gmake[1]: *** [all] Error 1
gmake[1]: Leaving directory `/usr/ports/java/jdk16/work/install/make'
gmake: *** [install-build] Error 2
*** Error code 2

Stop in /usr/ports/java/jdk16.
*** Error code 1

Stop in /usr/ports/java/jdk16.


止まりました。。。
もう一回やってもまったく同じところで止まります。
何ででしょう。

ぐーぐる先生に聞いてみたら、
「resource limit killed off the pack」
リソース不足?
うん。。。確かに非力なマシンです。
どのリソースだろうと調べてみる。

#dmesg

swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
swap_pager: out of swap space
swap_pager_getswapspace(16): failed
swap_pager_getswapspace(16): failed
pid 62595 (pack200), uid 0, was killed: out of swap space

あーーーーーーーーーーーーーーーーーーーーーー
これか。
スワップスペースが足りない。どーすんだ?

スワップ領域の表示
# pstat -s
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b 258200 10212 247988 4%

現在256M。やっぱり少ないのか。
スワップ領域。増やせないのだろうか。
ちょっと探してみたら簡単に増やせるらしい。

Swap領域を +512Mする
#dd if=/dev/zero of=/usr/SWAPFILE bs=1m count=512

待つこと5分。

rc.confに次の行を追加
[/etc/rc.conf]
swapfile="/usr/SWAPFILE"

再起動

#reboot

# pstat -s
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b 258200 0 258200 0%
/dev/md0 524288 0 524288 0%
Total 782488 0 782488 0%

増えた!

あらためて

#cd /usr/ports/java/jdk16
#make install


待つこと4時間。

#rehash


#java -version
java version "1.6.0_07"
Diablo Java(TM) SE Runtime Environment (build 1.6.0_07-b02)
Diablo Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

できました(^o^

最後に環境変数をセットします。
[~/.profile,~/.csh,~/.zsh 自分の環境に合わせて]

export JAVA_HOME=/usr/local/diablo-jdk1.6.0
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:/usr/local/jdk1.6.0/lib/tools.jar

バージョンが変わると、名前や保存場所が変わるとおもわれますので、
いずれの環境変数も実際にそのフォルダやファイル名を確認して記述してください。


■javaの動作確認 "Hello World!"を表示させる

次に動作確認です。
javaではファイル名とクラス名を同じにしておかなければなりません。
また、それらの名前は大文字と小文字を判別することに注意してください。
テスト用のコードを記述します。
[Test.java]

class Test{
public static void main(String args[]){
System.out.println("Hello Java World.");
}
}


コンパイルと実行を行います。

#javac Test.java
#java Test
Hello Java World.


これでOKです。

もし、クラス名とファイル名が異なっていた場合や、
#java Test.class
のように拡張子まで指定した場合、次のようなエラーが発生します。

#java test
Exception in thread "main" java.lang.NoClassDefFoundError: test
Caused by: java.lang.ClassNotFoundException: test
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)


クラス名とファイル名の大文字・小文字をよく確認して修正してください。


Be Careful When You Type

Type all code, commands, and file names exactly as shown. Both the compiler (javac) and launcher tool (java) are case-sensitive, so you must capitalize consistently.

HelloWorldApp != helloworldapp

The Java Tutorials



.

2009年4月16日木曜日

FreeBSD8.0

まだかな。。。
2011年あたりだろうか。
マイナーバージョンアップが年2回
メジャーバージョンアップが2年に1回ですよね。
そういえば私が始めてFreeBSDを使ったときは
FreeBSD4.2でした。
えーと。2001年かな?
おーーーもう8年前にもなる。
ISDNでInfospherでIP8を取りサーバーを構築し公開していました。

なつかしい。。。
8年でメジャーバージョンが3あがってるから、やっぱり2011年かなぁ。

.

2009年4月15日水曜日

Apache22 Perl Ruby PHP python Javaの速度比較 ベンチマーク

AMD GeodeNX1500/1050MHz
ASRock K7VT4A PRO
------------------------------
FreeBSD7.1/i386
Apache2.2.11
PHP5.2.9
Ruby1.8.7
Ruby1.9.1
Perl5.8.9
Python2.5.4
Java(JDK1.6.0)
GCC4.2.1
------------------------------
Apache上で動作させたスクリプトは実際のところどのスクリプトが早く、
速度差はどのくらいなのでしょうか?
ネットで検索してみても古い記事しかみつからず、PHP(PHP3)がもっとも遅い
といった結果しか見つけられませんでした。
しかしながら、PHPも今ではPHP5にバージョンアップされ、Zend社のランタイムコンパイラが内蔵されたことから、もっと高速化されているはずです。

簡単な例ながらベンチマークテストを行った結果次のようになりました。

1から100万までの総和の計算
C++0.0083sec (参考値)
PHP5.20.53sec
Java1.60.59sec
Perl5.81.38sec
Ruby1.91.49sec
Python2.51.59sec
Ruby1.82.69sec


C++は置いといて、この結果からするとPHP5.2がもっとも高速でした。
Ruby1.9が最も高速だと思っていましたが、Perlよりも遅いという結果でした。

さて、この結果はApacheへの1リクエストについての時間相当になるのですが、実際Apache上から呼び出されたときには、そのスクリプトが実行されるまでのオーバーヘッドとスクリプトの終了処理が発生するわけで、小さなトランザクションが多量に発生した場合の実行速度とはまったく別の結果が出るはずです。

この点についてはまた後ほど評価いたします。


次のコードでテストを行いました。
条件をなるべくそろえるために、同じようなコードになるようにしています。

PHP
[bench.php]

<?
$time_start = microtime(TRUE);

$sum = 0;

for($i = 0;$i <= 1000000;$i ++)
{
$sum = $sum + $i;
}
echo "Result:$sum<br>\n";

$time_end = microtime(TRUE);
$time_use = $time_end - $time_start;

echo "Start:$time_start<br>\n";
echo "End:$time_end<br>\n";
echo "Use:$time_use<br>\n";

?>


Perl
[bench.pl]

#!/usr/local/bin/perl
##
## bench.pl
##
use Time::HiRes;


print "Content-type: text/plain; charset=iso-8859-1\n\n";

$usecStart = Time::HiRes::gettimeofday();

$i = 0;

for($i = 0;$i <= 1000000;$i ++){
$sum = $sum + $i;
}

$usecEnd = Time::HiRes::gettimeofday();
$usecUse = $usecEnd - $usecStart;

print "Result:${sum}<br>\n";
print "Time:${usecUse}<br>\n";


Ruby
[bench.rb]

#!/usr/local/bin/ruby

print "Content-Type: text/html\n"
print "\n"

tmStart = Time.now

sum = 0
i = 1
while i <= 1000000
sum = sum + i
i = i + 1
end

tmEnd = Time.now

print "Result:#{sum}<br>\n"

tm = tmEnd - tmStart

fTime = tm.to_f
print "Sec:#{fTime}"



Python
[bench.py]

#!/usr/local/bin/python
##
## bench.py
##
import time

print "Content-type: text/plain; charset=iso-8859-1\n\n"

print "Hello World"

msecStart = time.time()


sum = 0
i = 0

while i <= 1000000:
    sum = sum + i
    i = i + 1

msecEnd = time.time()

print "Start:" , msecStart
print "End:" , msecEnd

msecUse = msecEnd - msecStart

print "Time:" , msecUse



Java (JDK1.6.0 diablo-caffe)

class Bench{
public static void main(String args[]){

long lStart,lEnd,lUse;

lStart = System.currentTimeMillis();

long lCount,lSum;
lSum = 0;
for(lCount = 0;lCount <= 1000000;lCount ++)
{
lSum = lSum + lCount;
}

lEnd = System.currentTimeMillis();

System.out.print("Result:");
System.out.println(lSum);

lUse = lEnd - lStart;

System.out.print("Time:");
System.out.println(lUse);



}
}



C++ (GCC4.2.1)
[bench.cpp]

#include <stdio.h>
#include <string.h>
#include <time.h>

int main()
{
timespec tsStart,tsEnd,tsUse;

memset(&tsStart,0,sizeof(timespec));
memset(&tsEnd,0,sizeof(timespec));
memset(&tsUse,0,sizeof(timespec));


clock_gettime(CLOCK_REALTIME,&tsStart);

int i = 0,sum = 0;

for(i = 0;i <= 100000000;i ++)
{
sum = sum + i;
}

clock_gettime(CLOCK_REALTIME,&tsEnd);

double dStart,dEnd,dUse;

dStart = (double)tsStart.tv_sec + (double)tsStart.tv_nsec * 0.000000001;
dEnd = (double)tsEnd.tv_sec + (double)tsEnd.tv_nsec * 0.000000001;
dUse = dEnd - dStart;

printf("Start:%f\n",dStart);
printf("End:%f\n",dEnd);
printf("Use:%7.2f\n",dUse);
}
----------------

#g++ bench.cpp
#./a.out

C++は概算です。

.