トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

BsdTrouble

FreeBSDトラブル集

カーネル関連

5および6系列
  • キーボードの抜き差し

/boot/device.hints で

hint.atkbd.0.flags="0x2"

にする。

  • ACPIをOFF, APMをON

/boot/device.hints で

hint.acpi.0.disabled="1"
hint.apm.0.disabled="0"
  • CD/DVDドライブのDMA転送有効

/boot/loader.conf で

hw.ata.atapi_dma="1"
  • サウンドデバイス(CMIチップ)有効

/boot/loader.conf で

snd_cmi_load="YES"
症状

天地創造の後、ブート時に

ata1-master : FAILURE ATAPI_IDENTIFY timed out

というようなメッセージが出てこける。

原因
天地創造により /boot/device.hints がデフォルトの

hint.acpi.0.disabled="0"
hint.apm.0.disabled="1"

となってしまたが、/etc/rc.conf では

apm_enable="YES"

となっていたことが一因のようだ。RAIDにしていて、ATA0にHDDが不在なのも関係があるかもしれない。とりあえず、My Machine のACPIは腐ってるみたいなので無効にして、APMのほうを有効にしておく。

ports関連

portupgradeプロブレム

missing key: categories: Cannot read the portsdb!/usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:567:in `open_db': database file error (PortsDB::DBError)...云々というエラーで portupgrade できない。

原因
2007/02〜2007/03 の間にportsツリーのディレクトリ構成が変更されたらしい。/usr/ports/sysutils/portupgrade -> /usr/ports/ports-mgmt/portupgrade古い方を make deinstall 、新しいのをインストールして解決。

アップデート後は

pkgdb -L

して依存関係修正

X関連

症状

ローカルな起動スクリプトが二重起動する

対処
xorg-7.2の移行により/usr/localに統一されたのに伴い、/usr/X11R6 は /usr/local へのリンクになった。よって、/etc/rc.conf に

local_startup="/usr/local/etc/rc.d/"

を追加しないと、同じスクリプトを二回起動してしまう。

症状

XFree86 から Xorg への乗り換えで、X-client の一部が、

Warning: Unable to load any usable ISO8859 font
Error: Aborting: no font found

というエラーを吐いて、起動しない。

対処
.Xdefaults において、

*font:-alias-fixed-medium-r-normal--14-*-*-*-*-*-iso8859-1

というように明示的に Default font を指定してやる。

症状

Xorg-6.9 でマウスのホイールが効かない

対処
普通は moused のフラグとして /etc/rc.conf で

moused_flags="-z 4"

としてやるのだが、Xorg-6.9だとこれがNG。このフラグをコメントアウトして、/etc/xorg.conf で

Section "InputDevice"
 Option "ZAxisMapping" "4 5"
EndSection

となっていれば良い。

WWWブラウザ関連

  • linuxpluginwrapper の設定

/etc/libmap.conf で

# [ALPHA SUPPORT] Flash7 with Mozilla
[/usr/local/lib/npapi/linux-flashplugin/libflashplayer.so]
libpthread.so.0                 libpthread.so.1
libdl.so.2                      pluginwrapper/flash7.so
libz.so.1                       libz.so.2
libm.so.6                       libm.so.3
libc.so.6                       pluginwrapper/flash7.so

と設定。Flash7を有効にするには、パスが変わっているので、

ln -s /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so 
  /usr/X11R6/lib/browser_plugins/
ln -s /usr/local/lib/npapi/linux-flashplugin/flashplayer.xpt 
  /usr/X11R6/lib/browser_plugins/

とリンクを張る.

印刷関連

症状

CUPSでfoomatic-ripフィルタがトラぶる

原因&対処

gs コマンドの出力として/dev/fd/3 がデフォルトになっているが、devfs移行後のFreeBSDではfdは2までしかない。catを使った代替スクリプトはバギーそこで、/etc/fstab に

fdescfs /dev/fd fdescfs rw 0 0

を追加して、3以降のfdを動的に生成できるようにしたら解決!(中々気付かなかったよ・・・・)

症状

EPSON のカラーレーザプリンタLPS6500(eplaserドライバ)でA3印刷できない。

対処

eplaserのドライバのソースで定義されているA3のサイズが842X1190なのに、Ghostscriptのgs_statd.psでは842X1191になっていた。gs_statd.psをドライバの方に合わせたらOK。デバイスとしては、lp9800cを指定してやって問題ない。オプションに、-dDuplex を付けてやれば両面印刷できる。

症状

EPSON のカラーレーザプリンタLPS5000(foomatic-rip)で印刷できない。

対処

psutils のプログラムが適切に利用できない状態になっている。( http://avasys.jp/product/linux_driver/question/2009/12/qa00073.php )

pstolps5000.sh というスクリプトの中で

-rotator="" && test "$useRotator" = "on" && rotator="| pstops -q $pstops1 $pstops2"
+rotator="" && test "$useRotator" = "on" && rotator="| /usr/bin/pstops -q $pstops1 $pstops2"

と絶対パス指定してやる。

また各スクリプトのシェル指定を

-#!/bin/bash
+#!/usr/local/bin/bash

とするのを忘れないこと。

POSIX thread 関連

症状

thread libraryに関して、古いlibc_rと新しいlibpthreadの混在が問題になった。spinlockほにゃららというエラーを吐いて死ぬアプリが出てくる

対処
libraryやアプリの完全な入れ替え。一時しのぎとしては、/etc/libmap.conf に

libc_r.so.5		libpthread.so.1
libc_r.so		libpthread.so

を追加

OpenOffice 関連

プリンタ設定

/usr/local/openoffice.org2.0.0/program/spadminで行う。(フォントの追加も)

症状

portsでOpenOffice.org-2.0.0のビルドを試みたが途中で止まる

対処
ぐぐってみると、mozilla sub-portの問題みたい。

make LOCALIZED_LANG=ja -DWITH_GPC -DWITHOUT_JAVA 
-DWITH_CCACHE -DWITHOUT_MOZILLA build

という感じで、WITHOUT_MOZILLAにしてコンパイル成功。

症状

上のオプションでコンパイルしたのは、Fileダイアログで日本語が使えないために、拡張子指定がままならない&ヘルプが無い、という問題が生じた。

対処

make LOCALIZED_LANG=ja -DWITH_CCACHE -DWITHOUT_MOZILLA 
-DWITH_TTF_BYTECODE_ENABLED build

として、JAVAを有効にしてWITH_TTF_BYTECODE_ENABLEDオプションをつけた。

その他

症状

CDライター K3b がドライブを認識しない

対処

SCSI のCDドライブ cd0 が前提なので、ATAPIの場合はdevice atapicam をカーネルに仕込んでおく

/dev の cd0, acd0, pass0, xpt0 のパーミッションが書き込み可になっている必要がある。ユーザがwheel, operatorに登録されているなら、/etc/devfs.conf に

perm   acd0    0660
perm   cd0    0660
perm   pass0    0660
perm   xpt0    0660

として、/etc/devfs restart実際に書き込むには、cdrecord や cdrdao などもsetuid しておく必要がある