2006-08-31

pppdでdopa

dopa(Moblie Arc 9601)をつなぐ必要が出たので、しばらく遊んでみた。

最初はぜんぜんダメダメ。

いろいろログを調べた結果、デフォルトの状態から、以下を修正したらば
うまくいけました。

あ、system-config-networkをいじったらば、勝手に作成される、
/etc/wvdial.confの中身の書き換えの話です。

Modemセクションの、初期化のとこを以下のようにコメントアウト
Init1 = ATZ
#Init3 = ATM0

Dialerセクションの、モデム初期化文字列を以下のように修正。
Init1 = ATZ
#Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2

Arcには、+FCLASS=0はなかったみたい。

これで、電話をかけて、pppdに制御が移るとこまではたどり着きます。

次が、dopaが対応してない機能を外すための、pppdのオプション指定。
pppdのdebugオプションを指定して、Rejectされている機能を、外していきました。
これとか、
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.13.1> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
これとか、
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]
rcvd [LCP ProtRej id=0x2 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]

結局、/etc/pppd/optionsは、以下のようになりました。
lock debug novj nodeflate

あ、debugは運用時には、外します。
私の場合には、圧縮オプションのdeflateが悪かったように思います。
環境によっては、nobsdcompも必要かも。

2006-08-02

udevの設定とか

マルチポートのシリアルボードを追加した。
moxa CP-118Uだ。8ポートもあるし、RS485も扱えるすぐれもの。
linux用のデバイスドライバのソースも付いてて、コンパイルしてインストールして、デバイスファイル作って
modprobe mxser
で、簡単にインストールできた。

んだけど、再起動したらば、一般ユーザから使えなーい。
見ると、
/dev/ttyM?のパーミッションが、
crw------- 1 root root
になってる。

調べたら、最近はudevとかいうやつが、自動的に存在するデバイスのデバイスファイルだけを/devに作ってくれるそうな。そういえば、/devの下すかすかだよなー。

パーミッションは、ルールを指定すればそれに従って作るらしいことがわかった。上のパーミッションは、
udev.confで指定された、デフォルトの(ルールが無いとき)設定だった。

で、/etc/udev/permissions.dに、10-ttyM.permissionsというファイルを作成した。
[root@elena permissions.d]# cat 10-ttyM.permissions
# permission/ownership map for udev
# ttyM devices
ttyM[0-9]*:root:uucp:0666

これで、起動時に意図どおり、
crw-rw-rw- 1 root uucp
になった。

ついでに、moxaのユーティリティで使う、mxserというエイリアスを作るルールも追加。
ルールは、/etc/udev/rules.dに置くらしい。
[root@elena rules.d]# cat 11-moxa.rules
# for moxa mxser device symlink
KERNEL="ttyM32", SYMLINK="mxser"

これで、起動時に/dev/mxserも作ってくれる。

参考にしたさいと
http://www.gentoo.org/doc/ja/udev-guide.xml
http://www.gentoo.gr.jp/transdocs/udevrules/udevrules.html
http://mux03.panda64.net/docs/udev_on_fedora_ja.html

2006-05-16

mke2fsとかtune2fsとか

諸般の事情で、centosで、パーティション作成、mke2fs -j で初期化したCFを、2.4なカーネルの環境に持っていきました。

したらば、知らないオプションがあるからマウントできないと言われます。

tune2fsで調べると、FileSystem features の、resize_inodeがダメなようです。

それならばと、
tune2fs -O ^resize_inode
で外そうとすると、resize_indoeは外せないと言われます。

ぐぐったらば、
e2fsprogs-1.35-12.3.EL4.i386.rpm
e2fsprogsのバグ修正アップデート
アドバイスID: RHBA-2006:0060-4
最終更新日: 2006-03-07

次の問題が対処されました。

- ext2resizeへの参照がmanページから削除されました。
- 切断不良のiノードでのクラッシュの可能性が修正されました。
- tune2fsによるresize_inode機能の設定と消去が可能になりました。
で、更新パッケージがありました。

yumでupdateすると、無事外すことが出来ました。

蛇足ですが、そもそも作成時に
mke2fs -j -O ^resize_inode
とすればいいようです。

2006-04-17

cannaのユーザ辞書

ユーザ辞書が無くて、canna-tourokuがsegmentationfaultした。

コマンドラインから、
mkdic user
で、辞書作成
lsdicで作られてる辞書の一覧がでる。
catdicで辞書の登録一覧

いまどきかんななんか使ってる人はいないのかなぁ。

いまだとAnthyとかなんでしょうかね。変更しよっかなぁ。

X.Orgの英字フォントのフォントフェース

フォント

