CentOS
CentOS は Linux のディストリビューションの一つ。 Red Hat 互換。
less で日本語が正しく処理されない
おそらく、文字コードにUTF-8ではなくてEUC-JPを使うおじさんだけがはまるパターン。 以下、日記( 1 2) から。
<<< CentOSのlessでJCHARSETが利かないのが気になってたんだが、理由がわかった。 「less on CentOS 4.4」( tail -f /var/log/こうちかずお.log)にあるように、あるところから日本語パッチが当た ってないlessになっているのに、マニュアルが昔のままらしい。 パッチ自体はJam less (jle」に あるけど、これは新しいless(394)には当たらなかった。パッチにもあるようにless-382までっぽい。Vine Linuxのも382+patchになっている。 ちなみに、lessの最新は406。
382以降には脆弱性はないっぽいので当面Vineのを使うことにする。 >>> <<< 先日に書いたように、lessがJLESSCHARSETを認識しないので、Vineのless-382を入れたわけです。 ところが、いつのまにか、またJLESSCHARSETを認識しなくなっている。 おかしーなーと思ってちょっと悩んだんだけど...
なんのことはない、yum -y update で CentOS由来のless-394にアップデート されちゃってる...参った。
/etc/yum.conf に exclude=less* を書いて回避。実際に yum -y update で更新されない ことを確認。 >>>
w3mmee などが64bit環境で作成できない
<<< w3mmeeがILP32な環境を前提にしていて、intとポインタの相互代入をばんばん 使っているので、LP64な環境では動かない。つーか、LP64にしたのだれよ。ILP64にして> くれればよかったのに。
メモ: rpmbuild -ba --target=i686 hoge.spec
optflagsにも -m32 ってつけないといけないけど、これも rpmbuildの引数でなんとかならんのかな。
しかし、動かん。困った。 >>> <<< 64bit環境でのはまりの続き。
しかたがないので、VMware Serverを使って 32bits版 CentOS5 をインストールし、そこ> で32bitsモードで コンパイル。できたrpmを持ってきてインストールすると、さくっと動いてしまった。 32bitsとの互換の高さには驚くが、これがあるから64bits環境への移行が進まないのかも なあ。
とはいえ、 AMD Athlon64が出てきた時期と仮想OSの普及が同時期であったのは、 64bits環境への移行には追い風だったのかもしれない。 これなしで64bits環境だけであれば、従来環境から移行できないソフトウェアに阻まれて 普及は進まなかっただろう。IA64やAlphaの屍と、比較的容易に64bits環境に移行できたS PARCとを 比較してもそう思う。
しかし、ILP64にして欲しかったなあ。LP64 sucks。 >>>
HotSaNICでirqがちゃんと表示されない
これも日記から(1)。 <<< HotSaNICでなぜかirqのグラフが出な い問題。「HotSaNIC で IRQのグラフが出ないんですけど」(...pudding - diary)に解決方法があった。 しかし、なぜこれで直るんだ? >>>
同じサイトにCPUの表示がおかしい問題への対策もある。
driesのレポジトリが2007年11月から見えない
[dries] name=Extra Fedora rpms dries - $releasever - $basearch baseurl=http://ftp.riken.jp/Linux/dag/dries/redhat/el$releasever/en/$basearch/dries/RPMS http://rh-mirror.linux.iastate.edu/pub/dag/dries/redhat/el$releasever/en/$basearch/dries/RPMS ftp://ftp.telus.net/pub/dag/dries/redhat/el$releasever/en/$basearch/dries/RPMS http://ftp.freshrpms.net/pub/dag/dries/redhat/el$releasever/en/$basearch/dries/RPMS enabled=1 gpgcheck=1 gpgkey=http://dries.studentenweb.org/rpm/RPM-GPG-KEY.dries.txt
いつの間にか場所が変わっている。下記のように設定変更。
[dries] name=Extra Fedora rpms dries - $releasever - $basearch baseurl=http://ftp.riken.jp/Linux/dag/dries/redhat/el$releasever/en/$basearch/dries/RPMS http://rh-mirror.linux.iastate.edu/pub/dag/dries/redhat/el$releasever/en/$basearch/dries/RPMS ftp://ftp.telus.net/pub/dag/dries/redhat/el$releasever/en/$basearch/dries/RPMS http://ftp.freshrpms.net/pub/dag/dries/redhat/el$releasever/en/$basearch/dries/RPMS enabled=1 gpgcheck=1 gpgkey=http://dries.studentenweb.org/rpm/RPM-GPG-KEY.dries.txt
[[$$amazon-search-result books-jp centos]]
gnome-screensaver の画面が文字化けする
多くのコマンドの mo ファイル (/usr/share/locale以下) には UTF-8 用のファイルしかないので化ける。 /etc/sysconfig/i18n を "C" とかにして逃げる。
Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet を認識しない
カーネル標準のドライバはRTL-8110SCを認識しない。 単なる RTL-8169 なら問題なく動作する。
- RealTekのダウンロードページにドライバがある
- Realtek RTL8169 and RTL8110 NIC (CentOS Wiki)
- RealTek Ethernet: RTL8169S/SB/SC RTL8168B RTL8101E RTL8110 (CentOS Wiki) CentOS5用
xen無しカーネルで怒られる場合は、こちらを参照。 dkms-r1000でgoogleすれば情報はあります。私はこちらを使いました。
時々 kinput2 がおかしくなる
- 既に動作しているkinput2を止める(kill)
- 再度kinput2を起動する
- /etc/X11/xinit/xinitrc.d/xinput.sh
間違ってサスペンド(suspend)しないようにGNOMEパネルのメニューを編集
- サスペンド、ハイバーネート(ハイバーネーション)設定 (先輩の手順書) にある。みんな苦労してるんだな。
- 要約: アプリケーション→システムツール→設定エディタ
- yum install gconf-editor で設定エディタをインストール
- /apps 内の gnome-power-manager 内の can_hibernate を無効にする。
- /apps 内の gnome-power-manager 内の can_suspend を無効にする。
- あるいは、apps 内の gnome_settings_daemon 内の power_manager 内の start_power_manager をオフにして電源管理をそもそも起動しない。
- 要約: アプリケーション→システムツール→設定エディタ
rpm -e でファイルが消せない
- x86とx86_64の両方のパッケージが入ってると、簡単には消せない。
# rpm -ev -a firefox error: "firefox" specifies multiple packages
- オプション --allmatches を使うと両方消える
# rpm -ev --allmatches firefox yelp #
skype で日本語が入力できない (canna + kinput2)
- LANG=ja_JP.UTF-8 にする。
- .bash_profile あたりで alias skype='LANG=ja_JP.UTF-8 skype' にするとよい
- 参考記事: Skype on FreeBSD(Project92 blog)
- .bash_profile あたりで alias skype='LANG=ja_JP.UTF-8 skype' にするとよい
[[$$amazon-search-result-middle electronics-jp skype]]
CentOS5.1からCentOS5.2へのアップグレード
- yum -y update でできた。特に問題ない。
- あとで追加した epel のレポジトリがどうもうまくいかなかったんで、そこだけは外したけど。
John-the-ripper がコンパイルできない
John RPM packages for Red Hat, CentOS and Fedora の src.rpm をコンパイルすると、下記のエラーが出る。
DES_std.c:8:18: arch.h: No such file or directory In file included from DES_std.c:10: DES_std.h:32: error: syntax error before "DES_KS"
make clean の挙動の問題っぽい。 john.spec に下記のパッチを当てる。
- john.spec 2008-08-19 19:11:38.000000000 +0900 +++ john.zu.spec 2008-08-19 19:10:45.000000000 +0900 @@ -29,9 +29,11 @@ CFLAGS="-c %{optflags} -DJOHN_SYSTEMWIDE -fomit-frame-pointer" %ifarch %{ix86} %define _with_cpu_fallback 1 -%{__make} %{?_smp_mflags} -C src CFLAGS="$CFLAGS -DCPU_FALLBACK=1" clean linux-x86-any +%{__make} %{?_smp_mflags} -C src CFLAGS="$CFLAGS -DCPU_FALLBACK=1" clean +%{__make} %{?_smp_mflags} -C src CFLAGS="$CFLAGS -DCPU_FALLBACK=1" linux-x86-any %{__mv} -f run/john run/john-non-mmx -%{__make} %{?_smp_mflags} -C src CFLAGS="$CFLAGS -DCPU_FALLBACK=1" clean linux-x86-mmx +%{__make} %{?_smp_mflags} -C src CFLAGS="$CFLAGS -DCPU_FALLBACK=1" clean +%{__make} %{?_smp_mflags} -C src CFLAGS="$CFLAGS -DCPU_FALLBACK=1" linux-x86-mmx #%{__mv} -f run/john run/john-non-sse #%{__make} %{?_smp_mflags} -C src CFLAGS="$CFLAGS -DCPU_FALLBACK=1" clean linux-x86-sse2 %endif
VMwware上で動かすと(Guest OSとして使うと) 時間がずれる
- VMware上のCentOSの時刻ずれを直す方法 (ribbon の日記) によると、以下の通り。
- ブート時のパラメータに divider=10 clocksource=acpi_pm を追加する
- adjtimexで微調整する
- VMware Toolsの時刻同期機能は使わないでntpdを使う
yum update が TypeError: unsubscriptable object で失敗する。
---> Package acpid.x86_64 0:1.0.4-7.el5_3.1 set to be updated Traceback (most recent call last): : TypeError: unsubscriptable object
- CentOS 5.x のどこかでおかしくなっている。
- yum clean metadata で治る
[[$$amazon-search-result books-jp centos]]