ラベル コンピュータ(Gentoo) の投稿を表示しています。 すべての投稿を表示
ラベル コンピュータ(Gentoo) の投稿を表示しています。 すべての投稿を表示

2005/12/28

VoIPで呼び出せない Part3

先日から, VoIPと格闘してる.
今回見つけた症状は, VoIPで電話がかかってきても呼び出されないことがあるという病気.
VoIPを使って, 外に電話をかけたあとは, ちゃんと電話を受けれている.
ということで, 思いついたのが, 電話が受けられるのはcontrackの有効な期間に
限っているのではないだろうか. ということ.

早速, iptablesの設定を見てみると, udp 5060, 5090, 5091をFORWARDする
設定項目がなかった.
やっぱり! エントリを追加する.

2005/12/26

VoIPで呼び出せない Part1

VoIPアダプタが一度こけると, その後, VoIPが使えなくなる現象に遭遇.

どうやら, 一度, 正常にupnpdとの通信が確立し, UPnPの登録ができたあと,
VoIPアダプタがこけると, UPnPへの再登録が失敗し続けるようである.

いろいろ試してみると, この状況ではupnpd(Linux SDK for UPnP Devices)を
再起動させてやるしかないようだ.

2005/12/17

MovableTypeのアップグレード

MovableTypeを2.661から3.2-ja-2にアップグレードしました.
3.0から有料になったので, どうしようかと躊躇していましたが,
そろそろ頃合いかなと思い, 12,000円ほど払いました.

しかし, アップグレードにハマる, ハマる.

まず, アップグレード画面でtemplate_created_onがNullになっていて先に進まない.
mt_templateテーブルに, template_created_on列をtimestamp型で作り込んで,
現在時刻をタイムスタンプとして入れておくと, 何とかアップグレード完了.

しかし, さらに難問.
今度は, ログインできなくなった....
いろいろ試行錯誤の結果, 以下の方法により回避させた.

linuxのコンソールからのみscreen & jfbterm

ログインしたらscreenを起動する
.bashrcに以下を追記.

if [ ${TERM} != "screen.linux" -a ${TERM} != "screen" ] ; then
  screen
fi

ちょっと変えて.
コンソールから入ったときのみjfbtermを起動して, screenを呼び出す.
(screenを呼び出してからjfbtermを起動すると, 仮想端末からscreenをresume
した場合, 画面出力が全てコンソールにとばされてしまう)

if [ ${TERM} != "jfbterm" -a ${TERM} != "screen.linux" -a ${TERM} != "screen" ] ; then
  if [ ${TERM} != "vt100" ] ; then
    jfbterm
  fi
else
  if [ ${TERM} == "jfbterm" ] ; then
    screen
  fi
fi

2005/12/16

Intel 810eのFrameBuffer

Intel 810eを使用しているPCのLinuxコンソールでフレームバッファを使用する場合
i810fbを利用することになるが, かなりのくせ者.
いろいろと試行錯誤の結果, vga16fbなどの他のフレームバッファをカーネルに
組み込むとうまく動作しなくなることが分かった.
この場合, フレームバッファ自体は有効になっているのだが, 解像度が変更できていない.

つまり, i810fbを組み込む場合, 他のfbドライバは組み込まないようにすれば,
解像度も変更できる.
なお, hsync, vsyncはモニタの状況を見て設定しておくこと.

2005/12/15

linuxの時刻について

LinuxとWindowsのマルチブートをした場合, Windowsの時刻を合わせると
Linuxの時刻が狂う. 逆もまたしかり....という状況になる.

これは, Windowsがハードウェアクロック(BIOSレベルの時刻)をローカル時刻
として設定する一方, LinuxはハードウェアクロックをUTCとして設定するため.

Gentooの場合の対策方法
/etc/conf.d/clockの
CLOCK="UTC"を
CLOCL="local"に置き換える.

その際, /etc/localtimeは/usr/share/zoneinfo/Japanへの
シンボリックリンクとしておく.

2005/12/14

linuxコンソールで日本語表示

うちではサーバとして使うLinux機には, Xを入れないポリシーなので,
コンソールをframebuffer対応にして, jfbtermを入れるだけでは,
日本語が表示できない.

メンテナンスなどはすべてリモートからするので, 日本語が表示されなくても
問題はないが, 所用によりコンソールに日本語を表示させる必要がでた.

なので, その方法をメモ.

Kernelの構築の際に, framebufferを有効にしておくことは前提.
emerge -uD jfbterm

ここで, /etc/jfbterm.confに使用するpcf形式のフォントを書き込む.
しかし, XをインストールせずにインストールできるフォントはTrueType(ttf)ばかり.

そこで, cygwinのxorg-x11-fntsから,
8x13-ISO8859-4.pcf.gz
8x16rk.pcf.gz
8x16.pcf.gz
jiskan16.pcf.gz
を拝借.

今回, jiskan16.pcf.gzについては.....

2005/12/03

IP電話

VoIPアダプタを入手しました.
うちの環境はLinux(Gentoo)をルータにしているので, IP電話(VoIP)を
するためには必須の機器です.

設定は....

2005/11/23

amavisd-new and rp-pppoe

久しぶりに, うちのサーバマシンを再起動させた.
すると, メールが送れなくなった. ログからamavisdの
起動時に以下のエラーがでて, 起動できていなかった.

TROUBLE in pre_loop_hook: Error creating a DNS resolver socket: Network is unreachable at /usr/lib/perl5/vendor_perl/5.8.6/Mail/SpamAssassin/DnsResolver.pm line 202.

