メモ

Thinkpad X61のディスプレイの設定をする

Thinkpad X61のグラフィックスチップ(って言うのか?)は Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller なのでそれに対応したドライバを導入してxorg.confに設定しなければならない。 #Ubuntuのディスプレイ設定ツールはタコなので…

thinkpad X61でサウンド周りがちゃんと動くようにする

音はちゃんと出るのだけど、ミュートに設定しても止まってくれなかったりするのでドライバ周りをいじる。 sudo apt-get install alsa-source fakeroot cd /usr/src sudo tar -jxvf alsa-driver.tar.gz cd modules sudo wget ftp://ftp.alsa-project.org/pub/…

CentOSにKVMをインストール

yum install kvm.i386 kmod-kvm.i686 現在のカーネルのバージョンがkvmに対応していない場合、適切なカーネルもインストールしてくれる(ブートローダにもエントリを追加してくれる) extrasとupdatesのリポジトリは有効にしておくように。

diffでどのファイルが追加されて削除されたかを調べる

diff -q 比較元のディレクトリ 比較先のディレクトリ

pythonのデバッガを使う

python -m pdb デバッグしたいスクリプトファイルのパス

QEMUのアクセラレータモジュールkqemuのインストール

CentOS5にインストール。 wget http://fabrice.bellard.free.fr/qemu/kqemu-1.3.0pre11.tar.gz tar xvzf kqemu-1.3.0pre11.tar.gz cd kqemu-1.3.0 make make install modprobe kqemu chmod 666 /dev/kqemu makeでこける時はカーネルソースが準備できていない…

Linuxカーネルのサイズを調べる

objcopy -O binary vmlinux 出力ファイル名 として、ls -lか何かでサイズを調べる。 これでいい・・ですよね?ref http://www.ctrlz.jp/kb/vmlinux.html

makeでビルドする時のファイルのインストール先を確認

make -n ターゲット こうすると、実際のコマンドは実行されずに、実行されるコマンド文字列のみ出力される。

CygwinでSubversionのメッセージが化けるのを直す

CygwinのSetup.exeでhttp://yak.myhome.cx/junks/mixed/をリポジトリのURLとして指定して, libapr0_winlocaleとapr_winlocale(Libカテゴリ内にある)をインストールする。

Subversionでリポジトリからファイルのみチェックアウト

svn co svn+ssh://taro@hoge.host.jp/home/taro/repos/hogefiles/ とかするとチェックアウトした先にhogefilesディレクトリができてしまう。 これだとhogefilesディレクトリ内のファイルだけ取り出してきて同期を取りたい場合はだめ。 そんな時は svn co svn…

yumでグループでまとめてインストールしたり

#インストール済みと,インストール可能なものを出力 yum grouplist #グループまとめてインストール yum groupinstall "グループ名"

heartbeatとldirectordで負荷分散