昔、kondaraからredhat9に移行したときに、14ドットの英字フォントフェースが変わってて違和感バリバリだったので、kondaraの環境からredhat9にフォントを持ってきて使ってました。
今回も同様だったんだけど、なんでだろうとずっと思ってました。

で、気になってたので、何気に調べてたらば、
http://www.bsddiary.net/d/200104.html
を発見。

なんと、XFree86 3.xから、4.xに移行したときに、7x14.bdfの作者が変ってるんだって。
もちろん、X.Orgでも、XFree86 4.xのときと同じ作者なので違和感があったわけですね。

で、古い環境から、7x14-ISO8859-1.pcf.gzだけ持って来て、/usr/X11R6/lib/X11/fonts/miscにてmkfontdirしてしあわせになりました。

具体的には、もともとのX.Org環境のファイルを、
7x14-ISO8859-1.pcf.gz.XF86-4
にして、古い環境から持ってきた、XFree86 3.x当時のファイルを
7x14-XF86-3-ISO8859-1.pcf.gz
にしてからmkfontdirすればOK。

以下のwebpageで、7x14のリリース履歴とかがcvsベースで見れる。
http://webcvs.freedesktop.org/xorg/font/misc-misc/7x14.bdf?rev=1.2&view=log

1.1のときには、H. Kagotaniさん作なのに、そのあと変わってる。ログを見たらば、なんかバグがどーとか
かかれてますね。まあ使えてるからいいんだけど。

mewとえみクロック

mew-3.3

prefixとinfoファイルの場所を修正して、コンパイルしてインストールするだけ。

--- Makefile.orig 2002-12-11 23:48:41.000000000 +0900
+++ Makefile 2006-03-10 14:31:29.000000000 +0900
@@ -19,8 +19,8 @@
## EDIT THE FOLLOWINGS
##

-prefix=/usr/local
-infodir=$(prefix)/info
+prefix=/usr
+infodir=$(prefix)/share/info

##
## Compile engines


えみクロック
コンパイルしてインストールするだけ

operaのインストール

operaのインストール

mozillaが入ってないとmotifpluginの警告がでる。なぜかはなぞ
jreのインストールが必要だけど、まだ入れてない。
多分javaを使ってるサイトは見ないだろうからいいかなと。

emacsをemcwsに

emcwsのインストール

日本語変換が昔から使ってるemcwsタイプのほうが好きなので、emacsをemcwsにした。

centosのemacsのパッケージに、emcwsのパッチを適用。
emcwsのパッチと、patch4があたってたので、patch4の内容を以下のように、emcwsのパッチに取り込んだ。

--- emcws-21.3-20031213.orig 2006-04-17 09:41:17.000000000 +0900
+++ emcws-21.3-20031213 2006-02-28 19:22:42.000000000 +0900
@@ -895,7 +895,7 @@
- ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${bindir}/emacs-${version}
- -chmod 1755 ${bindir}/emacs-${version}
+ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${bindir}/$(EMACS)-${version}
-+ -chmod 1755 ${bindir}/$(EMACS)-${version}
++# -chmod 1755 ${bindir}/$(EMACS)-${version}
rm -f ${bindir}/$(EMACS)
- -ln ${bindir}/emacs-${version} ${bindir}/$(EMACS)
+ -ln ${bindir}/$(EMACS)-${version} ${bindir}/$(EMACS)


emacs.specを以下のように修正。emcwsの追加と、patch4の抑制と、ついでに、s390のパッチの適用をifに。

--- emacs.spec.centos 2005-02-05 00:21:53.000000000 +0900
+++ emacs.spec 2006-02-28 19:26:58.000000000 +0900
@@ -47,6 +47,7 @@
Patch14: emacs-xim-status-under-window-125413.patch
Patch15: emacs-21.3-xterm-modifiers-137868.patch
Patch16: movemail-CAN-2005-0100.patch
+Patch101: emcws-21.3-20031213
Buildroot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: glibc-devel, gcc, bzip2, ncurses-devel, zlib-devel, autoconf213
Buildrequires: XFree86-devel, Xaw3d-devel, libpng-devel, libjpeg-devel, libungif-devel, libtiff-devel
@@ -123,10 +124,12 @@
%prep
%setup -q -b 1 -a 24

+%ifarch s390 s390x
%patch2 -p1 -b .s390
-%patch3 -p1 -b .hammer
-%patch4 -p1 -b .sticky
%patch5 -p1 -b .s390x
+%endif
+%patch3 -p1 -b .hammer
+# %patch4 -p1 -b .sticky # conflict emcws patch. move to emcws patch
# block input in `allocate_vectorlike' (alloc.c)
%patch7 -p1 -b .block
%patch9 -p1 -b .ppc64
@@ -136,6 +139,8 @@
%patch15 -p0 -b .modifier
%patch16 -p1 -b .fmtstr

