PC/NETのetcetra/2008-04-14

Last-modified: 2008-04-14 (月) 00:26:53 (5854d)
※※このサイトは2012年頃より更新を停止しています。※※

プライベートメモ、仕事場メモごちゃ混ぜ。
「ITもういいや」って気分全開なので、特に情報整理するでもなく、こないだの3月までの間に溜まったメモ放出。(投げやり

pukiwikiの印刷用スキン編集

pukiwiki for print
googleで「pukiwiki prn plugin」

Webページのデザインとか

Adobe AIR

ちょっと気になった。
Web技術プログラムをデスクトップアプリケーションとして実行する環境、とでも言おうか。
AIRとは:ITpro
いまさら聞けないAdobe AIR「超」入門(1/4)- @IT
AptanaでAjax・AIR・iPhone用ページの開発を行う(1/3) − @IT

  • 関連:Aptana
    EclipseベースのAjax IDE。なのでAIRの開発に使えるらしい。
  • 関連:Flex
    Flexを用いてAIRを開発する場合は「Adobe Flex Builder 3」(以下、Flex Builder 3)を用意する必要があります。

PerlとCPANあれこれ

自宅UbuntuサーバにMT4をセットアップしようとして、便利そうなperlモジュールをなるべくインストールしておこうと、CPANとあれこれじゃれてみた。
なんだか「パッケージが見つからない」とかでうまく通らないことがあったけど、apt-cacheからそれっぽいperlモジュール入れたりしながらCPANのinstall走らせたら、目的としたものはあらかた入った。
その時に参考にしたサイトURLを列挙。
ミクロトーク:Perl - CPAN
Ubuntu/Perl/CPAN:CPAN導入
CPAN URL変更のメモ
Drk7jp:CPAN の ダウンロード先(URL リスト)を変更する方法
Bulknews::Subtech:CPAN インデクス更新とキャッシュクリア
ITmedia エンタープライズ:第1回 何はなくともCPANを知ろう (2/2)
ひろ式めもちょう:Crypt::DSAのmakeが遅すぎる…

OpenSSHの known_hosts

自宅で動かしてるサーバにsshでアクセスしたい場合に、自宅内で稼動してるマシンが2つあってそれぞれ別ポートでsshを待ち受けている時の話。

接続元がOpenSSHのクライアントだったら、known_hostsにIPアドレスと対応したホストのkeyが記録される。
自宅のサーバの2台ともが同じIPアドレスでアクセスされることになるので、上記の状況だと、sshコマンドで異なるポート番号を指定しても、「known_hostsに記録されてるキーと違うぞ」といわれて片方のポートでしか接続できない。
そこで、接続元の.ssh/configで下記のように指定することで、別のknown_hostsのリストを使用することができる。

Host myhost_12345
HostName myhost.mydomain.jp
Port 12345
UserKnownHostsFile ~/.ssh/known_hosts_12345

参考1:パスワード無しでSSH
参考2:Cygwin とか coLinux

C++あれこれ

参考URL:プログラムを書こう!C++入門

  • C++によるプログラミング入門8:コンストラクタの引数
    ここで書かれている「引数を持つコンストラクタ、持たないコンストラクタ」について、記事ではインスタンスを別々の名前で生成してる。
    一つのインスタンス名だけで切り替えしたいとなると、一度生成した「インスタンスを破棄して作り直す」という処理が必要。
    そこでインスタンスの生成と破棄(開放)の方法を調べた。
    (っていうか、この入門のもうちょっと後の方で出てくるみたいなのでわざわざ調べんでも良かったらしい。)

    参考ページ:メモリ管理
    参考ページ:C++ 基礎講座 (3) メモリモデル
    参考ページ(ifの条件判定):条件分岐「if / else」(後編)(C/C++)
    上記のURL等を参考にしてみた。

    「C++では new を使わないインスタンス化がある」とは、まさに最初のURL(C++によるプログラミング入門)でやってることなのでしょう。
    で、new を作ったインスタンスをポインタ名で扱う場合は、メソッドを「.」で呼べないっぽい?
    「->」で呼んだらうまくいった。

           Glass *glass = new Glass;
           if( in ){
                   delete glass;
                   Glass *glass = new Glass(in);
           }
    
           glass->dasu(out);
    みたいな。

    ところで、「参考ページ:c++ クラスの基本」に「デストラクタ」ってやつが書いてあるけど、これの使い方ってどんなだろ?
    これ使えば new でインスタンス化しなくてもオブジェクトを破棄できるんじゃないの?
    後で調べよう。

Networkあれこれ - MacアドレスとIPアドレスとarpとか

Networkあれこれ - iptables

iptables - Wikipedia
@IT:連載記事 「習うより慣れろ! iptablesテンプレート集」
@IT:第2回 natテーブルを利用したLinuxルータの作成:テンプレート10 外部から特定の内部サーバへのアクセスを許可
@IT:テンプレート10(行番号付き)

Networkあれこれ - ステートフルとかステートレスとか

  • 参考URL:Mac Freaks (ネットワークプロトコルの基礎)
    引用

    ステートレスプロトコル
    ステートレスなプロトコルでは状態を持ちません。ところで「状態を持つ」とはどういうことでしょうか。人間同士の会話に例えると相手が誰かを認識している場合「状態がある」といえます。

    ステートレスプロトコルの代表は何といってもサイト観覧に使用する HTTP でしょう。

    ステートフル
    ステートフルプロトコルは文字どおり「状態を持つ」プロトコルです。コンピュータリソースを犠牲にしてより高度なサービスを提供することを可能にします。

    ステートフルなプロトコルはいろいろ有りますが、たとえばサイト作成でほぼ必ずお世話になるFTPもステートフルなプロトコルの代表です。一度接続を確立すると「あのファイルが欲しい」「このファイルをアップロードしたい」「ファイルを削除したい」等の処理を対話的に行います。

    一般的にステートフルなプロトコルではクライアントから切断要求がないと切断しません(障害等は除く)。これも自動的に切断するステートレスプロトコルとは違います。

  • ステートフルパケットインスペクション 【SPI】
    e-Words
    ファイアウォールを通過するパケットのデータを読み取り、内容を判断して動的にポートを開放・閉鎖する機能。

    従来のパケットフィルタリング機能では、「最初にデータを送信したのがLAN側かWAN側か」「アクセス先のポートが何番か」など、TCPやUDPのヘッダを元に判断できる定型的な条件をセットしてパケットを遮断・通過させていた。

    しかし、パケットフィルタリングは正常に送信されたパケットに対しては適切に機能するが、特定のサーバを攻撃するために生成された不正なパケットは適切に処理できないことがある。

    例えば、TCPパケットには直前のパケットが正常に受信されたことを意味する「ACK」という信号が付けられることがある。一般的なパケットフィルタリング機能では「ACK」信号がついたパケットは、WAN側からのものであっても通過させているが、不正アクセスの手段として、パケットを受け取っていないにも関わらずACK信号をパケットに付加し、パケットフィルタリング機能を無効化しようとする手口が考えられる。 … 続きを読む

    ステートフルパケットインスペクションでは、LAN側から送信したデータをセッションログとして保管しておき、WAN側から到着したパケットがセッションログと矛盾しないか確認する。

    上の例では、WAN側からACK信号がついたパケットを受信した際に、そのパケットに対応するデータがLAN側から送信されたかどうかセッションログを用いて確認する。もし、WAN側から送信されてきたパケットとセッションログが矛盾する場合にはパケットを遮断し、LAN内部のマシンを不正アクセスから保護する。

VMware - ActiveDirectory と NewSID

同一のVMテンプレートから複製してドメインコントローラとドメインメンバーのVMを
作ってしまうと、ドメインコントローラは「俺とSID同じやつはダメ」と扱うらしい。
下記ツールなどを使って、VMテンプレートコピー直後(色々構築する前)に、一度
SIDを変更するとよい。
NewSID

VMwareで Host-Onlyネットワーク

Host-Onlyネットワークがvmnet1になるかvmnet8になるかは、環境次第っぽい。
Host-Onlyネットワーク配下では、下記のIPが使われる。
ゲートウェイ :*.*.*.2
母艦IPアドレス:*.*.*.1

Flash関連

ipod touch と em-one無線LAN

http://pota.cocolog-nifty.com/pota/2007/10/touchemone_ea11.html

VLCメディアプレーヤーなんてものがあるらしい。

VLCメディアプレーヤー - Wikipedia
これ、すごくね?
各種プラットフォーム用のパッケージが用意されてるみたいね。

Windows 2台のPCを接続して片方のインターネット接続を利用する。

参考:Windows 2000/Windows XPのICSを活用する(NATを利用する方法)(2)

  1. LANインターフェースを用意する
    インターネット接続をする方の端末に、複数のLANインターフェースを用意する。
    今回の環境では無線LANと有線のクチを両方搭載してるPC。
    インターネット接続する方に無線LANを使って、有線LANを端末同士の接続に使う。
    なので、もう一方の端末のLANインターフェースは一つでいい。
  2. 端末同士をつなぐ
    クロスケーブルを使用すること。
  3. 双方向の通信を確認する
    ネットワークアドレスとサブネットマスクが一致するようにして、各端末のIPアドレスを設定する。
    pingで疎通を確認する際には、通信に該当するインターフェースのICMPエコー要求がWindowsファイアウォールで止められてないか、設定を確認すること。
    「クロスケーブルで繋いでるのにpingが通らない」って場合、けっこうそこを見落としてるケースあり。
  4. 複数インターフェースを持った端末のインターネット接続を有効にする
    無線LAN側をインターネット接続して、ブラウジングなどでインターネット閲覧ができていることを確認する。
  5. 複数インターフェースを持った端末側でインターネット接続の共有設定をする
  6. もう一方のPCでインターネットへアクセスする
    有線LANでつながっているもう片方のPCでもどうようにブラウジングなどを試してみる。

PDF作成・結合・分割ツール

参考:3分LifeHacking:PDFファイルを無料で分割・結合する - ITmedia Biz.ID

Windows Server複数連携環境で所属サブネット変更の時のDNS絡みの対処

Windows XP および Windows Server 2003 でクライアント側の DNS キャッシュを無効にする方法
DNS を使用するように Windows XP TCP/IP を構成する方法
nslookup 〜DNSサーバに名前解決の問い合わせを行う

DNS clientサービスを停止して

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DnsCache\Parameters

にPrioritizeRecordData をREG_DWORD データ型で値を0とすると、
キャッシュしないしDNSラウンドロビンに反する挙動も回避できる。

Javaあれこれ - カタリーナ

自分のメモにコメントつけながら残した調べ記録。そのまま貼り付け(恥

  • 12000番ポートで待ち受けしてるやつ。
    Tomcatディレクトリのserver.xmlで記述がある。
    <?xml version="1.0" encoding="utf-8"?>
    <Server port="8005" shutdown="SHUTDOWN">
    	<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
    	<Listener className="org.apache.catalina.core.JasperListener"/>
    	<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
    	<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
    	<GlobalNamingResources>
    		<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/>
    	</GlobalNamingResources>
    	<Service name="Catalina">
    		<Connector port="12000" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
    		<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    		<Engine name="Catalina" defaultHost="localhost">
    			<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
    			<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    				<Context path="/java-Calculator" reloadable="true" docBase="D:\hoge\eclipse\java-Calculator" workDir="D:\hoge\eclipse\java-Calculator\work"/>
    				<Context path="/java-hoge" reloadable="true" docBase="D:\hoge\eclipse\java-hoge" workDir="D:\hoge\eclipse\java-hoge\work"/>
    			</Host>
    		</Engine>
    	</Service>
    </Server>
  • Server portが8005だって?
    Connectorで12000と8009に来た要求を受け付けて、8443にリダイレクトしてる?
    8443では誰が待ってるわけ? -- kimita 2008-03-18 (火) 05:47:01
  • コンテナのポートがConnectorで定義されてて、apacheがmod_jkとかで処理の制御をjavaと受け渡しする時に使うって感じか?
    参考:どっかの会社のアプリケーション -- kimita 2008-03-18 (火) 05:54:25
  • redirectPortって、TomcatのSSL通信用のポートっぽい?
    参考:ITmedia エンタープライズ:Java Tips:TomcatでSSLを使うには? -- kimita 2008-03-18 (火) 06:24:51
  • いい参考情報見つけた。
    参考:Java実行環境構築手順
    Javaの道:Tomcat(12.server.xml) -- kimita 2008-03-18 (火) 06:27:35
  • Connector部分、「HTTPリクエストは12000で受け付ける」「AJPリクエストは8009で受け付ける」ということだね。
    次におさえるべきことは、「JavaVMって何者?」ってところか。
    JavaVMとコンテナの関係は?
    classpathってコンテナごとに設定されるんだよね?
    ここで言うService=コンテナと考えて良いのか?
    JavaVMはコンテナごとにプロセスが起動する?それともシステム内に一つだけ? -- kimita 2008-03-18 (火) 06:46:15

Javaあれこれ - コンパネ

http://oshiete1.goo.ne.jp/qa525506.html

試しにわしの PC(Win98 SE)の C:\WINDOWS\SYSTEM フォルダから
plugincpl140_03.cpl を別のフォルダに移動させたところ、コントロールパネルから
Java Plug-in のアイコンは消えました。元に戻せばちゃんと復活します。参考まで。

AD側で調査することの参考

http://www.monyo.com/technical/windows/35.html
ドメインのポリシー設定とかで「アカウントログオンイベントの監査」を有効にする?的な。

タスクスケジューラ

SchedLgU.Txtファイルの格納場所は、Windows 2000やWindows XPでは%SystemRoot%\SchedLgU.Txtだが、Windows Server 2003の場合は%SystemRoot%\Tasks\SchedLgU.Txtとなっている。

Ubuntu Linuxの解像度設定とか

Endeavor NT340の標準ディスプレイの最大解像度は1024x768である。
そのNT340のWindows XP home のVMware Server 1.0.4 に Ubuntu7.10 をゲストインストールしたら、なんでか知らんけど起動画面やデスクトップの解像度が1600x1280ぐらいになってた。
なのでそのゲストをフルスクリーンモードにしようとするとVMwareに怒られる。

そこでまず、GUIログイン済みのユーザでGUIメニューから辿って解像度を変更してUbuntuを再起動した。しかし解像度は変更されてなかった。

VMware toolboxをインストールしたら、そのセットアップ過程で解像度を指定する部分があったので、GUIログインユーザのデスクトップ解像度についてはそれで直った。
しかし起動画面の解像度が直らない。

ググって下記URL等を参考にして直した。
参考:[ubuntu-jp:652] Re: コンソールモードの解像度設定方法
参考:Linux Salad: ブートスプラッシュスクリーンの解像度を変更して黒い表示をなおそう!

LinuxがGUIでもCUIでも入力を処理できなくなったとき

サスペンドから復帰しようとして、パスワード入力後に「確認中」的なメッセージのまま処理が進まなくなった。
マウスカーソルは動くけど、ビジーマークのまま。
はて?と思って、ALT+F2でtty2に切り替えてrootログインしようとすると、ここでも認証処理が進まない。
こりゃーPAMか何かが止まってる?

そこで、キーボードから強制リブートかける方法ないか探してみた。
最初に検索かけたキーワード:「キーボード SIGTERM」
これで「SysRq」というキーワードを見つける。こちらのページとかから。
次に検索かけたキーワード:「SysRq リブート」
こちらのページ等を参考にして
[alt]+[PrintScreen(SysRq)]を押したまま[s]→[u]→[b]でリブートさせようとして、誤って
[alt]+[PrintScreen(SysRq)]を押したまま[s]→[u]→[o]とやってしまったじゃないの。
せっかく調べたことを活かせられなかった(ノд`)

VMwareでDirectX

ネトゲで多重ログインしてみよう(3Dゲーム対応) - 裏風
VMware5でラグナロクを起動する方法@セカンドライフ ラグナロクな人々

mks.enable3d = “TRUE”
svga.vramSize = “134217728″
vmmouse.present = “TRUE”

ちなみにVMware Server系はDirectX対応してない。
VMware Workstationでどーぞ。
VMware FusionはDirectX対応しているそうな。
VMware Playerは、、Workstation版からのforkだったっけ?それならDirectX使えるかも?
あと、VMware ConverterでPCインストール済みのWindowsをVMwareイメージに吸い出せるぞ。
再度アクティベーションが必要になるっぽいけど。
吸い出したイメージでアクティベーションを済ませてそれを複製すれば、PC一台でローカルLANを作って遊べる。

Ubuntu で VMware Server

テクノロイド:Ubuntu 7.10(Gutsy Gibbon)にしてVMware Serverを再インストール。
かえでのWebログ:[Debian] VMware Server 1.0.4インストール
熊猫さくらのブログ:GUI を使わずに VMware を操作する方法について
複眼中心 : VMware Server インストール
鷹の島:VMware Converter 便利
物理マシンから仮想マシンへの変換(無償でダウンロード)
■注意点(運用ガイドより)

VMware Server がインストールされているホストには、クライアント
インストーラ パッケージを使って VMware Server コンソールをインス
トールしないでください。VMware GSX Server または VMware ESX
Server から、コンソールをクライアントにダウンロードおよびインス
トールしないでください。

■補足

WindowsXP上のVMware Serverを使ってUSB接続のドライブ(NTFS)上に
VMイメージ(win2k pro)を新規作成した場合には問題なく動作していた
けど、UbuntuでこのUSB接続ドライブをNTFSでマウントした状態で該当
VMイメージを起動しようとすると、起動できない。
VMware Serverのログを見ると、Pipeができてないとかなんとかゆって
るから、NTFSファイルシステム上のvmxファイルをうまいこと扱えない
ということかも。
しゃーないのでシステムと同一ディスク上にあるext3ファイルシステム
上に該当VMイメージを移動して起動したら、ちゃんと動作した。
  1. インストールの途中でコンパイル処理が走るので、gccとmakeと、あと使用中のkernelのソースを予めシステムに入れておくこと。
  2. インストールの途中でkillall(psmiscパッケージの中にあるらしい)も必要だって。
    よく見ると、途中で killall -v -HUP inetd をするらしく、つまり inetd もしくは xinetd をインストールしとかんといかんみたい。VMware Serverのコンソールがスーパーサーバに依存してるらしい。
  3. VMwareのサイトでユーザ登録して、ライセンスキー(シリアルキー)を取得しておくこと。
  4. VMwareのサイトから VMware-server-1.0.4-56528.tar.gz をダウンロードする。
  5. システム内で適当に展開して、展開したディレクトリ vmware-server-distrib の直下に cd する。
  6. スーパーユーザ権限で ./vmware-install.pl を実行する。
  7. 対話的に処理が進むので、適宜答えていくだけ。基本的にはデフォルトでOK。俺はブリッジするネットワークに無線LANの分を付け加えた(出先の無線LANサービス等につなぐときには無効にしようと)。
  8. GUIを使わずに仮想サーバを起動したかったら、envでDISPLAY環境変数の設定状態を確認して、設定されてなければ export DISPLAY=:0.0 とかやっておいて、
    vmrun start /path/to/hogehoge.vmx     ←仮想マシンの起動
    vmrun suspend /path/to/hogehoge.vmx   ←仮想マシンのサスペンド
    とかするらしい。
  9. アンインストールしたかったら、下記にあるように /usr/bin/vmware-uninstall.pl を実行すること。
    The installation of VMware Server 1.0.4 build-56528 for Linux completed 
    successfully. You can decide to remove this software from your system at any 
    time by invoking the following command: "/usr/bin/vmware-uninstall.pl".
  10. vmware-mui のインストールの時に最後らへんで「Starting httpd.vmware:-ne failed」とか言われたら、vmware-mui webserver の init script の行頭 /bin/sh を /bin/bash に編集して手動で起動しなおすべし。(参考(英文)
    sed -i 's/bin\/sh/bin\/bash/g' /etc/init.d/httpd.vmware
    /etc/init.d/httpd.vmware start
    Ubuntuではデフォルトだと /bin/sh が /bin/dash にシンボリックされてるため。
    間違っても /bin/sh のシンボリックリンク先を /bin/bash に変更するなんて対応はしないように。(他のアプリケーションの挙動に影響が出るため)

X Windows Systemとか

テクノロイド:SoftwareDesign誌のX特集は為になった。

えむわん

そのうち、「Linux on W-ZERO3」の成果物からEM・ONEでもLinuxが起動できるようになるかもね?
あと、EM・ONEってリモートデスクトップってできるのね。
こんどうちのにやってみようかな。

ツボぎみなサイト(検索語:【vim コマンド】より)

Vimコマンド 覚書

コメントはありません。 コメント/PC/NETのetcetra/2008-04-14

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS