proxy=http://your.proxy.address:yourport/
2009年9月9日
2009年9月2日
bizhub C450/Pのプリンタ設定に挑戦 - ubuntu日記
- [システム]-[システム管理]-[印刷]をクリックし、「プリンタの設定」画面を開く。
- [新規]をクリックし、「新規プリンタ」画面を開く。
- [ネットワークプリンタ]-[LPD/LPR Host or Printer]を選択し、ホストにbizhub c450のIPアドレス、キューに、'Print'('は除く)を指定し、[進む(F)]をクリックする。
- 「ドライバ選択」画面が出てくるので、'Generic PCL 5c Printer Foomatic/hpijs (recommended) (en)'('は除く)を選択する。※細かい説明は割。
- プリンタの説明を適当に入れて、[適用]をクリック。
なお、以下URLを参考にした。
http://256.com/gray/docs/misc/konica_bizhub_printer_cups_linux.shtml
以下に、bizhub用のドライバを見つけて試してみたが、こちらは最後の[適用]をクリックした際に、「CUPS操作中にエラーが発生しました。'server-error-internal-error'.」となり、使えなかった。
http://openprinting.org/show_printer.cgi?recnum=KONICA_MINOLTA-bizhub_C450
2009年8月28日
[Javascript]Javascriptで一苦労
Web ページ エラーの詳細「Unable to modify the parent container element before the child element is closed」を直訳すると、「子エレメントがクローズされる前に親コンテナのエレメントを変更することは出来ない。」となる(のかな?)
ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
タイムスタンプ: Thu, 27 Aug 2009 11:54:13 UTC
メッセージ: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
ライン: 0
文字: 0
コード: 0
URI: http://www39.atwiki.jp/nekonoshin01/pages/96.html
いろいろ調べるに、ページが完全に表示しきる前に、以下のような操作をIEは許可しないのだそうだ。
document.getElementById('aaa').innerHTML = '<p>Hello world</p>';じゃぁ、ページが完全に表示されてから、操作すれば良いんだろうと、さらにいろいろ調べるに、window.onloadを使えばよいらしいことを発見。そこで、自作関数のMyFunctionを以下のようにして呼び出すコードをHTML内に適当に埋めてみた。
<script type="text/javascript">しかし、FireFoxでは動作したが、IEでは別の以下のエラーとなる。だめなのか。
<!--
window.onload=MyFunction('myvaule');
-->
</script>
Web ページ エラーの詳細試行錯誤のうえ、最初のwindow.onloadの部分を下記に変えることでFireFoxとIE7,IE8で動くことを確認できた。
ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
タイムスタンプ: Thu, 27 Aug 2009 12:07:33 UTC
メッセージ: 実装されていません
ライン: 207
文字: 1
コード: 0
URI: http://www39.atwiki.jp/nekonoshin01/pages/96.html
<script type="text/javascript">解決するのにまる5日もかかってしまった。15年ぶりのプログラミングは楽しくも大変だ。
<!--
window.onload=function(){MyFunction('myvaule');}
-->
</script>
2009年8月20日
Windows XPのチューニング(目から鱗)
遅っいディスクへのページアウトがなくなるし、ページキャッシュが不要になるし、これは効果がありそう。
まず、XPくんから試してみることに。
なお、見つけたWebは以下。
http://pc.watanet.com/?p=360
(追伸 '09/08/22)
所有2台のXPくんに試行開始し中2日目。それぞれ以下の状況。
- 2GB-RAM搭載のメインマシンは極めて快適。
- 1GB-RAM搭載のサブマシンはツレと共用利用だが、お互いのアカウントでFireFox全開で使っていると偶に仮想メモリ不足の警告が。それ以外は快適。
2009年8月17日
USBメモリの認識(Ubuntu on VMware server) - Ubuntu日記
その為、USBメモリの認識には、初心者向けではない少し特殊な手順が必要だ。
ステップ1.USBデバイスのVIDとPIDを調べる。
- まずXPに普通に認識させ、デバイスマネージャから該当USBデバイスを右クリックし、[プロパティ]を選択。
- [詳細タブ]をクリックし、"デバイス インスタンス ID"を確認。
- その際、例えば、"USB\VID_0BDA&PID_0156\...."となっているとしたら、VIDは"0x0bda"、PIDは"0x0156"と読み取る。
ステップ2.VMwareの定義ファイルを直接編集する。
- 該当VMを停止。
- *.vmxというファイルを探しだし、以下の行を追加。
usb.generic.autoconnect = "TRUE"
usb.autoConnect.device0 = "0x0bda:0x0156" - 該当VMを起動。
参考
- VMwareの仮想マシンにUSBデバイスをつないだ
http://beatsync.net/bayside/memo/log20090215.html
デスクトップにアナログ時計 - Ubuntu日記
手順は以下。
- "Synaptic パッケージ・マネージャ"から、"screenlets"をインストール。(詳細割愛)
- [アプリケーション]-[アクセサリ]-[Screenlets]を選択。
- Screenlets Manager画面からお好きなウィジット(今回は当然目的の”Clock”)を選択し、[Lauch/Add]をクリック。
- 忘れずに、"auto start on login"にチェック。
なお、Screenletsの初回起動時に、Error「This is no existing autostart directory fot your user account yet. Do you want me to autumatically create it for you?」と聞かれるので、承諾しておくと良いかと。
(変更履歴)
- 手順4を追加。('09/08/22)
2009年8月14日
xfy Blog Editorを導入 - Ubuntu2日目
以下に努力のあとと、解決内容を記載しておく。
調査のため、端末を起動し、コマンドラインからxfyBlogEditor.shを起動すると以下のようになる。
Error: JAVA_HOME is not defined correctly.
We cannot execute java
$ grep JAVA_HOME ./xfyBlog
Editor.sh
if ! [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ] ; then
echo "Error: JAVA_HOME is not defined correctly."
EXEC_JAVA="$JAVA_HOME/bin/java"
$
$ dpkg -l | grep JAVA
$ dpkg -l | grep jdk
$ dpkg -l | grep j2ee
$
...
Linux系 Ubuntu 8.10 Java SE 6 Update11
...
(なるほど。 "Java SE 6 Update11"が要るのね)
”Synaptic パッケージ・マネージャ"([システム]-[システム管理]-[Synaptic パッケージ・マネージャ])を起動。
クイック検索に"Java"と入れてみる。うぅ~ん、"sun-java6-bin"を入れたら良いのかな?それとも"sun-java6-plugin"か?
それぞれインストール指定をして追加パッケージ等を確認してみると、"sun-java6-plugin"は"sun-java6-bin"を含むみたい。多分pluginなんだからブラウザからも使えるようになるのかな?
ということで、"sun-java6-plugin"を選択。ほかの自動追加インストールは、gsfonts-x11,java-common,odbcinst1debian1,sun-java6-bin,sun-java6-jre,unixodbc。
再度、ターミナルから起動すると上手く行った。
...
(追伸. 2009.10.26)
苦労して入れたxfy Blog Editorだったが今は利用を止めている。増えたココログの記事を一気に取ってこれないし、重いので。Webインターフェイスに今は戻ってしまった。
(追伸. 2010.02.23)
増えた記事をWikiに移動し、xfy Blog Editorの利用を再開(ただしXP上で)! したのは良いのだが、なんと2010年1月を以って提供中止とのこと。あれれれれ。
geditでテキストファイルを開くと文字化けする - Ubuntu2日目
中1週間開いてしまったが、本日が、Ubuntu2日目。
Thunderbirdのデータフォルダを無事にUbuntu環境とWindows環境とで共有でき、機嫌よくメールを見ていたら、1つ問題が発生。
添付のテキストファイルを開くと、文字化けしていて読めやしない。
試行錯誤の末、以下の手順で読めるようになった。
- デスクトップから[システム]-[設定]-[メインメニュー]をクリックし、「メインメニュー」画面を起動。
- 「メインメニュー」画面から[アプリケーション]-[システムツール]を選択し、「設定エディタ」にチェックを入れる
- 「メインメニュー」画面を閉じる
- 再びデスクトップから[アプリケーション]-[システムツール]-[設定エディタ]をクリックし、「設定エディタ」画面を起動。
- 「設定エディタ」画面から、左側のツリー構造を/apps/gedit-2/preferences/encoding/と辿り、右側に出てくるauto_detectedをダブルクリックし、「キーの編集」画面を起動。
- 「キーの編集」画面から、[追加]をクリックし、新しいリストの要素として、"cp932"("は除く)を入力し、[OK]をクリック。
- 再び、「設定エディタ」画面から、上記で追加した"cp932"を選択し、[上へ]を必要回数クリックし、"UTF-8"の次に来る位置へ移動させ、[OK]をクリック。
- 「設定エディタ」画面の右上[×]をクリックし、画面を終了。
マウスホイールの動きが変 - Ubuntu2日目
これは、困った。
Google先生に聞いてみると、以下のネタを発見。
「[ubuntu][vmware]VMware Server 2上のUbuntu 9.04でマウスがうまく動かない」
上記では、コマンドラインからの対処が書かれているが、あくまでもGUIにこだわってみた。
- "Synaptic パッケージ・マネージャ"を起動。
- クイック検索に、"xserver-xorg-input-vmmouse"と入力。
- "xserver-xorg-input-vmmouse"を右クリックからインストール指定し、[適用]をクリック。後は画面なりに進む。
- 最後、Ubuntuを再起動。(GUIからxorgだけ再起動できない?)
これで、ホイール操作どおりにFireFoxがスクロールするようになった。
2009年8月9日
DiMAGE Xtの復活を画策中
KONIKA MINOLTAがデジカメ事業から撤退してから、幾年月。
バッテリーの寿命が尽きてしまい、使い物にならなくなったDiMAGE Xtくん。
本日、ふと、楽天市場で純正バッテリーの"NP-200"を検索してみると、純正品ではないが、互換品が意外と出てくる。評判も上々の様子。これは買ってみよう。
楽天 |
---|
●定形外送料無料●【2個セット】ミノルタ DiMAGE XgのNP-200対応バッテリー |
(追伸. 2009.10.26)
上記のバッテリーは実際に購入してみた。安くて、長持ち、満足している。純正品はいったい何だったのか?技術の進歩なのか?
2009年8月7日
Windowsフォルダをubuntu起動時に自動でマウントしたい - Ubuntu初日
「サーバへ接続」では、それが出来ないようだ。
いろいろ調べ回って、結局、さきほど封印したばかりの"sudu su"を実行。
$ sudo su
# vi /etc/fstab
...(以下の行を追加)
//<ipアドレス>/<共有名> /home/owner/thunderbird cifs username=<winユーザ名>,password=<winパスワード>,uid=owner,gid=owner,file_mode=0755,dir_mode=0755,iocharset=utf8 0 0
...
# exit
その後、再起動。
標準メーラをThunderbirdに入れ替える。 - Ubuntu初日
”Synaptic パッケージ・マネージャ([システム]-[システム管理]-[Synaptic パッケージ・マネージャ])"から、パッケージ"Thunderbird"("を除く)を導入。
デスクトップ上部パネルを右クリック。[パネルへ追加]から、[アプリケーションのランチャ]を選択し、[インターネット]-[Mozilla Thunderbird Mail/News]を選択。
パネル上のEvolutionを右クリックし、[パネルから削除]を選択。
Windowsの共有フォルダに繋いでみる。 - Ubuntu初日
デスクトップから[場所]-[サーバへ接続]をクリックすると、「サーバへ接続」画面が現れ、以下のように設定すると接続できた。※他は得に必須でない。足りなければあとで聞いてくKる。
サービスの種類:Windows 共有
サーバ名:<IPアドレス>
フォルダ:<共有名>
Yahoo! ツールバー!を入れてみる - Ubuntu初日
ところで、今更気がついたが、Internet Exporolerが使えないと、Gyaoとか見れないのか。
イキナリ! rootでログインできない! - Ubuntu初日
ubuntuはrootでログインできない。調べてみると、そういう操作をさせないことが売りだそうだ。
一般ユーザでログインし、端末から"sudo su"と打てばrootになれてしまったが、ubuntuの趣旨に出きるだけ従うことにする。
Ubuntuのインストール - Ubuntu初日
LiveCDをCD-Rに焼いて、VMから起動。後は画面に従いながら比較的簡単に導入できた。
2009年8月1日
Premier3と携帯動画変換君
STEP1. 準備
- まず、「携帯動画携帯君」を入手、解凍
- 次に「QuickTime 7」をインストール
STEP2. MP4変換(※不要の場合もある様子)
- 携帯動画変換君のSetup.exeをクリック
- "「変換君」設定ファイルセレクター"を起動したら、"MP4:...”を選択し、[設定]ボタンをクリック ※警告が出ることがあるが[はい]を選択
- "携帯動画変換君"が自動起動するが一旦終了
- 3GP_Converter.exeをクリックし、再度、"携帯動画変換君"を起動。
- 変換したい動画ファイルを"携帯動画変換君"にドラッグ&ドロップ
STEP3. 3g2変換
- 携帯動画変換君のSetup.exeをクリック
- "「変換君」設定ファイルセレクター"を起動したら、"3GP2:...中身3GPP相当”を選択し、[設定]ボタンをクリック ※警告が出ることがあるが[はい]を選択
- "携帯動画変換君"が自動起動するが一旦終了
- 3GP_Converter.exeをクリックし、再度、"携帯動画変換君"を起動。
- (追記)"QCIF標準画質15fpsモノラル"等を選択。※QVGAはPremierが認識せず
- STEP2でMP4変換した動画ファイルを"携帯動画変換君"にドラッグ&ドロップ
STEP4. PREMIER3に転送&再生
- 外部メモリ転送モードで、PCと接続
- \PRIVATE\AUINOUTに3g2変換した動画ファイルを移動 ※その際、念のため英数字の短いファイル名に変更した。しなくてどうなるかは未確認。
- PCと切断後、PCフォルダを開き、該当ファイルを選択し、SD内へ移動
- EZムービーフォルダに自動的に移動するので、そのまま再生
2009年7月31日
新江ノ島水族館
朝一の館内は、そんなに人も混んでおらずそこそこ展示物を楽しめたが、イルカショーの後のころには、ペンギンもカメタッチも人混み過ぎてあまり楽しめず。
イルカショーは、へんちくりんな格好した人間のパフォーマンスが目に付き、肝心のイルカの芸が迫力がない。でも、それはあくまで大人目線で、ムスメは一人で拍手しながら大興奮。
正直、イルカショーに限っていえば、近場の品川アクアスタジアムの方が数倍は楽しい。明らかに客の歓声の数も大きさも違った。
でも展示物はこちらの方が多いし、ムスメがもう少し大きくなってゆっくり回れるようになったら、もう一度来てみようか。
2009年7月14日
apacheのサイト証明書を設定 - 調査
- Debian(etch)
- apache2-mpm-prefork 2.2.3-4+etch6
手順
①証明書要求の作成
~# cd ~# mkdir www33.atwiki.jp ~# cd www33.atwiki.jp ~/www33.atwiki.jp# ~/www33.atwiki.jp# openssl req -new -keyout site_key.pem -out site_csr.pem ... Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ... Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:KANTO Locality Name (eg, city) []:KANAGAWA Organization Name (eg, company) [Internet Widgits Pty Ltd]:NONE Organizational Unit Name (eg, section) []:NONE Common Name (eg, YOUR name) []:www33.atwiki.jp Email Address []:NONE Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:tekitou An optional company name []: ~/www33.atwiki.jp#②証明書要求の送付
サイト証明書を発行してもらうため、証明書要求をベリサイン等の認証機関に送付する。もしくは、独自認証局で自分でサイト証明書を作成する。
(1)サイト証明書の配置と設定
scp等でサイト証明書を/root/www33.atwiki.jp/site_cert.pemに配置
~# ls www33.atwiki.jp/site_cert.pem www33.atwiki.jp/site_cert.pem(2)サイトキーからパスワードを削除
~# openssl rsa -in ./www33.atwiki.jp/site_key.pem -out ./www33.atwiki .jp/site_key.pem.nopasswd(3)apacheの定義ファイルで以下を設定(SSLサイト作成の詳細は割愛)
SSLCertificateFile "/root/www33.atwiki.jp/site_cert.pem" SSLCertificateKeyFile "/root/www33.atwiki.jp/site_key.pem.nopasswd"(4)apacheを再起動する
~# /etc/init.d/apache2 restart
2009年7月6日
[C言語] RPCサンプルプログラム - 調査
ソースコードほかの入手
$ wget http://www.cs.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2006-01-20/ex/dirlist.x $ wget http://www.cs.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2006-01-20/ex/dirlist_server.c $ wget http://www.cs.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2006-01-20/ex/dirlist_client.c $ wget http://www.cs.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2006-01-20/ex/Makefile
コンパイル
$ make rpcgen -C dirlist.x gcc -g -DDEBUG -c -o dirlist_clnt.o dirlist_clnt.c gcc -g -DDEBUG -c -o dirlist_client.o dirlist_client.c gcc -g -DDEBUG -c -o dirlist_xdr.o dirlist_xdr.c gcc -g -DDEBUG -o dirlist_client dirlist_clnt.o dirlist_client.o dirlist_xdr.o -lnsl gcc -g -DDEBUG -c -o dirlist_svc.o dirlist_svc.c gcc -g -DDEBUG -c -o dirlist_server.o dirlist_server.c gcc -g -DDEBUG -o dirlist_server dirlist_svc.o dirlist_server.o dirlist_xdr.o -lnsl
実験その1 単純動作 ※サーバとクライアントで端末を分けること
<サーバ側>
$ ./dirlist_server
<クライアント側>
$ /usr/sbin/rpcinfo -p localhost プログラム バージョン プロトコル ポート 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 1010 status 100024 1 tcp 1013 status 536875011 1 udp 50085 536875011 1 tcp 32775 $ ./dirlist_client localhost /usr errno: 0 (Success) . .. share (後略)
ふーん。
実験その2 サーバを強制停止してみる
<サーバ側>
$ ./dirlist_server ^C (※強制停止) $
<クライアント側> $ /usr/sbin/rpcinfo -p localhost プログラム バージョン プロトコル ポート 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 1010 status 100024 1 tcp 1013 status 536875011 1 udp 50085 536875011 1 tcp 32775 $ ./dirlist_client localhost /usr localhost: RPC: Remote system error - Connection refused
サーバが死んだが、portmapの情報は生きているのね
実験その3 サーバを再起動してみる
<サーバ側>
$ ./dirlist_server
<クライアント側> $ /usr/sbin/rpcinfo -p localhost プログラム バージョン プロトコル ポート 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 1010 status 100024 1 tcp 1013 status 536875011 1 udp 42517 536875011 1 tcp 32791 $ ./dirlist_client localhost /usr errno: 0 (Success) . .. share (後略)
あぁ。ポート番号が再登録されているね、、消せないのかな?
実験その4 portmapのポート番号を消してみる
<クライアント側>
$ su - Password: ********** # rpcinfo -d 536875011 1 # rpcinfo -p localhost プログラム バージョン プロトコル ポート 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 1010 status 100024 1 tcp 1013 status # exit $ ./dirlist_client localhost /usr localhost: RPC: Program not registered $
なるほどね。再登録は?
実験その5 portmapのポート番号を再登録してみる
<クライアント側>
$ su - Password: # rpcinfo -p localhost プログラム バージョン プロトコル ポート 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 1010 status 100024 1 tcp 1013 status # cat test 536875011 1 udp 42517 536875011 1 tcp 32791 # cat test | pmap_set # rpcinfo -p localhost プログラム バージョン プロトコル ポート 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 1010 status 100024 1 tcp 1013 status 536875011 1 udp 42517 536875011 1 tcp 32791 # exit
出来た。でもこれはサーバが動作継続していたことが前提だ。サーバプログラム自身で削除、再登録等の状況にマッチした登録って出来ないのか?→多分rpcgebが作るサーバスケルトンを改造しないとできなさそうだ。また今度。
2009年7月5日
pmap_getport(2)
用例
... addr.sin_port = htons(111); /* (1) portmapのポート番号を設定 */ if ((addr.sin_port = htons(pmap_getport(&addr, 0x20000000, 1, IPPROTO_TCP))) == 0) { /* (2) 使用したいRPCサービスのポート番号で置き換え */ perror("pmap_getport"); exit(1); } /* (3) ポート番号が置き換わったところで、コネクトする */ if (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) < 0){ perror("connect"); exit(1); }備考
上記は、独自プロトコルのポート取得にportmapを使う例になっている。本来、connectなんて書かずに、キチンとRPCの関数を使ってRPCプロトコルで通信すべきなんだろうが。
pmap_set(2)
用例
pmap_unset(0x20000000, 1); if (pmap_set(0x20000000, 1, IPPROTO_TCP, ntohs(saddr.sin_port)) != 1) { perror("pmap_set"); exit(1); }
getsockname(2)
用例
len = sizeof(saddr); if (getsockname(fd1, (struct sockaddr *)&saddr, &len) != 0){ perror("getsockname"); exit(1); } printf("port number is %d.\n", ntohs(saddr.sin_port));メモ
manページを眺めても使い方が良く分かんらんかった。試行錯誤の上、上記に到達。
2009年6月24日
自宅サーバ(Debian/etch)にsquid導入
インストール
# aptitude install squid設定
# vi /etc/squid/squid.conf
以下を追加
acl localnet src 192.168.1.0/24
http_access allow localnet
以下を変更
http_port 8080
cache_dir ufs /var/spool/squid 500 16 256
関連記事
カーネルデバッグ環境の設定
また今日もマニアックなことに挑戦。
CentOSでcrashコマンドを試してみることに。
詳細はこちら。
RHEL4系
例)
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.9-78.0.1.EL #1 Tue Jul 22 17:50:01 EDT 2008 i686 i686 i386 GNU/Linux
[root@localhost rpm-work]# wget http://ftp.redhat.com/pub/redhat/linux/updates/enterprise/4AS/en/os/Debuginfo/i686/RPMS/kernel-debuginfo-2.6.9-78.0.1.EL.i686.rpm
[root@localhost rpm-work]# rpm -ivh kernel-debuginfo-2.6.9-78.0.1.EL.i686.rpm
履歴
2009年06月24日 RHEL4系記載追加
2009年03月05日 新規作成
2009年6月15日
品川アクアスタジアム
娘がまだ小さいので、電車はこちらも周りも娘本人も辛かろうはなから諦めて、車で行きました。車は、ホテルパシフィク東京の地下駐車場(20分で200円)にとめました。
水族館は、まぁ、30分も持たないようなこじんまりとした大きさなんですが、「海中トンネル」と「ペンギン大陸」は見ものです。「海中トンネル」には、なんとマンタも泳いでました。娘も大興奮です。
さて、ここの本当の見ものは、イルカショー(とアシカショー)です。
15分ほどのショーですが、イルカとクジラが飛びはねて、ご希望なら水しぶきを頭からかぶることも出来て、楽しいことこの上ないです。ショーが終わった後も、調教師によるトレーニングをそのまま見学できるし、トレーニングが終わっても数頭のイルカがショープールに残っていて、まったりと余韻が楽しめます。
座席も相当数あって、休日も朝一なら、あまり窮屈な思いもせず、ショーやその後のイルカ達を楽しめます。欠点は、館内の飲食物のレパートリーの少なさと高さ。正直、持込(していいのかな?)推奨です。
2009年6月6日
Linuxのcore dumpの中身についてその3
coreファイル内のnoteセクションにどんな情報が含まれているのか調べてみた。
まず、objdumpでセクション情報を調べる
$ objdump -h core.3313 core.3313: file format elf32-i386 Sections: Idx Name Size VMA LMA File off Algn 0 note0 000001d8 00000000 00000000 000001d4 2**0 CONTENTS, READONLY ...
readelfで見てみる
$ readelf -a core.3313 ... Notes at offset 0x000001d4 with length 0x000001d8: Owner Data size Description CORE 0x00000090 NT_PRSTATUS (prstatus structure) CORE 0x0000007c NT_PRPSINFO (prpsinfo structure) CORE 0x00000090 NT_AUXV (auxiliary vector)
出力の一番最後にnoteの情報が出ている。
更に、note0のダンプを取り、readelfの結果と付き合わせてみる。
$ objdump -s -j note0 core.3313 core.3313: file format elf32-i386 Contents of section note0: 0000 05000000 90000000 01000000 434f5245 ............CORE 0010 00000000 0b000000 00000000 00000000 ................ 0020 0b000000 00000000 00000000 f10c0000 ................ 0030 460c0000 f10c0000 460c0000 00000000 F.......F....... 0040 e7030000 00000000 87130000 00000000 ................ 0050 00000000 00000000 00000000 f43fa300 .............?.. 0060 b01db4bf 01000000 a04c8f00 00000000 .........L...... 0070 981db4bf 341eb4bf 7b000000 7b000000 ....4...{...{... 0080 00000000 33000000 ffffffff 79830408 ....3.......y... 0090 73000000 82020100 80150590 7b000000 s...........{... 00a0 00000000 05000000 7c000000 03000000 ........|....... 00b0 434f5245 00000000 00520000 00064000 CORE.....R....@. 00c0 f401f401 f10c0000 460c0000 f10c0000 ........F....... 00d0 460c0000 6269675f 61727261 79000000 F...big_array... 00e0 00000000 2e2f6269 675f6172 72617920 ...../big_array 00f0 00000000 00000000 00000000 00000000 ................ 0100 00000000 00000000 00000000 00000000 ................ 0110 00000000 00000000 00000000 00000000 ................ 0120 00000000 00000000 00000000 00000000 ................ 0130 00000000 05000000 90000000 06000000 ................ 0140 434f5245 00000000 20000000 00c43d00 CORE.... .....=. 0150 21000000 00c03d00 10000000 fffbeb0f !.....=......... 0160 06000000 00100000 11000000 64000000 ............d... 0170 03000000 34800408 04000000 20000000 ....4....... ... 0180 05000000 07000000 07000000 00000000 ................ 0190 08000000 00000000 09000000 80820408 ................ 01a0 0b000000 f4010000 0c000000 f4010000 ................ 01b0 0d000000 f4010000 0e000000 f4010000 ................ 01c0 17000000 00000000 0f000000 3b1fb4bf ............;... 01d0 00000000 00000000 ........
noteセクションの構造は、以下のようになっている。
[ ][ ][ ][ ] namesz(4byte) ノート名の長さ [ ][ ][ ][ ] descsz(4byte) ノート本体の長さ [ ][ ][ ][ ] type(4byte) ノートのタイプ [ ][ ][ ]…[ ] name(Nbyte) ノート名(長さはnamesz) ※4バイト境界 [ ][ ][ ]…[ ] desc(Nbyte) ノート本体(長さはdescs) ※4バイト境界
次に、NT_PRSTATUS (prstatus structure)、NT_PRPSINFO (prpsinfo structure)、NT_AUXV (auxiliary vector)といったノートのタイプとノート本体。ノート名は只のテキスト情報なので、ダンプ結果を見れば一目瞭然と思う。
ノートのタイプは、/usr/include/elf.hに定義がある。
$ grep "define NT_" /usr/include/elf.h #define NT_PRSTATUS 1 /* Contains copy of prstatus struct */ #define NT_FPREGSET 2 /* Contains copy of fpregset struct */ #define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */ #define NT_PRXREG 4 /* Contains copy of prxregset struct */ #define NT_TASKSTRUCT 4 /* Contains copy of task structure */ #define NT_PLATFORM 5 /* String from sysinfo(SI_PLATFORM) */ #define NT_AUXV 6 /* Contains copy of auxv array */ #define NT_GWINDOWS 7 /* Contains copy of gwindows struct */ #define NT_ASRS 8 /* Contains copy of asrset struct */ #define NT_PSTATUS 10 /* Contains copy of pstatus struct */ #define NT_PSINFO 13 /* Contains copy of psinfo struct */ #define NT_PRCRED 14 /* Contains copy of prcred struct */ #define NT_UTSNAME 15 /* Contains copy of utsname struct */ #define NT_LWPSTATUS 16 /* Contains copy of lwpstatus struct */ #define NT_LWPSINFO 17 /* Contains copy of lwpinfo struct */ #define NT_PRFPXREG 20 /* Contains copy of fprxregset struct*/ #define NT_VERSION 1 /* Contains a version string. */
ノートの本体のうち、今回出てきたprstatus structureとprpsinfo structureは、/usr/include/sys/procfs.hに定義がある。
$ cat /usr/include/sys/procfs.h ... struct elf_prstatus { struct elf_siginfo pr_info; /* Info associated with signal. */ short int pr_cursig; /* Current signal. */ unsigned long int pr_sigpend; /* Set of pending signals. */ unsigned long int pr_sighold; /* Set of held signals. */ __pid_t pr_pid; __pid_t pr_ppid; __pid_t pr_pgrp; __pid_t pr_sid; struct timeval pr_utime; /* User time. */ struct timeval pr_stime; /* System time. */ struct timeval pr_cutime; /* Cumulative user time. */ struct timeval pr_cstime; /* Cumulative system time. */ elf_gregset_t pr_reg; /* GP registers. */ int pr_fpvalid; /* True if math copro being used. */ }; ... struct elf_prpsinfo { char pr_state; /* Numeric process state. */ char pr_sname; /* Char for pr_state. */ char pr_zomb; /* Zombie. */ char pr_nice; /* Nice val. */ unsigned long int pr_flag; /* Flags. */ unsigned short int pr_uid; unsigned short int pr_gid; int pr_pid, pr_ppid, pr_pgrp, pr_sid; /* Lots missing */ char pr_fname[16]; /* Filename of executable. */ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ }; ...
auxiliary vectorとは、id(4byte)とその値Val(4byte)が交互に並んだ構造をしており、id=0となったところが構造の終わりとなっている。
[id(4byte)][val(4byte)][id(4byte)][val(4byte)]...[id(4byte)][val(4byte)]
idは/usr/include/elf.hに定義されている
$ grep "define AT_" /usr/include/elf.h #define AT_NULL 0 /* End of vector */ #define AT_IGNORE 1 /* Entry should be ignored */ #define AT_EXECFD 2 /* File descriptor of program */ #define AT_PHDR 3 /* Program headers for program */ #define AT_PHENT 4 /* Size of program header entry */ #define AT_PHNUM 5 /* Number of program headers */ #define AT_PAGESZ 6 /* System page size */ #define AT_BASE 7 /* Base address of interpreter */ #define AT_FLAGS 8 /* Flags */ #define AT_ENTRY 9 /* Entry point of program */ #define AT_NOTELF 10 /* Program is not ELF */ #define AT_UID 11 /* Real uid */ #define AT_EUID 12 /* Effective uid */ #define AT_GID 13 /* Real gid */ #define AT_EGID 14 /* Effective gid */ #define AT_CLKTCK 17 /* Frequency of times() */ #define AT_PLATFORM 15 /* String identifying platform. */ #define AT_HWCAP 16 /* Machine dependent hints about #define AT_FPUCW 18 /* Used FPU control word. */ #define AT_DCACHEBSIZE 19 /* Data cache block size. */ #define AT_ICACHEBSIZE 20 /* Instruction cache block size. */ #define AT_UCACHEBSIZE 21 /* Unified cache block size. */ #define AT_IGNOREPPC 22 /* Entry should be ignored. */ #define AT_SYSINFO 32 #define AT_SYSINFO_EHDR 33 #define AT_L1I_CACHESHAPE 34 #define AT_L1D_CACHESHAPE 35 #define AT_L2_CACHESHAPE 36 #define AT_L3_CACHESHAPE 37
2009年5月30日
Superfetchを止める(Vistaメモ)
ふーん。Superfetchというサービスが余計なことをしているのか。
しばらく止めて様子を見てみることにする。
因みに止めるとタスクマネージャから確認できるメモリが40MBほど減った。
2009年5月28日
カーネルのライブHacking(RHEL AS 4U4)
lockdのnlm_hosts構造体の内容を確認することがあったので、その際のcrashコマンドの使い方をメモ書きしておく。
crashコマンドを起動
# crash
...
crash>
デバッグモジュールの読み込み
crash> mod -s lockd lockd.ko.debug
構造体のアドレスを確認
crash> list nlm_hosts
d0b8c7a0
構造体の内容表示
crash> struct nlm_host d0b8c7a0
...
以上
debuginfoの設定(RHEL AS 4U4)
故あって、RHEL AS 4U4にカーネルdebuginfoを設定し、crashコマンドが使えるようにすることに。
まず、カーネルのバージョンを確認。
# uname -a
Linux localhost.localdomain 2.6.9-42.EL #1 Wed Jul 12 23:16:43
EDT 2006 i686 athlon i386 GNU/Linux
debuginfoパッケージを入手。
# wget http://ftp.redhat.com/pub/redhat/linux/updates/enterpri
se/4AS/en/os/Debuginfo/i386/RPMS/kernel-debuginfo-2.6.9-42.EL.
i686.rpm
インストール。
# rpm -ihv kernel-debuginfo-2.6.9-42.EL.i686.rpm
最後に確認。
# crash
...
crash>
crashコマンドのプロンプトが出ればOK。
2009年5月24日
Linuxで回線シミュレーション - 調査
野暮用で、通信パケットの遅延を試してみたくなった。
Google先生に聞いてみたら、Dummynet、NISTNet、iproute2というものを教えてくれた。
RHEL(4U4,5.1で確認)で使うには、iproute2が良いみたい。標準でカーネルが対応しているし、"iproute"というパッケージで標準で用意されている。
使い方は、以下のblogやサイトを参考にした。
- Blog.遊ぶエンジニア「回線遅延シミュレーション」
- Linux Advanced Routing & Traffic Control HOWTO
Linuxのシステムロケール設定ってどこでするんだっけ?
RHEL(4,5)
Debian(etch)
2009年5月3日
2009年4月19日
自宅サーバ(Debian/etch)をnmap(Windows XP)でポートスキャン
1. http://insecure.org/からnmap-4.85BETA7-setup.exeをダウンロード
2. nmap-4.85BETA7-setup.exeを実行してインストール
3. 以下を実行
C:\Program Files\Nmap>nmap -P0 -n -sS -T4 -p1-65535 192.168.1.1324. rpcbind、auth、samba-swatは自宅サーバには必要ないので止めてみる。あと、ftpはscp(sftp)で代替するのでこれも止める。
Starting Nmap 4.85BETA7 ( http://nmap.org ) at 2009-04-19 11:43 東京 (標準時)
Interesting ports on 192.168.1.132:
Not shown: 65528 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
113/tcp open auth
443/tcp open https
901/tcp open samba-swat
MAC Address: xx:xx:xx:xx:xx:xx (Matsushita Electric IND. CO)
Nmap done: 1 IP address (1 host up) scanned in 81.48 seconds
C:\Program Files\Nmap>
<rpcbindを止める>5. 再度nmapを実行し、効果を確認
# /etc/init.d/portmap stop
Stopping portmap daemon....
# update-rc.d -f portmap remove
Removing any system startup links for /etc/init.d/portmap ...
/etc/rc0.d/S32portmap
/etc/rc1.d/K81portmap
/etc/rc2.d/S18portmap
/etc/rc3.d/S18portmap
/etc/rc4.d/S18portmap
/etc/rc5.d/S18portmap
/etc/rc6.d/S32portmap
/etc/rcS.d/S43portmap
#
<authを止める>
# vi /etc/inetd.conf
...
ident stream tcp wait identd /usr/sbin/identd identd
↓identとある行をコメントアウト
#ident stream tcp wait identd /usr/sbin/identd identd
...
# pkill -HUP inetd
<samba-swatを止める>
# vi /etc/inetd.conf
...
swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat
↓swatとある行をコメントアウト
#swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat
...
# pkill -HUP inetd
<ftpを止める>
# /etc/init.d/vsftpd stop
Stopping FTP server: vsftpd.
# update-rc.d -f vsftpd remove
Removing any system startup links for /etc/init.d/vsftpd ...
/etc/rc0.d/K20vsftpd
/etc/rc1.d/K20vsftpd
/etc/rc2.d/S20vsftpd
/etc/rc3.d/S20vsftpd
/etc/rc4.d/S20vsftpd
/etc/rc5.d/S20vsftpd
/etc/rc6.d/K20vsftpd
C:\Program Files\Nmap>nmap -P0 -n -sS -T4 -p1-65535 192.168.1.132
Starting Nmap 4.85BETA7 ( http://nmap.org ) at 2009-04-19 19:34 東京 (標準時)
Interesting ports on 192.168.1.132:
Not shown: 65532 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
MAC Address: xx:xx:xx:xx:xx:xx (Matsushita Electric IND. CO)
Nmap done: 1 IP address (1 host up) scanned in 52.02 seconds
C:\Program Files\Nmap>
自宅サーバ(Debian/etch)のiptablesで、とあるホストを遮断
/root/myfirewall.shを作成し、アクセス拒否したいipアドレスを登録。
# vi /root/myfirewall.sh定義に問題ないか確認。
#!/bin/sh
iptables -I INPUT -s XXX.XXX.XXX.XXX -j DROP
# /bin/sh /root/myfirewall.shetc/network/interfacesに書き青文字の行を追加。
# iptables -L
...
DROP 0 -- xxxx.jp anywhere ← 拒否したいIPアドレスのFQDN名を確認
...
#
iface eth0 inet dhcp再起動しても定義がされていることを確認。
pre-up /bin/sh /root/myfirewall.sh $IFACE $IF_ADDRESS
# shutdown -r now
...
# iptables -L
...
DROP 0 -- xxxx.jp anywhere ← 再起動してもちゃんとある。
...
#
2009年3月27日
自宅サーバ(Debian/etch)にxcacheを導入
まず、/etc/apt/sources.listを編集し、下記2行を追加。
deb http://www.backports.org/debian/ etch-backports main
deb-src http://www.backports.org/debian/ etch-backports main
それから、"apt-get update"と実行すると、以下のエラーが発生。# apt-get update ... W: GPG error: http://www.jp.backports.org etch-backports Release: The following signatures couldn't be verified because the public key is not available: NO_PUBK EY EA8E8B2116BA136C ...次に、上の赤色部分の使って、以下を実行。
# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys EA8E8B2116BA136C
...
# gpg --armor --export EA8E8B2116BA136C | apt-key add -
OK
#
再度、"apt-get update"以下を実行。今度はエラーは出ない。# apt-get update
...
# aptitude install php5-xcache
...
最後にapacheを再起動し、xcacheを有効に。# /etc/init.d/apache2 stop
Stopping web server (apache2)....
# /etc/init.d/apache2 start
Starting web server (apache2)....
以上
自宅サーバ(Debian/etch)のpukiwiki高速化
おぉ、はやいはやい。
平均5秒→平均0.1秒に大変身。
ページに以下のプラグインが使用されていると、効果がでないそうだ。includeが使えないのは少し残念だが、いいか別に。
- ls2
- pcomment
- include
平均0.1秒→0.06秒前後に、ちびっと向上。
Bodycacheほどの効果はなかったが、このわずかな違いでずいぶんと小気味よい。
2009年3月24日
自宅サーバ(Debian etch)にntp設定を実施
# aptitude install ntp ntpdate ntp-simple
....
# vi /etc/ntp.conf
以下を編集
<編集前># touch /var/lib/ntp/ntp.drift ← 空ファイルを作成
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
<編集後>
server 210.173.160.27 iburst
server 210.173.160.57 iburst
server 210.173.160.87 iburst
※プロバイダ毎の推奨NTPサーバ設定はここを参照のこと。
# /etc/init.d/ntp stop
Stopping NTP server: ntpd.
# ntpdate -b 210.173.160.87 ← 無理やり合わせる
23 Mar 22:43:03 ntpdate[4230]: step time server 210.173.160.87 offset -0.001219 sec
# /etc/init.d/ntp start
Starting NTP server: ntpd.
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp1.jst.mfeed. 210.173.160.86 2 u 22 64 377 10.580 10.717 11.185
+ntp2.jst.mfeed. 210.173.160.86 2 u 19 64 377 10.105 15.293 8.272
+ntp3.jst.mfeed. 210.173.176.4 2 u 21 64 377 10.472 14.271 7.840
*印が出てれば同期成功(のハズ)
因みに自宅サーバは、Debian GNU/Linux 4.0 etchで、ハードはFMV-BIBLO MC VIII 23。フロッピーからネットワークインストール(Panasonic製の有線LANカード使用)。動くもんだねぇ。
2009年3月5日
[Solaris] 動的ポート割り当て範囲
tcp_smallest_anon_port
最小値:1024tcp_largest_anon_port
最大値:TCP_MAX_PORT(=(64 * 1024 - 1)=65535)
デフォルト値:32768
最小値:1024udp_smallest_anon_port
最大値:TCP_MAX_PORT
デフォルト値:TCP_MAX_PORT
最小値:1024udp_largest_anon_port
最大値:UDP_MAX_PORT(=65535)
デフォルト値:(32 * 1024)=32768
最小値:1024
最大値:UDP_MAX_PORT
デフォルト値:UDP_MAX_PORT
参考
- http://homepage2.nifty.com/BASH/sol/ndd.html (リンク切れ)
- tcp.c (リンク切れ)
- udp.c (リンク切れ)
2009年2月28日
[C言語] 共有ライブラリを作って呼んでみる
環境は、以下。
- 2.6.18-92.1.22.el5
- gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
"Makefile" all : test_core clean : rm -f test_core test_core.o liba.so liba.so.1 liba.so.1.0 liba.o rm -f core.* test_core : test_core.o liba.so.1.0 gcc -g -o test_core test_core.o -L. -la test_core.o : test_core.c gcc -Wall -g -c test_core.c -o test_core.o liba.so.1.0 : liba.o gcc -g -shared -Wl,-soname,liba.so.1 -o liba.so.1.0 liba.o -lc ln -sf liba.so.1 liba.so ln -sf liba.so.1.0 liba.so.1 liba.o : liba.c liba.h gcc -fpic -g -c -Wall liba.c "liba.h" int liba(); "liba.c" int liba() { int i = 10 / 0; return 0; } "test_core.c" // // coreダンプをあえて作成するプログラム // #include "liba.h" int main(void) { liba(); return 0; } "run.sh" #!/bin/sh ulimit -c unlimited LD_LIBRARY_PATH="."; export LD_LIBRARY_PATH ./test_core
[Linux] coreファイルをgdbで調べてみる
gdbに実行ファイル(./test_core)をcoreファイル(./core.5857)を指定して、起動する(下記の下線部分)。
$ gdb ./test_core -c ./core.5857
GNU gdb Red Hat Linux (6.5-37.el5_2.2rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".
warning: Can't read pathname for load map: 入力/出力エラーです.
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Core was generated by `./test_core'.
Program terminated with signal 8, Arithmetic exception.
#0 0x08048376 in main () at test_core.c:3
3 int i = 10 / 0;
(gdb)
最後の赤い部分から、このプログラムがtest_core.cの3行目のint i = 10 / 0;の処理でシグナル8(浮動小数点例外)で異常終了したことが分かる。
[Linux] coreファイルの生成設定
手順
1. 設定値の確認
$ ulimit -acore file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduliing priority (-e) 0
file size (blocks, -f) unlimited
.....
2. 設定
$ ulimit -c ulimit3. 確認
3-(1) 設定値の再確認
$ ulimit -acore file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduliing priority (-e) 0
file size (blocks, -f) unlimited
.....
3-(2) 実際にcoreファイルが作成されるかどうかを確認
a. 以下のファイルを編集$ vi test_core.c
int main()
{
int i = 10 / 0;
return 0;
}
b. コンパイル
$ make test_core
cc test_core.c -o test_core
test_core.c: In function `main':
test_core.c:3: 警告: division by zero
c. 実行
$ ./test_core
浮動小数点演算例外です (core dumped)
$ ls core*
core.5799
2009年2月23日
[Thunderbird] lightningからWebDAV上のカレンダーを使ってみる。
環境
- Vista SP1
- lightning 0.9
手順
- "ネットワークのサーバに保存する"を選択
- "iCalendar (ICS)"を選択し、"http://localhost/webdav/test.ics"と入力
- メールを"なし"に設定
[XAMPP] XAMPP(1.7.0)のWebDAVのパスワード設定
環境
- Vistaに入れいているXAMPP(1.7.0)のWebDAV機能
手順
c:\xampp\apache\bin\htpasswd -bc c:\xampp\security\htpasswd.webdav <ID> <Password>
参考
C:\xampp\apache\conf\extra\httpd-dav.conf2009年2月22日
[Linux] CentOS5.2(VMware 2.0)でDVDの取り出しが出来ない!
現象
CentOS5.2をVMware上動かすと、DVDドライブが開かない。物理的にボタンを押しても開かない。CentOSのデスクトップ上から[取り出し]を選択しても開かない。CentOS5.2をシャットダウンしても開かない。条件
CentOS5.2をVMware上動かす頻度
必ず原因
不明対策
VMWare上の設定のCD/DVDの設定で"Access the drive directory"を選択2009年2月20日
[Windows] TrustedInstallerとオートギア
環境
Windows VISTA手順
- まず、Vectorからautogear.lzhをダウンロード。
- autogear.lzhを展開。※自分は、展開にはWinRARを使用。
- 展開されたautogear.exeとautogear.txtをC:\Program Files\AutoGearに移動。
- スタートボタンを右クリックし、[開く(O)]を選択。"スタートアップ"フォルダへ移動。
- "スタートアップ"フォルダで"C:\Program Files\AutoGear\AutoGear.exe"のショートカッタを作成。
- できたショートカットを右クリックし、プロパティを開く。
- [詳細設定(D)...]をクリックし、[管理者として実行(R)]をチェック。[OK]-[OK]
- ショートカットをクリックして、AutoGearを起動。
- [オプション(O)...]-[監視]タブとクリックし、[すべてのアプリケーションの優先度を変更可能にします]をチェック。
- [追加(A)...]をクリック、プログラム名に"trustedinstaller.exe"を記述。指定優先度に"通常以下"に設定。[OK]し[隠す(H)]をクリック。
[Windows] TrustedInstaller.exeの悪さ
現象
Windows使用中に、”画面が時々固まる。マウスも反応しない。暫くすると復旧する。”という現象に見舞われる。条件
Windows VISTAで確認。頻度
毎日数回原因
TrustedInstaller.exeがCPUを100%近く使用することがあるから対策
対策1 以下をWindows再起動都度実施
- タスクマネージャを立ち上げる
- 「すべてのユーザプロセスを表示(S)」とする
- TrustedInstaller.exeの「優先度の設定(P)」を「通常以下(B)」に設定
対策2 オートギアを使う
記事参照 → こちら。2009年2月16日
[CentOS] CentOS5.xでstdio.hが見つからない!
現象
C言語ソースをコンパイルすると下記エラーが発生。error: stdio.h: No such file or directory
条件
CentOS 5.2 (他は不明)頻度
原因
対策
glibc-headersを入れる。入れ方は以下。# yum install glibc-headers