+%patch101 -p1 -b .emcws
+
# patches 2 and 3 touch configure.in
autoconf-2.13

@@ -165,7 +170,11 @@

%build
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
-%configure --with-pop --with-sound
+#%configure --with-pop --with-sound
+%configure + --with-pop --with-sound + --with-canna --with-canna-includes=/usr/include/canna + --with-canna-libraries=/usr/lib --disable-rename

# workaround #101818 (vm/break dumper problem)
%ifarch %{ix86}


rpmbuild後に、現状のemacsのパッケージからupdateインストール。

何でかわからんけど、delきーとbackspaceキーの挙動がいまいちっぽい。なんでだろう?
結局わからんかったので、xmodmapでBSキーをDeleteキーとみるようにして
回避。.Xclients-defaultにつっこんである。

xmodmap -e "keycode 22 = Delete Terminate_Server"

2006-04-07

rxvtのインストール

rxvtのインストール

momongaのrxvt-2.7.10のsrpmをとってきて再構築

だけれども、リソース読み込みでイケてないところがアルので、
すこしなおさないとだめ。
USE_XAPPLOADDIRのあたり。

+++ feature.h 2006-03-07 09:18:42.000000000 +0900
@@ -157,6 +157,7 @@
* Only if USE_XGETDEFAULT is not defined.
*/
/* #define USE_XAPPLOADDIR */
+#define USE_XAPPLOADDIR

これを、パッチに追加して再構築

で、インストール後に、
Rxvt(アプリケーションデフォルトファイル)を以下のようにフォント修正
#*mfont: -misc-fixed-medium-r-normal--14-*-jisx0208.1983-0
*mfont: -shinonome-gothic-medium-r-normal--14-*-jisx0208.1990-0
これは、たんに趣味の問題。

2006-04-03

IPv6の抑制

IPv6に対応してないサイト(たいていはそうだよね)では、IPv6機能をOFFにすることで、名前解決にかかる時間を短縮できることがある。

/etc/modprobe.confの最後に
# Turn off IPv6
alias net-pf-10 off
alias ipv6 off
を付け加えて再起動する。

rpmの設定

redhat系のパッケージ管理システムrpmだけど、一般ユーザでSRPMをインストールしてコンパイルするときには、自分のhomedir以下に展開されるほうが楽。

#基本的には、一般ユーザで作れるパッケージは一般ユーザで作るほうが安全。
#自分でSPECファイルを改造しているときにrootでやってると、記述ミスで、rpm環境でなくって/以下の動作環境を壊すことがあるので。(過去に何度も経験有り)

なので、自分のhomedir直下に、
.rpmmacros
というファイルを作る。中身は、こんな感じ。

%_topdir /home/ユーザ名/rpm
%_unpackaged_files_terminate_build 0

それから、
cd
mkdir rpm
cd rpm
mkdir BUILD RPMS SOURCES SPECS SRPMS
として、必要なディレクトリを作っておく。

ページャの追加

pagerがlessでは、UTF8に対応してないのでlvにする。
fedoracore3のlvのsrpmをとって来ていれる。

ftp://ftp.riken.jp/Linux/fedora/core/3/i386/os/SRPMS/lv-4.51-3.1.src.rpmとかにある。

とってきたらば、
rpm -ivh lv-4.51-3.1.src.rpm
cd /rpm/SPECS
rpmbuild -bb lv.spec
コンパイルできたらば、
cd /rpm/RPMS/i386
rpm -ivh lv-4.51-3.1.rpm
とインストールする。

いれたら、/etc/man.configのpagerの設定を以下のように修正。

#PAGER /usr/bin/less -iRs
PAGER /usr/bin/lv

yumの設定

yumの設定

/etc/yum.repos.d/CentOS-Base.repo
にパッケージサーバのアドレスがかいてあるんだけど、開発元は遠くて遅いので、
rikenのミラーサイトに変更。

ファイル内の、mirror.centos.orgのところを、ftp.riken.jp/Linuxに変更する。
例えば、
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/
のようなかんじ。

プロキシーを超える必要があるなら、yumを動かすときには、
export http_proxy="http://プロキシサーバの名前とかIPアドレス:ポート/"
とかして、http_proxyを環境変数に入れとく。

yum check-update
で、update可能なパッケージのチェック
yum updateでアップデートできる。カーネルも含めてupdateしちゃうので
独自のドライバとか入ってる環境では注意が必要。