確かに, eth0を上げたあと, pppを使ってISPに接続するまで,
DNSは使えない. BINDを入れるのも一つの手だけど, 運用がめんどくさい.

ということで, amavisd-newの起動スクリプトをちょっと修正.
depend()関数内に以下を入れる
after rp-pppoe

これだけでOK. たぶん, もっときれいなやり方があるだろうけど....

2005/10/31

package.keywords

gentooで, 特定のパッケージのみ, 最新のバージョンを使う方法.

例えば, nmapは常に最新を追うには....
/etc/portage/package.keywordsに
net-analyzer/nmap ~x86
を記入する.

こんな感じ...
echo "net-analyzer/nmap ~x86" >> /etc/portage/package.keywords

2005/10/20

gentoo udev

gentooのudevを068-r1から070にあげると, boot時に
Segmentation Faultになって, OSが起動できない.

早速調べてみると, 同じことがすでに報告されていた.
http://bugs.gentoo.org/show_bug.cgi?id=109789

まだ直ってないようなので, 仕方がない.
068-r1にダウングレードしておこう.

2005/10/19

regenworld

現時点でgentooのworld favorite fileは/var/lib/portage/world
となっている. このworldファイルが壊れたとき, どうすればいいか.

regenworldというコマンドがある.
ただし/var/log/emerge.logが必要
このコマンドで, worldファイルを作成することができる.
どのportageに入っているかみてみると,
equery belongs regenworld
によると, sys-apps/portageらしい.

参考: http://dev.gentoo.org/~swift/gentoo/kb/fix-var.html

glsa-check

http://www.gentoo.org/doc/ja/gentoolkit.xml
をみていて見つけたコマンド. glsa-check

GLSAはGentooが出しているセキュリティアドバイザリ.
glsa-checkはGLSAで指摘したセキュリティホールに対して,
対策が行われているか検索してくれるツール.

revdep-rebuild

以前, gentooのrevdep-rebuildについて書いたことがあるが, 追記.
http://www.fukatani.org/~hi-lo/blog/archives/000269.html

このコマンド, 別にオプションをつけなくてもいいみたい.
オプションなしで, そのまま
revdep-rebuild
とすると, 依存するportageを全部再構築してくれる.
ちなみに, -pをつけると, 実際の再構築をせずに, 何が再構築されるかを
みることができる.

gentoolkit

今までqpkg -Iで, インストール済みのgentoo portageの一覧を見ていたが,
gentoolkitを0.2.0から0.2.0-r2にアップするさせるとコマンドがなくなった.
そのほかにも, dep-clean, ewhich, mkebuild, pkg-clean, pkg-sizeが
なくなったようだ. (これらのコマンドは使ったことがないので, わからない...)

qpkgはequeryコマンドで置き換わった.
(正確には, qpkgは/usr/bin/qpkgから/usr/lib/gentoolkit/bin/qpkgに
移動した)

equeryを使ってインストールされているportageの一覧を見るには
equery list
で. ほかにもetcatなんていうコマンドもある.

参考: http://www.gentoo.org/doc/ja/gentoolkit.xml

2005/09/26

perl-cleaner

gentooのPerlをアップデートしていて, perl-cleanerなるコマンドが
あることを発見した.
perl-cleaner all ask

Perlのアップデートに伴う, Perlモジュールのアップデートを
やってくれるようだ.

2005/07/12

nmap -Oによるuptime検出対策

nmap -Oにて, サーバのUPtimeが検出されてしまう.

# nmap -O 192.168.0.2
<中略>
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.5.25 - 2.6.3 or Gentoo 1.2 Linux 2.4.19 rc1-rc7), Linux 2.6.3 - 2.6.8
Uptime 0.017 days (since Tue Jul 12 15:58:10 2005)

起動時間から逆算すると, OSレベルのパッチが当たっていないことが
判明してしまうので, これは消した方がいい.

対応方法は, /etc/sysctl.confに
net.ipv4.tcp_timestamps = 0
を追記してリブート or sysctl -p する.

net.ipv4.ip_forward

うちのGentoo BoxをiptablesのMASQUERADEでルータ代わりに
しているんだけど, その際, OS側でmasqueradeを有効にする必要がある.

今までは, /etc/conf.d/local.startで, /procをいじって,
echo "1" > /proc/sys/net/ipv4/conf/all/forwarding
してたんだけど, もっとスマートな方法を覚えたので, 変更

/etc/sysctl.conf内に
net.ipv4.ip_forward = 1
を追記しておけばいい.

ちなみに, 追記後のリブートがいやなら,
% sysctl -p
で読み込ませられる.

2005/06/13

revdep-rebuild

gentooのemergeの出力を眺めていたら,
下記のようなコマンドを実行するようにメッセージが出ていた.
% revdep-rebuild --soname libintl.so.2

このコマンド, gentoolkitに含まれているらしい.
ライブラリの依存関係を見てくれるそうだが, 便利かも.
折角なので, 記録がてらに書き込み.

2005/02/11

gentooでgcc 3.3.5にアップデートしたら, emerge失敗

だいぶん前に, うちのGentooマシンを, gcc 3.3.4から
3.3.5にアップデートした.

で, 今日, mod_phpを再emergeしようとしたら, コンパイル失敗.
どうもlibtoolが問題っぽい.
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/を見に行っている.
正しくは, /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/を見るはず.

libtoolを再度emergeしたがなおらない.
調べると,
% fix_libtool_files.sh 3.3.4
こうすると直るらしい.
http://forums.gentoo.org/viewtopic.php?t=278673

やってみたら, 実際に直った.
勉強になりました.

% gcc-config 1
こういうのも使えるらしい.