ちょいと所用で。 基本的には 止まらないシステムはLinuxで作る!〜オープンソースを活用したHAサーバ構築入門(http://enterprisezine.jp/article/corner/5/)にしたがってやればOK。 ただ、heartbeatのところで追加で設定しなくてはいけなかった事があったの…

rubyのワンライナを使って切り出しとか

こんな出力をするコマンドからID部を取り出したい # xm list Name ID Mem VCPUs State Time(s) Domain-0 0 3523 2 r----- 2920.5 centos 101 512 1 -b---- 0.3 こんなん作ってみた #!/bin/shdom_id=`xm list | grep $1 | ruby -e 'ARGF.each{ |line| puts li…

HVMドメインのシリアルポートを読む

xxx.hvmというHVMドメインの起動用コンフィグファイルには、デフォルトで serial='pty' という設定があり、/dev/pts/n(毎回変わる番号)にシリアルポートがリダイレクトされます。 をれをminicomとかで読みにいけばシリアルコンソールが操作できます。 ただし…

EmacsでC言語を書く時のショートカットとモード集

M - ; コメントを挿入 M C - p 対応する開き括弧へジャンプ (関数の先頭や末尾また関数と関数の間で使うと、関数の開始部と終了部を順に上に飛んで行ける) M C - n 対応する閉じ確固へジャンプ (・・・下に・・・・) #関数名の部分を順にジャンプしていくの…

APRでハッシュテーブル

http://d.hatena.ne.jp/kanbayashi/20071211/p1 の続き。 http://dev.ariel-networks.com/apr/apr-tutorial/sample/hashtab-sample.c のサンプルコードをちょっと改変してコメントを追加していくという方法で説明させてもらいます。 mainは一番下に、そこか…

C言語でコレクションが使いたい!!

JavaとかRubyばっか書いていた軟弱者の僕には、コレクションがないのはつらすぎます(>_ というわけで、Apache Portable Runtime というライブラリの使いかたをまとめておきます。ちなみにAPRはApacheが内部で使っているユーティリティー群を抽出したものらし…

WindowsにTracを導入してNFS上のリポジトリを管理する

前提 NFS上のホームに置いてあるリポジトリが ¥¥サーバ名¥hoge¥repos というような感じでsambaで見える 手順 「Trac月」という一括で全部入れてくれるパッケージを導入 http://sourceforge.jp/projects/traclight/wiki/FrontPage から辿って最新バージョ…

NFS上のホームをノートPCとかから読み書きできるようにする

前提 NFSサーバ上のユーザ名とノートPC上のユーザ名が異なる 手順 自動マウントするように設定 /etc/fstabに以下を追記 NFSサーバ名:/home/サーバ上のユーザ名 好きなマウント先ディレクトリ nfs defaults 0 0 ※マウント先のディレクトリは先に作成しておく…

GCCのよく使いそうなオプション

-E プリプロセッサの適用が終わった後のコードを出力 #カーネルのコードはアクロバティックなマクロの使い方しすぎだからコレを使ってどうにか読む。。 -S 機械語にコンパイルする前のアセンブラを出力 -Dマクロ名 指定したマクロを定義する。 #デバッグマク…

Xenを超高速化する魔法

echo "hwcap 0 nosegneg" > /etc/ld.so.conf.d/nosegneg.conf ldconfig とするだけ。 なんで速くなるかというと mv /lib/tls /lib/tls.disabled というのだけだど実はTLSが無効*1になっていなくて、上のようにするとちゃんと無効になるからなのです。 体感で…

unameに特定の文字が含まれていたらなにかする

if [ `uname -a | grep xen | wc -l` -eq 1 ] then echo "find!!" fi なんかスマートじゃないような気がするけどまぁいいや。 シェルスクリプトは本当に終わってる言語ですね。 #追記 トラバで教えてもらったことを使うと下のような感じで書けるみたい uname…

Ubuntuでデュアルディスプレイ

http://blog.zng.jp/2007/09/linux.html ここに従ってやればおけ。 ただ、ThinkpadT40に入れてあるUbuntuではVGA-0(外部出力)が800x600までしか表示できない。なぜだ。。 /home/ryo% xrandr Screen 0: minimum 320 x 200, current 1824 x 768, maximum 1824 …

UbuntuでソースからビルドしたXenを動かす

苦労してどうにか動かせました。 #CentOSでやった時のエントリはこちら→http://d.hatena.ne.jp/kanbayashi/20070822/p1 環境 マシン ThinkpadT40 OS Ubuntu 7.1.0 gutsy gibbon カーネル 2.6.22-14-generic ソースパッケージ version 3.1.0(xen-3.1.0-src.tg…

Linuxの各メモリ領域の情報を得る

[root@foobar ~]# less /proc/iomem 00000000-0009efff : System RAM 0009f800-0009ffff : reserved 000a0000-000bffff : Video RAM area 000c0000-000c7fff : Video ROM 000ca000-000cafff : Adapter ROM 000f0000-000fffff : System ROM 00100000-7ceeffff…

XenのDomainUをgdbでデバッグする

http://www35.atwiki.jp/yoshinabu/pages/18.htmlの方法で行けました。

Xenカーネルにシリアルコンソールで接続する

大体はhttp://d.hatena.ne.jp/kanbayashi/20071111/p1と一緒。 違う所 カーネルオプション kernel /xen-3.1.0.gz com1=9600,8n1 というように com1=9600,8n1 を追記 接続した後 XenはOSとは違うのでログインとかはできません。 しかし、デバッグに役立つよう…

VMWare上で動いているLinuxのシリアルコンソールに接続する

環境 VM VMWare Workstation 6 Linux CentOS 5 カーネル2.6.18-8.el5 Windows Windows XP SP2 手順 VMWareのシリアルポートの設定 各VMのデバイスの追加でシリアルポートを追加 外部への公開の仕方としては名前付きパイプを選択。 名前は¥¥.¥com_1という…

カーネルイメージで遊ぶ

objcopy -O binary vmlinux*1 出力ファイル名 これで"仮想メモリ空間上へ実際に展開されるであろうカーネルのバイナリイメージがダンプされる"そうです。 nm vmlinux これで、実際に仮想メモリ空間に展開された状態で、どのシンボルがどの位置に置かれるかが…

複数のデータをフォームに表示してそのうちの一つを返して更新を行う

テンプレート 'update_scale' %> 20%> 20%> 20%> 20%> コントローラ if (@idea = Idea.update(params[:idea].keys,params[:idea].values)[0]).errors.empty? flash[:notice] = "success" redirect_to :action => '元のテンプレート' else flash[:notice] = "…