# 2006.9.1追記
4.3から、
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
というのが増えてるっぽいです。
baseurlとかを、rikenにしたらば、なんかファイルがないとかでエラーになりました。
今日は素直に、初期値のままupdateしました。

日本語コードをUTF8からeucに

システムの漢字の設定
eucを標準にしたいので、以下のファイルを書き換え。
/etc/sysconfig/i18n
UTF8のところを、以下のようにeucに書き変え。
リブート後に有効になる。

LANG="ja_JP.eucJP"
SUPPORTED="ja_JP.eucJP:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"

2006-03-23

X32にcentos-ウィンドウマネージャ

ウィンドウマネージャはtwm。
ごてごてしたのは嫌い。複数画面切り替え機能もいらないのでtwmで十分。

$ switchdesk twm
で、変更。

.Xclients-defaultに起動されるアプリが書かれているので、順次書き換え。
今の、.Xclients-defaultは以下のとおり。

-------
#!/bin/bash
# (c) 2000 Red Hat, Inc.

#twm &
xmodmap -e "keycode 22 = Delete Terminate_Server"
emiclock -geometry +892+-2 &
xterm -geometry 80x24+0+0 -iconic -name login &
rxvt -geometry 80x45+0+0 &
rxvt -sl 1500 -geometry 80x30+110+314 &
exec /usr/X11R6/bin/twm
-------

今の、.twmは以下のとおり。
-------
#
# $XConsortium: system.twmrc,v 1.8 91/04/23 21:10:58 gildea Exp $
#
# Default twm configuration file; needs to be kept small to conserve string
# space in systems whose compilers don't handle medium-sized strings.
#
# Sites should tailor this file, providing any extra title buttons, menus, etc.
# that may be appropriate for their environment. For example, if most of the
# users were accustomed to uwm, the defaults could be set up not to decorate
# any windows and to use meta-keys.
#
#AutoRaise { "rxvt" }

NoGrabServer
RestartPreviousState
DecorateTransients
IconRegion "600x200+0+0" NORTH WEST 0 0

TitleFont "-misc-fixed-bold-r-normal--14-*-*-*-*-*-iso8859-1"
ResizeFont "-misc-fixed-bold-r-normal--14-*-*-*-*-*-iso8859-1"
MenuFont "-misc-fixed-bold-r-normal--14-*-*-*-*-*-iso8859-1"
IconFont "-misc-fixed-bold-r-normal--14-*-*-*-*-*-iso8859-1"

TitleButtonBorderWidth 1
FramePadding 1
TitlePadding 8
#ClientBorderWidth
ButtonIndent 1

Color
{
BorderColor "slategrey"
DefaultBackground "maroon"
DefaultForeground "gray85"
TitleBackground "maroon"
TitleForeground "gray85"
MenuBackground "maroon"
MenuForeground "gray85"
MenuTitleBackground "gray70"
MenuTitleForeground "maroon"
IconBackground "maroon"
IconForeground "gray85"
IconBorderColor "gray85"
IconManagerBackground "maroon"
IconManagerForeground "gray85"
}

#
# Define some useful functions for motion-based actions.
#
MoveDelta 3
Function "move-or-lower" { f.move f.deltastop f.lower }
Function "move-or-raise" { f.move f.deltastop f.raise }
Function "move-or-iconify" { f.move f.deltastop f.iconify }

#
# Set some useful bindings. Sort of uwm-ish, sort of simple-button-ish
#
Button1 = : root : f.menu "defops"

Button1 = m : window|icon : f.function "move-or-lower"
Button2 = m : window|icon : f.iconify
Button3 = m : window|icon : f.function "move-or-raise"

Button1 = : title : f.function "move-or-raise"
Button2 = : title : f.raiselower

Button1 = : icon : f.function "move-or-iconify"
Button2 = : icon : f.iconify

Button1 = : iconmgr : f.iconify
Button2 = : iconmgr : f.iconify

#
# And a menus with the usual things
#
menu "defops"
{
"Twm" f.title
"Rxvt" !"rxvt -sl 1500&"
"XTerm" !"xterm&"
"Raise" f.raise
"Lower" f.lower
"" f.nop
"Focus" f.focus
"Unfocus" f.unfocus
"Show Iconmgr" f.showiconmgr
"Hide Iconmgr" f.hideiconmgr
"" f.nop
"Kill" f.destroy
"Delete" f.delete
"" f.nop
"Restart" f.restart
"Exit" f.quit
}

NoTitle
{
"EmiClock"
}

X32にcentos-まずはインストール-

インストールはなんも考えずに入れるだけ。

サウンドがうまくならなかったり、無線LANが認識しなかったりしたんだけど、
まあ使わないからよし。