先日から, VoIPと格闘してる.
今回見つけた症状は, VoIPで電話がかかってきても呼び出されないことがあるという病気.
VoIPを使って, 外に電話をかけたあとは, ちゃんと電話を受けれている.
ということで, 思いついたのが, 電話が受けられるのはcontrackの有効な期間に
限っているのではないだろうか. ということ.
早速, iptablesの設定を見てみると, udp 5060, 5090, 5091をFORWARDする
設定項目がなかった.
やっぱり! エントリを追加する.
-
3月からWindows Updateがうまく行かない。かなり以前の職場でWSUSといろいろと格闘したので、Windows Updateの扱いはよく知っているつもりではあるが、簡単には治らなかった。 次の累積パッチで治るかなと思って放置していたが、4月分もあたっていないし、最悪再イ...
-
AndroidスマホとカーナビをBluetooth接続をしている。 Google Play Musicではカーナビに楽曲情報が表示されるが、YouTube Musicでは表示されない。曲の頭出しや停止・再生はカーナビ側から操作ができる。 結論から言うと、AVRCPのバージョン...
-
iPadを落としたら、イヤホンジャックが抜けずに途中からポキっと行ってしまった。 仕方がないので修理をすることに。 使っているヘッドセットはlogicoolのH151 STEREO HEADSET。
-
QEMU上でWindows10の仮想PCを動かしていたが、そろそろWindows11に対応冴えておく必要があると思い、アップグレードしようとした。 結論的には、Win10はBIOSで動いていたのに対し、Win11はUEFIセキュアブートにしなければならなく、HDDイメージにEFI...
-
HKU\.DEFAULT(HKEY_USERS\.DEFAULT)は、あちこちで間違った認識をされている。HKU\.DEFAULT(HKEY_USERS\.DEFAULT)は、デフォルトユーザとかテンプレートユーザと呼ばれるアカウント(=今後作成されるユーザアカウントの初期設定)...
2005/12/28
2005/12/26
VoIPで呼び出せない Part1
VoIPアダプタが一度こけると, その後, VoIPが使えなくなる現象に遭遇.
どうやら, 一度, 正常にupnpdとの通信が確立し, UPnPの登録ができたあと,
VoIPアダプタがこけると, UPnPへの再登録が失敗し続けるようである.
いろいろ試してみると, この状況ではupnpd(Linux SDK for UPnP Devices)を
再起動させてやるしかないようだ.
どうやら, 一度, 正常に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型で作り込んで,
現在時刻をタイムスタンプとして入れておくと, 何とかアップグレード完了.
しかし, さらに難問.
今度は, ログインできなくなった....
いろいろ試行錯誤の結果, 以下の方法により回避させた.
3.0から有料になったので, どうしようかと躊躇していましたが,
そろそろ頃合いかなと思い, 12,000円ほど払いました.
しかし, アップグレードにハマる, ハマる.
まず, アップグレード画面でtemplate_created_onがNullになっていて先に進まない.
mt_templateテーブルに, template_created_on列をtimestamp型で作り込んで,
現在時刻をタイムスタンプとして入れておくと, 何とかアップグレード完了.
しかし, さらに難問.
今度は, ログインできなくなった....
いろいろ試行錯誤の結果, 以下の方法により回避させた.
linuxのコンソールからのみscreen & jfbterm
ログインしたらscreenを起動する
.bashrcに以下を追記.
ちょっと変えて.
コンソールから入ったときのみjfbtermを起動して, screenを呼び出す.
(screenを呼び出してからjfbtermを起動すると, 仮想端末からscreenをresume
した場合, 画面出力が全てコンソールにとばされてしまう)
.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はモニタの状況を見て設定しておくこと.
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への
シンボリックリンクとしておく.
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については.....
コンソールを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
2005/11/23
amavisd-new and rp-pppoe
久しぶりに, うちのサーバマシンを再起動させた.
すると, メールが送れなくなった. ログからamavisdの
起動時に以下のエラーがでて, 起動できていなかった.
確かに, eth0を上げたあと, pppを使ってISPに接続するまで,
DNSは使えない. BINDを入れるのも一つの手だけど, 運用がめんどくさい.
ということで, amavisd-newの起動スクリプトをちょっと修正.
depend()関数内に以下を入れる
after rp-pppoe
これだけでOK. たぶん, もっときれいなやり方があるだろうけど....
すると, メールが送れなくなった. ログから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
例えば, 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にダウングレードしておこう.
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
となっている. この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で指摘したセキュリティホールに対して,
対策が行われているか検索してくれるツール.
をみていて見つけたコマンド. 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をつけると, 実際の再構築をせずに, 何が再構築されるかを
みることができる.
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
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モジュールのアップデートを
やってくれるようだ.
あることを発見した.
perl-cleaner all ask
Perlのアップデートに伴う, Perlモジュールのアップデートを
やってくれるようだ.
2005/07/12
nmap -Oによるuptime検出対策
nmap -Oにて, サーバのUPtimeが検出されてしまう.
起動時間から逆算すると, OSレベルのパッチが当たっていないことが
判明してしまうので, これは消した方がいい.
対応方法は, /etc/sysctl.confに
net.ipv4.tcp_timestamps = 0
を追記してリブート or sysctl -p する.
# 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
で読み込ませられる.
しているんだけど, その際, 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に含まれているらしい.
ライブラリの依存関係を見てくれるそうだが, 便利かも.
折角なので, 記録がてらに書き込み.
下記のようなコマンドを実行するようにメッセージが出ていた.
% 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
こういうのも使えるらしい.
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
こういうのも使えるらしい.
登録:
投稿 (Atom)