Linux

getpid on libc

へんなことに気がついた。 #include <unistd.h> static const int REPEAT = 100; int main() { int i; for (i = 0; i < REPEAT; i++) { getpid(); getpgid(); } return 0; } % gcc -O0 -o test test.c % strace -c -egetpid,getpgid ./test Process 9039 detached % ti</unistd.h>…

ecolinux

ecolinuxなんかを使ってみる。

Wubi

Wubiが起動しなくてなんだこれと、と思って検索してみたら、規定の IME を Microsoft Office IME 2007 から Microsoft IME に変更したら起動した。 なんなんだろな、これは。

ディスクの情報とメモリ上の情報

ref:http://d.hatena.ne.jp/NyaRuRu/20080318/p1 ref:http://d.hatena.ne.jp/kwatch/20080318/1205811694 「ディスク上にデータが書き込まれた」という状態と「ユーザプロセスAが書き込んだ最新のデータを他のユーザプロセスBが読める」というのは実は独立し…

時計がおかしい

ntp で設定できないサーバがあるというので調査。 で、ntpdate で強制的に同期したあとに ntpd を起動しても、しばらくしてから ntpq -p とかすると offset が 5000 とかになっている。なんで? ちょっとプログラムを書いて実験。 #!/usr/bin/env python impo…

bashism

OProfile を動かしてみようと思ってインストールしたら、opcontrol が動かない。なんでだ、と思って原因を探ると、 opcontrol は shell script で shebang が #!/bin/sh 良く見ると $((NR_CHOSEN - 1)) という記述がありこれが原因っぽい そして私の Ubuntu …

session.save_path の Permission が変

Ubuntu Gutsy の PHP は session.save_path の Permission が変な気がする。 % php -r 'echo ini_get("session.save_path"), "\n";' /var/lib/php5 % ls -ld /var/lib/php5 drwx-wx-wt 2 root root 16 2007-11-05 09:54 /var/lib/php5/ぬぅ、Apache の実行ユ…

squashfs

squashfs という圧縮ファイルシステムが気になったので試してみる。 Linux 2.6.22 で SLAB_CTOR_VERIFY マクロが削除された関係で Ubuntu Gutsy のレポジトリから得られるものではモジュールがビルドできなくなっている。ので、適当に新しめのものをもってく…

libstdc++-doc

ref:C++ via:http://b.hatena.ne.jp/naoya/20071101#bookmark-6358395 sudo aptitude install libstdc++6-docとすると、man で std:: 以下のライブラリが引ける。おお、これはいい。 いままで libstdc++ のやつはわざわざ http://www.cppreference.com/ を見…

compiz

ごそごそいじっていたら、compiz が動くようになった。そうか、module-assistant でモジュールの作成と restricted-manager での設定が必要なのだな。

Ubuntu 7.10 Gutsy Gibbon

ref:Ubuntu 7.10 Released, Delivering the Best of Open Source Software | Ubuntu でた。

最近の Ubuntu Gutsy Gibbon

次期リリースの Ubuntu 7.10 Gutsy Gibbon はちょっと前に RC 版を入れて使っていたりするんだけど、最近のパッケージ更新がやばい。 今日はパッケージ更新するのを忘れていたんだけど、一昨日 sudo aptitude safe-upgrade したばかりなのに、昨日は更新パッ…

Ubuntu から PHP4 が消えている

Ubuntu Gutsy Gibbon のパッケージアーカイブに PHP4 関連のパッケージがない。なんてこったい。 PHP4 なんて速く捨てろとのお達しなのかな。

senna + mecab + MySQL の deb パッケージ

UTF-8 で動く mecab と senna と MySQL の deb パッケージを作った i386 or amd64 用。debian/control の Descripton とかあんまりいじっていない適当なやつだけど、欲しい人はどうぞ。 apt-line はこんな感じで。 deb http://odz.sakura.ne.jp/debian/ guts…

Ubuntu と sudo と nsswitch.conf

研究室のデスクトップマシンを Debian etch から Ubuntu 7.10 Gutsy Gibbon alpha 5 に入れ替えた。 なんか、ときおりネットワークがおかしくなったり*1、起動時に udev が起動しないから Ctrl-C で止めてからあとで手動で起動するなんてことをしていたから…

lenny の timezone 設定

lenny には tzconfig がなく、自分で symbolic link を張らないといけないらしい。 % sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime

nfs がマウントできない

Xen で NFS をマウントしようと思ったら mount.nfs: No such Deviceとか出るでやんの。なんで、とか思って、man 2 mount すると ENODEV filesystemtype not configured in the kernel. なるほど。ということで、いったん Domain-U を落としてカーネルモジュ…

SBUML

ref:http://sbuml.sourceforge.net/ 研究室の中間報告会で SBUML というものを知った。スナップショットを採るための User mode Linux の拡張らしい。

例外とバックトレースを使ったデバッグ

あるプログラムを使っていると std::out_of_range で abort したので、デバッグしようとするものの、C++ は例外で abort しても Java のようにバックトレースを表示してくれたりしないので、どこが問題か分かり難くて困った。 #include <cstdlib> #include <cstdio> #include <execinfo.h></execinfo.h></cstdio></cstdlib>…

aptitude

apt-getの「提案パッケージ」もどうにかならんのかなーあれ Y/nだけじゃなくて提案も含めてインストール くらいオプション用意してくれてもいいと思うんだが aptitude を使えばいいんじゃないでしょうか。

Linux ノスタルジー

ref:naoyaのはてなダイアリー - *NIX初心者だったあの頃 どういう意図か昨日 VMWare に RedHat 5.2 なんかをインストールした自分がきましたよ。 ということで、RedHat 5.2 なんてのを入れて感じた現在とのギャップ。 英語版て(現在は単一バイナリで多国語対…

epoll を使った echo サーバ

自分用メモ。epoll & Non-Blocking IO による echo サーバの例。 使い方のテスト以上のものではないので、そのままではいろいろまずい。epoll_create や socket で取得した file descriptor を close してなかったり。まねしないように。 #include <stdio.h> #include <stdlib.h></stdlib.h></stdio.h>…

Ubuntu Feisty + Beryl

愛用のラップトップに Ubuntu 7.04 Feisty を入れて、Beryl の設定をしてみた。 おー、なんかエフェクトとかすごい。ワークスペースの切替で Cube が回る。 で、こんな環境を作っておいて screen でがしがしやっているとアホだね。

daytime

Ubuntu/Debian で daytime service を動かすメモ。 とりあえず % sudo apt-get install xinetdして、/etc/xinetd.d/daytime の disable = yesを disable = noに書き換える。で、 % sudo /etc/init.d/xinetd restartで xinetd を再起動。

fc-cache がこける

Debian etch にどかどかパッケージをインストールしていたら突然 ttf-opensymbol の postinst で fc-cache がこけるように。とりあえずアンインストールしようとしても postrm でも fc-cache が実行されるわけで、完全なはまり状態に。ttf-opensymbol のイン…

Java + Debian

個人的には,Java で書かれてるってのが非常に微妙なんだけど.別に Java が嫌いとかそういうんじゃなくて,単純に処理系のインストールが面倒というか.apt で入らないから (Java がオープンソースになったってことだけど,そのうち解決するのかね ?) あれ…

プロセスが開いているファイルを確認する

Linux であるプロセスが開いているファイルを確認する Tips。 ls -l /proc/`pgrep -n java`/fd"pgrep -n java" の ところは用途に応じて "pgrep -nf foge.py" とか適当に。Linux に限らず procfs がサポートされている OS ならいけるような気がする。 と思っ…

getuidなどでのユーザ権限確認

下のエントリに関して。 下のエントリを読めば、分かる人はすでに分かっているはずだが、要するに getuid や getgid なんかは LD_PRELOAD を使えばあっさりごまかせてしまうので、こういうのを素直に信じてユーザ確認に使ってしまうと結構危ないことになるか…

LD_PRELOAD で実効グループをごまかす

最近、Dual Core Opteron のマルチCPUなマシンが4台導入された。 で、分散処理の環境として、Sun の SGE(Sun N1 Grid Engine)というのが導入されているのだが、こいつの管理ツールがユーザの実効グループ(egid)を参照してグループ名を取得しようとするらしく…

Red Hat Enterprise Linux WS の zsh

Dual Core の AMD Opteron 180 が2つ載ったマシンが使えるようになった。やっと 64bits マシンだよ。当然共用だけど。 で、このマシン Red Hat Enterprise Linux WS release 4 が載っているんだけど、zsh が /bin にある。せめて /usr/bin じゃないかと思う…