ターミナルでの画面表示も含めた作業ログをとりたい時はscriptを使うのだ

たとえばなんらかの作業を行ってログとして残したいのであればhistoryでこと足りるが、たとえばそれはlsを実行したというだけであり、その時点で画面表示がどうなっているかはログには残らない。
そういったときに画面に表示されるすべてのログを取れるのがscriptコマンドである。使い方は
script 記録するファイル名
exitが実行されるまで画面に表示されるすべて(lsやtarの解凍も!)が記録されるので何かあった時に備えてログを残しておくならばscriptのほうがより適切であろう。
なお普通にlessとかで見ると制御コードが入りまくりで見えないのでcatすること。

カテゴリー: 便利なコマンド | コメントする

viのbeep音を消す

前回のエントリーでLinuxのうるさいBEEP音を消すやり方を書いた。
これで静寂の世界が訪れたと思いきやまだ甘かった。
viがうるさい。もともとemacs使いなのでviになれていないのを差し引いてもとにかくやたらbeep音がピーピーなる。というわけで今回はこいつを黙らせて見よう。
ここで紹介している方法はvim(Linuxのviはほとんどこれ)の話なのでSolarisとかには当てはまらないので注意。
vimの設定ファイルはホームの.vimrcに書いておくこいつを編集(なければ新規作成)
set visualbell
直訳すると視覚的ブザーってところか。いままでbeep音がなる局面で今度は画面が微妙にフラッシュする。無設定時のbeep音騒音公害とちがって実に控えめである。
そもそもSSHターミナル使えよという突っ込みは拒否(コンソールの前でしなきゃならん作業もあるわけだ)

カテゴリー: 小技 | タグ: , , | コメントする

MS-IMEの誤変換はすごい

ワードによって一太郎が駆逐(残念ながらこれまでオフィスでは見たことがない)された副作用として変換効率の悪いMS-IMEがよくもわるくも標準となってしまった。
そして誤変換がすごいのがよくわかるのがgoogle検索を誤変換のままやってしまった時にちゃんと「もしかして」で候補が出てくることである。
アレックス・ロドリゲスのつもりで
炉鳥下種
とかね
最近ではあふぉIMEの誤変換はgoogle大先生に直してもらうことにしてます。

カテゴリー: Windows | コメントする

CentOS5.0ネットワークインストール

さすがにそろそろ主流にも乗っておこうと一年ぶりぐらいにCentOSインストールに挑戦。
とはいってもCD6枚焼くとかDVD用イメージ2G以上をダウンロードする気力もないのでネットワークインストールに挑戦。CentOS4.2のときもネットワークインストールに挑戦している。
ネットワークインストールはVineLinuxだとほとんど失敗した覚えがないがCentOSは巨大なパッケージ郡を落としている途中でエラーが出てインストーラーがそのまま終了という苦い記憶がある。
ネットワークインストールを成功させるコツは
テキストインストール
最小パッケージ構成
以上で望むこと。それでもディスク1枚分ぐらいはダウンロードしてくるので時間はかかってしまう。

続きを読む

カテゴリー: CentOS | タグ: , | 1件のコメント

eclipseでCVSを利用時にローカルの変更を取り消す方法

これまでの開発では主にコマンドラインでCVSを利用し、便利だとは知りつつeclipseのCVSはほとんど使ってこなかった。
なぜかといえばGUIなので初心者が結構無用なディレクトリまで登録してしまうとう事例が頻発していたのであえて避けていたというものある。CVSはいったん登録したディレクトリは基本的には消せない(リポジトリを直接削除するという危険な手段を除いては)ので、eclipseのCVSは要注意なのである。
さて本題だが、いったんローカルのファイルを変更しその後UNDOで完全にもとの状態に戻したとしても、タイムスタンプが変更されているのでeclipse上は変更マークがついてしまう。内容が同一であればもちろんコミット時は何も起こらないのだが、本来変更されたファイルと紛らわしいのでこれを消すため、もしくはデバッグコードを入れまくってぐちゃぐちゃになってしまったローカルのファイルをリポジトリの最新で置き換えたい時に以下の操作をする。
該当ファイルを右クリック→置換→HEADから最新でローカルの変更を無効にしてリポジトリのファイルで強制上書きする。

カテゴリー: eclipse | タグ: | コメントする

一般ユーザでstartxしたらFatal server errorと出る時の対策

これはRedHat系に昔からよくあるハマリである。
少なくともRedHat9やEnterprise3ではデフォルトではroot以外はstartxできない。
pamの設定で制限しているためである。
セキュリティのためpamで制限されている。
回避するために/etc/pam.d/xserverを編集
#%PAM-1.0
auth sufficient pam_rootok.so
auth required pam_console.so←pem_permit.soへ変更
account required pam_permit.so
これでめでたく一般ユーザーでもXが立ち上がるはずである。しかし設定ひとつで回避できる問題なのにFatal server error:と表示されるのは大げさではないだろうか?

カテゴリー: Linux | タグ: , | コメントする

通常はINSERT主キーが存在するときはUPDATEしたいときは?

いちいちIF文で主キーの存在チェックをしてupdateとinsertを切り替えるなんてめんどくさくてやってられるか!ということでそんな命令がないか調べてみた。
するとOracleにはmerge intoという命令があるらしい。MySQLはreplace構文がある。しかしながらこれ以外のDBについては似た機能を持つものはないようだ。なにをかくそうSQLServerでこの機能が欲しかったのだが・・・orz

カテゴリー: Database | コメントする

Oracle 11g 出てました

日本語版の正式リリースはまだまだだが、アメリカのサイトではすでにダウンロード可能。
しかしサイズが1.7Gと巨大なんで、インストールはまだ。
Oracleは手に負える範囲のExpressEditionでいいや。最近業務じゃDB2ばかりだし・・・・・

カテゴリー: Oracle | タグ: | コメントする

秘密鍵のパスフレーズを消す方法

当然のことながらこれを実行するとセキュリティレベルが下がるので絶対必要な局面以外では行わないこと。
必要になる局面とは
Apacheの再起動時にパスフレーズの入力を求められるので自動再起動ができなくて困るとか
公開鍵認証方式によるファイル交換システムを作成したいのだが、パスフレーズがあると困るとか
である。
rsa方式で作った場合の除去方法

openssl rsa -in パスフレーズ除去前の秘密鍵 -out パスフレーズ除去後の秘密鍵

もっともこんなことをしなくても最初に秘密鍵を作成するときにパスフレーズを空にすればよいのだが(笑)

カテゴリー: 小技 | タグ: | コメントする

ApacheバージョンやOSなどの情報を隠す

エラードキュメントの設定が適切にされていないところがほとんどの現状では必然的にApacheのバージョンやOSや付随する情報(PHPやOpenSSLのバージョン)が野ざらしになっているケースが多い。
実際問題エラーページについてデフォルトのまま放置しているようなサイトはバージョンを隠すような細かい設定ができる管理者がいないのだろうけども、簡単に対応できるので隠すのが望ましい。
httpd.confの以下の行を編集
ServerSignature Off
ServerTokens ProductOnly
ほとんどのバイナリではApacheとOSのバージョンまで見えてしまう設定になっている。

カテゴリー: Apache | タグ: | コメントする