CentOS

CentOS は Linux のディストリビューションの一つ。 Red Hat 互換。

amazon 4774131040 amazon 4839920958 amazon 4798109398

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環境で作成できない

これも日記( 1 2)から。

<<< 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 なら問題なく動作する。

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' にするとよい

[[$$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]]