Intel のマザーボード DP55WB
CPU は core i5
OS は Cent OS 5.4
この状態で、うちのサーバーを動かしていたが、どうもネットワークが遅い。Windows マシンから、このサーバーのSamba共有にファイルをコピーなんかすると、ネットワーク全体が遅くなる。
ファイルコピーに関係ないマシンからでも、インターネットアクセスができなくなる。ファイルコピーが終わると、ネットワークは回復する。「原因不明の通信障害」なんて思っていた。
しかしわかってみると、話は単純だった。マザーにオンボードのNIC (Intel製)が、CentOS 5.4 付属のドライバでは正常に動かず、それで遅くなっていたのだ。
このサーバーはDNSサーバーも兼ねているため、サーバーのNICがいっぱいいっぱいになると、DNSも受け付けなくなる。そうすると、他のクライアントマシンがインターネットアクセスするときに名前解決ができずに、まるでネットワーク全体が通信ができなくなってしまったようにみえたのだった。
サーバーに必要なドライバは e1000e 。これを sourceforge の 最新stable版に変更した。
ダウンロードしたのは e1000e-1.1.2
そしてこれを展開しコンパイル。
tar zxvf e1000e-1.1.2.tar.gz
cd ./e1000e-1.1.2/src
make
make install
でインストールまでできる。
再起動したら、障害はでなくなった。
めでたしめでたし。
2010年02月26日
2010年02月15日
VMware Server 2.0.2 と Cent OS 5.4 でVMが落ちてしまう件
Cent OS 5.4 に VMware Serverをインストールし、仮想マシンとしてWindows Server 2008 をインストールし運用していると、Windows Server 2008 がいつの間にか落ちていることが続発する。
いろいろ調べてみると、CentOS 5.4 の glibc と VMware Server の相性が良くないらしい。Windows Server 2008だけに限らず、他のOSを起動している時でも落ちてしまう様だ。
対処法は、CentOS 5.3 の glibc を取ってきて、VMware Server 専用にこのライブラリをコピーしておいて使う様にすればよいという。
CentOS 5.3 のライブラリは、
http://mirror.centos.org/centos/5.3/os/x86_64/CentOS/glibc-2.5-34.x86_64.rpm
にあったらしいが、残念ながら現在このファイルはここに存在していない。
CentOS 5.3 のiso イメージを持ってるなら、その中から取り出せばよい。
持ってないなら、
ftp://ftp.riken.go.jp/pub/Linux/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-DVD.iso
から iso をダウンロードしてマウントし、glibc-2.5-34.x86_64.rpm を取り出すしかない様だ。
(マウントやコピー操作は省略します。私はWindows マシンでやりましたし。)
さて、glibc-2.5-34.x86_64.rpm が手に入ったら、
mkdir /tmp/tmp
などとして新規ディレクトリを作成し、そこにコピーする。
そこで
cd /tmp/tmp
rpm2cpio glibc-2.5-34.x86_64.rpm | cpio -ivd
として、ファイルが展開されたら、次の様にする。
mkdir /usr/lib/vmware/lib/libc.so.6
mv lib64/libc-2.5.so /usr/lib/vmware/lib/libc.so.6/
mv lib64/libc.so.6 /usr/lib/vmware/lib/libc.so.6/
さて、ここからが肝心。
/usr/sbin/vmware-hostd をviなどで開いて、ファイルの最後の方に移動し、
eval exec "$DEBUG_CMD" "$binary" "$@"
という行の前に
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH
を追加する。
そして、vmware-config.pl 実行して、vmwareを再起動する。
これで、VMwareの仮想マシンは落ちなくなった。
半月ぐらい運用しているが、いまのところ問題ない。
なお、/tmp/tmp はもういらないので削除。
rm -rf /tmp/tmp
いろいろ調べてみると、CentOS 5.4 の glibc と VMware Server の相性が良くないらしい。Windows Server 2008だけに限らず、他のOSを起動している時でも落ちてしまう様だ。
対処法は、CentOS 5.3 の glibc を取ってきて、VMware Server 専用にこのライブラリをコピーしておいて使う様にすればよいという。
CentOS 5.3 のライブラリは、
http://mirror.centos.org/centos/5.3/os/x86_64/CentOS/glibc-2.5-34.x86_64.rpm
にあったらしいが、残念ながら現在このファイルはここに存在していない。
CentOS 5.3 のiso イメージを持ってるなら、その中から取り出せばよい。
持ってないなら、
ftp://ftp.riken.go.jp/pub/Linux/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-DVD.iso
から iso をダウンロードしてマウントし、glibc-2.5-34.x86_64.rpm を取り出すしかない様だ。
(マウントやコピー操作は省略します。私はWindows マシンでやりましたし。)
さて、glibc-2.5-34.x86_64.rpm が手に入ったら、
mkdir /tmp/tmp
などとして新規ディレクトリを作成し、そこにコピーする。
そこで
cd /tmp/tmp
rpm2cpio glibc-2.5-34.x86_64.rpm | cpio -ivd
として、ファイルが展開されたら、次の様にする。
mkdir /usr/lib/vmware/lib/libc.so.6
mv lib64/libc-2.5.so /usr/lib/vmware/lib/libc.so.6/
mv lib64/libc.so.6 /usr/lib/vmware/lib/libc.so.6/
さて、ここからが肝心。
/usr/sbin/vmware-hostd をviなどで開いて、ファイルの最後の方に移動し、
eval exec "$DEBUG_CMD" "$binary" "$@"
という行の前に
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH
を追加する。
そして、vmware-config.pl 実行して、vmwareを再起動する。
これで、VMwareの仮想マシンは落ちなくなった。
半月ぐらい運用しているが、いまのところ問題ない。
なお、/tmp/tmp はもういらないので削除。
rm -rf /tmp/tmp
2009年05月15日
linux な PCのハードディスクを別のHDDに入れ替える手順。
一応、Fedora Core 6 なシステム。システムが古いが、基本は同じだろう、ということで。
Fedora Core は普通にインストールすると lvm を使ってパーティションを作成しているが、今回はlvmを使っていないものとする。
hda に元のシステムがあり、hdb に新しいハードディスクを接続したと仮定。
hdb に適切にパーティションを切り、ファイルシステムを作成。
ここでは、
hdb1 が /boot
hdb2 が /
hdb3 が swap
hdb4 が /var
とした。
init 1 でシングルモードに入る。
/mnt 以下にhdb のパーティションをマウント。マウント位置は好きなところでよい。
cp -a コマンドを使ってhda のファイルを全てhdbにコピー。
grub コマンドを起動して、grub を設定する。
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
root (hd1,0)
新しいハードディスクの最初のパーティションに、カーネルが入っていることを指定する。
setup (hd1)
新しいハードディスクのMBRを書き換える。
という意味になる。ちなみに、hd0 が元々のハードディスクなので、新しいハードディスクは hd1。
grub.conf (menu.lst) も適切に書き換える。
ここでは、新しいハードディスクを hda として使うことを想定しなければならないので、新しいハードディスクは(hd1)ではなく、(hd0)になる。したがって、splashimage や root の指定も、そのように書き換える。
だいたいこんな感じ。
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.22.14-72.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.22.14-72.fc6 ro root=LABEL=/
initrd /initrd-2.6.22.14.org2.img
swap の指定は、/etc/fstab によって行えばよい。
ただ、fedora の場合、initrd の中の init で
resume /dev/hda5
などとしている。/dev/hda5 というのは元々のswapパーティションだ。これはハイバネーションに関係するもの。おそらく、ハイバネーションによってメモリイメージを swap に書き込んでいるのだろう。だからレジューム時のデータの位置を指定しているらしい。
もしも、/dev/hda5 がなかったりするとシステムパニックになるので、ちゃんとswapパーティションを指定しなければならない。
今回の場合は、
resume /dev/hda3
と書き換える。ハイバネーションを使わないなら、コメントアウトでもいいと思う。
initrd の編集方法は
http://evcom.sblo.jp/article/13623075.html
に書いてあるので参照のこと。
その他、新しいハードディスクが sata の場合は、やはり initrd に sata のドライバを入れてやらなければならないし、ハードディスクのデバイス名も /dev/sda とかになったりする。ただしこの場合でも、grub 的には、(hd0) のままでいける。
あとは応用次第。
Fedora Core は普通にインストールすると lvm を使ってパーティションを作成しているが、今回はlvmを使っていないものとする。
hda に元のシステムがあり、hdb に新しいハードディスクを接続したと仮定。
hdb に適切にパーティションを切り、ファイルシステムを作成。
ここでは、
hdb1 が /boot
hdb2 が /
hdb3 が swap
hdb4 が /var
とした。
init 1 でシングルモードに入る。
/mnt 以下にhdb のパーティションをマウント。マウント位置は好きなところでよい。
cp -a コマンドを使ってhda のファイルを全てhdbにコピー。
grub コマンドを起動して、grub を設定する。
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
root (hd1,0)
新しいハードディスクの最初のパーティションに、カーネルが入っていることを指定する。
setup (hd1)
新しいハードディスクのMBRを書き換える。
という意味になる。ちなみに、hd0 が元々のハードディスクなので、新しいハードディスクは hd1。
grub.conf (menu.lst) も適切に書き換える。
ここでは、新しいハードディスクを hda として使うことを想定しなければならないので、新しいハードディスクは(hd1)ではなく、(hd0)になる。したがって、splashimage や root の指定も、そのように書き換える。
だいたいこんな感じ。
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.22.14-72.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.22.14-72.fc6 ro root=LABEL=/
initrd /initrd-2.6.22.14.org2.img
swap の指定は、/etc/fstab によって行えばよい。
ただ、fedora の場合、initrd の中の init で
resume /dev/hda5
などとしている。/dev/hda5 というのは元々のswapパーティションだ。これはハイバネーションに関係するもの。おそらく、ハイバネーションによってメモリイメージを swap に書き込んでいるのだろう。だからレジューム時のデータの位置を指定しているらしい。
もしも、/dev/hda5 がなかったりするとシステムパニックになるので、ちゃんとswapパーティションを指定しなければならない。
今回の場合は、
resume /dev/hda3
と書き換える。ハイバネーションを使わないなら、コメントアウトでもいいと思う。
initrd の編集方法は
http://evcom.sblo.jp/article/13623075.html
に書いてあるので参照のこと。
その他、新しいハードディスクが sata の場合は、やはり initrd に sata のドライバを入れてやらなければならないし、ハードディスクのデバイス名も /dev/sda とかになったりする。ただしこの場合でも、grub 的には、(hd0) のままでいける。
あとは応用次第。
2008年11月19日
grubをMBRにインストール
linux システムのハードディスクを換装する時や、パーティション構成を変更した時などは、HDDのMBR領域にgrubをインストールし直す必要がある。
そういう場合、grubそのものはすでにインストールされているわけなので、ただ単にプロンプトから、
# grub
と打ち込むと、grub のプロンプトになる。そこで以下のコマンドを打ち込む。
grub> root (hd0,1)
grub> setup (hd0)
grub> quit
root (hd0,1) はカーネルイメージが入っているパーティションの指定。数値は0から始まるので、上記は 1 台目のHDD の 2 番目のパーティションという意味。
setup (hd0) でMBRにgrub のブートイメージを書き込む。
最後に quit で終了。
そういう場合、grubそのものはすでにインストールされているわけなので、ただ単にプロンプトから、
# grub
と打ち込むと、grub のプロンプトになる。そこで以下のコマンドを打ち込む。
grub> root (hd0,1)
grub> setup (hd0)
grub> quit
root (hd0,1) はカーネルイメージが入っているパーティションの指定。数値は0から始まるので、上記は 1 台目のHDD の 2 番目のパーティションという意味。
setup (hd0) でMBRにgrub のブートイメージを書き込む。
最後に quit で終了。
2008年04月06日
kernel 2.6.20 と amanda(解決)
http://evcom.sblo.jp/article/4411674.html にて、
kernel 2.6.20 だと、amandaが他のlinuxマシンと通信できないと記述しましたが、これ、一応解決しました。
あの記事からすでに、いろいろと環境が変わってしまいましたので、整理しますと、
Fedora Core 6
kernel 2.6.22.14-72
amanda 2.5.2p1 (tarボールからインストール)
という組み合わせです。このままだとバックアップの際にデータが流れてこないのです。そこで、kernelを2.6.18-1.2798 にすると、データが流れてきます。
ですから、このカーネルで運用していました。
このほど、原因がわかりました。mtu です。ジャンボフレーム対応のNICで、mtuを7200 に設定していたのです。
思い当たることあって、mtu を標準の1500に戻してみました。
すると、新しいkernelでもちゃんとamandaは動作します。
ジャンボフレームなんて設定しても、体感ではあまり変わらないし、そのためにネットワークに支障をきたすのでは、元も子もないので、ジャンボフレームを使わないことにしようと思います。
kernel 2.6.20 だと、amandaが他のlinuxマシンと通信できないと記述しましたが、これ、一応解決しました。
あの記事からすでに、いろいろと環境が変わってしまいましたので、整理しますと、
Fedora Core 6
kernel 2.6.22.14-72
amanda 2.5.2p1 (tarボールからインストール)
という組み合わせです。このままだとバックアップの際にデータが流れてこないのです。そこで、kernelを2.6.18-1.2798 にすると、データが流れてきます。
ですから、このカーネルで運用していました。
このほど、原因がわかりました。mtu です。ジャンボフレーム対応のNICで、mtuを7200 に設定していたのです。
思い当たることあって、mtu を標準の1500に戻してみました。
すると、新しいkernelでもちゃんとamandaは動作します。
ジャンボフレームなんて設定しても、体感ではあまり変わらないし、そのためにネットワークに支障をきたすのでは、元も子もないので、ジャンボフレームを使わないことにしようと思います。
2008年04月05日
linux : 起動時に外付けHDDを認識させる
Fedora Core 6 のマシンを起動するときに、USBの外付けHDDをマウントする必要性が出てきた。
ディスクを起動時にマウントするには、/etc/fstab に
/dev/sda1 /mnt/usb ext3 defaults 0 0
と書けばいいのだが、これだけではだめ。
起動直後は、usb-storage というモジュールが読み込まれていないのである。だからシステムは /dev/sda1 を認識していない。
これを読み込むには、/etc/rc.d/rc.localなどに、
modprobe usb-storage
なんて書いておいてもいい。
だが、それだともう一度 mount -a などとしなければならない。
そこで、initrd ファイルを書き換えた。
まず、/boot/initrd ディレクトリ以下にinitrdイメージを展開。
# cd /boot
# mkdir initrd
# cd initrd
# zcat ../initrd-2.6.18-1.2798.fc6.img | cpio -i -c
展開されたファイルの中に init というファイルがある。
この中では必要なモジュールを次々と読み込んでいる箇所がある。
その最後に、
echo "Loading usb-storage.ko module"
insmod /lib/usb-storage.ko
と挿入。
もちろん ./lib ディレクトリには、usb-storage.koをコピーしておく。これは /lib/modules 以下から探してきた。
これをまた、initrdのイメージファイルにする。
# cd /boot/initrd
# find . | cpio --quiet -c -o | gzip -c > ../initrd-2.6.18.org.img
最後に、/boot/grub/grub.conf の、initrd コマンドに、ここで作成したファイル名を指定して再起動。
ディスクを起動時にマウントするには、/etc/fstab に
/dev/sda1 /mnt/usb ext3 defaults 0 0
と書けばいいのだが、これだけではだめ。
起動直後は、usb-storage というモジュールが読み込まれていないのである。だからシステムは /dev/sda1 を認識していない。
これを読み込むには、/etc/rc.d/rc.localなどに、
modprobe usb-storage
なんて書いておいてもいい。
だが、それだともう一度 mount -a などとしなければならない。
そこで、initrd ファイルを書き換えた。
まず、/boot/initrd ディレクトリ以下にinitrdイメージを展開。
# cd /boot
# mkdir initrd
# cd initrd
# zcat ../initrd-2.6.18-1.2798.fc6.img | cpio -i -c
展開されたファイルの中に init というファイルがある。
この中では必要なモジュールを次々と読み込んでいる箇所がある。
その最後に、
echo "Loading usb-storage.ko module"
insmod /lib/usb-storage.ko
と挿入。
もちろん ./lib ディレクトリには、usb-storage.koをコピーしておく。これは /lib/modules 以下から探してきた。
これをまた、initrdのイメージファイルにする。
# cd /boot/initrd
# find . | cpio --quiet -c -o | gzip -c > ../initrd-2.6.18.org.img
最後に、/boot/grub/grub.conf の、initrd コマンドに、ここで作成したファイル名を指定して再起動。
2008年03月27日
samba とか Active Directory とか
Fedora Core 6で動いているsamba に、Vista マシンからアクセスできなくなった。Xp や Windows 2000 からならアクセスできるのだが、Vista だとだめなのである。
うちには Windows 2000 Server も稼働していて、Active Directory を構成している。
fc6 の samba はこのWindows 2000 Server でユーザー認証してもらえるように、smb.conf の中で
Security = Domain
と設定していた。今まではこれでうまくいっていたのだが、何かのタイミングで突然アクセスできなくなったわけである。
あれこれとネットをさまよった情報によると、
Security = ADS
にしておけとのこと。
ちゃんとActive Directory に参加しろということなのである。
実際にそのようにしてみたら、Vistaからでもアクセスできるようになった。とりあえずよかった。
sambaをActive Directory に参加させるには、
こんなところやこんなところを参考にした。
うちには Windows 2000 Server も稼働していて、Active Directory を構成している。
fc6 の samba はこのWindows 2000 Server でユーザー認証してもらえるように、smb.conf の中で
Security = Domain
と設定していた。今まではこれでうまくいっていたのだが、何かのタイミングで突然アクセスできなくなったわけである。
あれこれとネットをさまよった情報によると、
Security = ADS
にしておけとのこと。
ちゃんとActive Directory に参加しろということなのである。
実際にそのようにしてみたら、Vistaからでもアクセスできるようになった。とりあえずよかった。
sambaをActive Directory に参加させるには、
こんなところやこんなところを参考にした。
2007年09月29日
玄箱 にamanda
玄箱のデータを、amandaサーバーでバックアップするために、玄箱にamanda を導入。なお玄箱はdebian化などはしていない。
http://www.amanda.org/ からamandaのtarボールを取ってくる。
それを、玄箱にコピー。
私の場合は、あらかじめ、amanda ユーザーを作成しておき、amandaユーザー、disk グループで、amandaのクライアントサービスが動くようにした。amandaユーザーの詳細はfedora core に合わせた。
その他、fedora core の設定を参考にしつつ、以下の様なコマンドでコンパイル&インストール。
まず、玄箱にtelnetやsshでログオンする。
su - amanda
tar zxvf amanda*.tar.gz
cd amanda*
./configure --with-user=amanda --with-group=disk --without-server --with-gnutar-listdir=/var/lib/amanda/gnutar-lists --with-amandahosts --with-tmpdir=/var/log/amanda --sysconfdir=/etc --without-ipv6
make
su
make install
この設定はクライアントサービスのみをコンパイルする場合のもの。2.5.2p1では、--with-amandahosts オプションはなくなったようだが、コマンドは通った。
詳しいオプションは、
./configure --help 参照。
http://www.amanda.org/ からamandaのtarボールを取ってくる。
それを、玄箱にコピー。
私の場合は、あらかじめ、amanda ユーザーを作成しておき、amandaユーザー、disk グループで、amandaのクライアントサービスが動くようにした。amandaユーザーの詳細はfedora core に合わせた。
その他、fedora core の設定を参考にしつつ、以下の様なコマンドでコンパイル&インストール。
まず、玄箱にtelnetやsshでログオンする。
su - amanda
tar zxvf amanda*.tar.gz
cd amanda*
./configure --with-user=amanda --with-group=disk --without-server --with-gnutar-listdir=/var/lib/amanda/gnutar-lists --with-amandahosts --with-tmpdir=/var/log/amanda --sysconfdir=/etc --without-ipv6
make
su
make install
この設定はクライアントサービスのみをコンパイルする場合のもの。2.5.2p1では、--with-amandahosts オプションはなくなったようだが、コマンドは通った。
詳しいオプションは、
./configure --help 参照。
2007年06月18日
kernel 2.6.20 と amanda
Fedora Core 6 に amanda をインストールしてあるバックアップ専用マシンの話。
このマシンは、amanda を cron で起動して、別のサーバー(Linux, FC5)の自動バックアップをしている。
ところが、最近バックアップがとれなくなった。
amcheck はちゃんと通るのだが、amdump してみると、クライアントからデータが流れてこない。ps ax で調べてみると、サーバー、クライアントとも、プロセスは正常起動しているようである。
別のクライアントマシン(玄箱)からのバックアップを試しても同じ。
どうも、amanda サーバーとamanda クライアントの間で、データ通信ができなくなっているようだった。複数のクライアントで同じように駄目なのだから、サーバーの方に原因があるんだろう。
というわけで、あれこれ原因を探ってみたところ、行き着いた答えが、linux カーネルである。
現在、Fedora Core 6 の最新カーネルは、kernel-2.6.20-1.2952.fc6 というもの。
これを Fedora Core 6 の最初のリリースに含まれるカーネル、kernel-2.6.18-1.2798.fc6 に戻すと、ちゃんとバックアップがとれる。
しかし、どのバージョンのカーネルから、正常動作しなくなってしまったのだろうか。fc6 用の、2.6.18-1.2798 から、2.6.20-1.2952 の間にはいくつかのパッケージがリリースされている。しかし、残念ながら、その間のパッケージ(rpm)を保存していない。
今簡単に手にはいるのは Fedora Core 6 のDVDに入っているものと、Fedora のFTP またはそのミラーからとれるものだけである。FedoraのFTP では全てのリリースを公開しているわけではなく、現在は、kernel-2.6.20-1.2952 と kernel-2.6.20-1.2948 だけが公開されている。
もちろん、kernel-2.6.20-1.2948でも試してみたが、これでもやはり同じ症状。
こうなってくると 2.6.19 でも試してみたいが、これがどこにあるのか分からない。カーネルソースからコンパイルするのはちょいと面倒なので、fc6 用のkernel-2.6.19のrpm パッケージを探索中。どこかで公開されていないでしょうかね。
まあ、そもそも、古いカーネルをさっさと消してしまったのが悪いのではあるが。
このマシンは、amanda を cron で起動して、別のサーバー(Linux, FC5)の自動バックアップをしている。
ところが、最近バックアップがとれなくなった。
amcheck はちゃんと通るのだが、amdump してみると、クライアントからデータが流れてこない。ps ax で調べてみると、サーバー、クライアントとも、プロセスは正常起動しているようである。
別のクライアントマシン(玄箱)からのバックアップを試しても同じ。
どうも、amanda サーバーとamanda クライアントの間で、データ通信ができなくなっているようだった。複数のクライアントで同じように駄目なのだから、サーバーの方に原因があるんだろう。
というわけで、あれこれ原因を探ってみたところ、行き着いた答えが、linux カーネルである。
現在、Fedora Core 6 の最新カーネルは、kernel-2.6.20-1.2952.fc6 というもの。
これを Fedora Core 6 の最初のリリースに含まれるカーネル、kernel-2.6.18-1.2798.fc6 に戻すと、ちゃんとバックアップがとれる。
しかし、どのバージョンのカーネルから、正常動作しなくなってしまったのだろうか。fc6 用の、2.6.18-1.2798 から、2.6.20-1.2952 の間にはいくつかのパッケージがリリースされている。しかし、残念ながら、その間のパッケージ(rpm)を保存していない。
今簡単に手にはいるのは Fedora Core 6 のDVDに入っているものと、Fedora のFTP またはそのミラーからとれるものだけである。FedoraのFTP では全てのリリースを公開しているわけではなく、現在は、kernel-2.6.20-1.2952 と kernel-2.6.20-1.2948 だけが公開されている。
もちろん、kernel-2.6.20-1.2948でも試してみたが、これでもやはり同じ症状。
こうなってくると 2.6.19 でも試してみたいが、これがどこにあるのか分からない。カーネルソースからコンパイルするのはちょいと面倒なので、fc6 用のkernel-2.6.19のrpm パッケージを探索中。どこかで公開されていないでしょうかね。
まあ、そもそも、古いカーネルをさっさと消してしまったのが悪いのではあるが。
2007年05月10日
yum でバージョンダウンする方法をメモしておこう
今日、linux マシン(Fedora Core 5, FC5) を yum update したところ、
samba が samba-3.0.24-3 から、samba-3.0.24-4 になった。
ところが、このバージョンだと、Windows マシンからアクセスできない共有フォルダが続出する。
なんだかアクセス権限の問題らしいことはわかるんだが、詳しい調査をしている暇がない。手っ取り早く元に戻すことにした。
手順は、samba-3.0.24-4 を削除してから、samba-3.0.24-3 をインストールするってこと。
まず、samba を削除。
yum remove samba*
関連ファイルが全部消えちゃう。後でインストールするために、出力をメモしよう。
次に旧バージョンのsambaをインストール。
yum install samba-3.0.24-3.fc5 samba-client-3.0.24-3.fc5
samba-common-3.0.24-3.fc5 samba-swat-3.0.24-3.fc5
こんな感じ。
これで元通り、すべての共有フォルダにアクセスできるようになった。
気になるなら、samba を削除したときについでに削除された物たちをインストールしてもよい。
うちの場合は、ついでに削除されたのは以下のファイルたちだ。
control-center
file-roller
gnome-media
gnome-session
gnome-vfs2-smb
gnome-volume-manager
nautilus
nautilus-cd-burner
system-config-samba
gnome とかGUIは使ってないんですけど。って場合はこんなの必要ない。
なお、このままだと、次回に yum update したときに sambaも勝手にアップデートされてしまう。問題が解決されるまでyumでの自動アップデートから samba関連をはずしておく。
/etc/yum.conf に
exclude=samba*
と追加しておけばよい。
samba が samba-3.0.24-3 から、samba-3.0.24-4 になった。
ところが、このバージョンだと、Windows マシンからアクセスできない共有フォルダが続出する。
なんだかアクセス権限の問題らしいことはわかるんだが、詳しい調査をしている暇がない。手っ取り早く元に戻すことにした。
手順は、samba-3.0.24-4 を削除してから、samba-3.0.24-3 をインストールするってこと。
まず、samba を削除。
yum remove samba*
関連ファイルが全部消えちゃう。後でインストールするために、出力をメモしよう。
次に旧バージョンのsambaをインストール。
yum install samba-3.0.24-3.fc5 samba-client-3.0.24-3.fc5
samba-common-3.0.24-3.fc5 samba-swat-3.0.24-3.fc5
こんな感じ。
これで元通り、すべての共有フォルダにアクセスできるようになった。
気になるなら、samba を削除したときについでに削除された物たちをインストールしてもよい。
うちの場合は、ついでに削除されたのは以下のファイルたちだ。
control-center
file-roller
gnome-media
gnome-session
gnome-vfs2-smb
gnome-volume-manager
nautilus
nautilus-cd-burner
system-config-samba
gnome とかGUIは使ってないんですけど。って場合はこんなの必要ない。
なお、このままだと、次回に yum update したときに sambaも勝手にアップデートされてしまう。問題が解決されるまでyumでの自動アップデートから samba関連をはずしておく。
/etc/yum.conf に
exclude=samba*
と追加しておけばよい。
2006年12月19日
Linux ( Fedora Core ) で ieee1394 を自動認識させない方法。
なにも ieee1394 だけじゃないんですが、要するに起動時にドライバ・モジュールを読み込まないようにする方法です。
/etc/modprobe.d/blacklist
というファイルを編集して、
blacklist ieee1394
blacklist ohci1394
blacklist sbp2
という3行を加えます。
すると起動時にieee1394を自動認識しなくなります。
ちなみに、上記 ieee1394 や ohci1394 などはモジュール名です。
つまり、/lib/modules 以下にカーネルのバージョン毎に格納されているファイルです。ですから、起動時にロードさせたくないモジュールがあれば、このように編集すればいいわけです。
例えば、USBは使ってないからロードしないようにしておく、とかって場合にもこの手は使えますね。
P.S.
なんでこんな設定をするかというと、
うちのPCで、linux( FC6 ) と Windows 2000 のデュアルブートをしているのがあって、linux で ieee1394な外付ハードディスクを認識させちゃうと、その後Window 2000 を再起動したときには、HDDが認識されなくなっちゃうんですね。デバイスマネージャでは [!] マークが出ちゃうんですよ。インターフェースのバグかなあ。
HDDはNTFSフォーマットですから、普通はWindows でしか使えません。だからいっそのことlinux では
なかったことにする
ってわけです。
/etc/modprobe.d/blacklist
というファイルを編集して、
blacklist ieee1394
blacklist ohci1394
blacklist sbp2
という3行を加えます。
すると起動時にieee1394を自動認識しなくなります。
ちなみに、上記 ieee1394 や ohci1394 などはモジュール名です。
つまり、/lib/modules 以下にカーネルのバージョン毎に格納されているファイルです。ですから、起動時にロードさせたくないモジュールがあれば、このように編集すればいいわけです。
例えば、USBは使ってないからロードしないようにしておく、とかって場合にもこの手は使えますね。
P.S.
なんでこんな設定をするかというと、
うちのPCで、linux( FC6 ) と Windows 2000 のデュアルブートをしているのがあって、linux で ieee1394な外付ハードディスクを認識させちゃうと、その後Window 2000 を再起動したときには、HDDが認識されなくなっちゃうんですね。デバイスマネージャでは [!] マークが出ちゃうんですよ。インターフェースのバグかなあ。
HDDはNTFSフォーマットですから、普通はWindows でしか使えません。だからいっそのことlinux では
なかったことにする
ってわけです。
2006年09月17日
Fedora Core 5 と ImageMagick
Fedora Core 5 を yum update してたら、perl で ImageMagickを使うとエラーが出るようになった。
エラーを起こすのは ImageMagick-6.2.5.4-4.2.1.fc5.4
ImageMagickを前バージョンに戻さなければならないようだ。
対処法が
http://www.j-pca.com/blog/log/eid74.html
にあったので、リンクしておきます。
こういう記事はとてもありがたいですね。
Fedora って、結構こういうことあるんだよね。
そもそも最新ソフトウェアをどんどん取り込んでいくのが Fedora なので、そういうもんだと思って使っていますが。
エラーを起こすのは ImageMagick-6.2.5.4-4.2.1.fc5.4
ImageMagickを前バージョンに戻さなければならないようだ。
対処法が
http://www.j-pca.com/blog/log/eid74.html
にあったので、リンクしておきます。
こういう記事はとてもありがたいですね。
Fedora って、結構こういうことあるんだよね。
そもそも最新ソフトウェアをどんどん取り込んでいくのが Fedora なので、そういうもんだと思って使っていますが。
2006年08月26日
samba 3.0.23a と ADS と DFS の組み合わせはNG
samba 3.0.23a をWindows 2000 Server のアクティブディレクトリに参加させると、DFS 機能がまともに動かない。
samba は fedora core 5 で yum update にてインストール。
samba 3 はデフォルトで dfs は有効になっている。
1. sambaでDFSのルートを設定した場合。
Windows Xp から、dfsルートは表示される。
しかしその中のフォルダ(実際には、各ホストの共有フォルダ)へのアクセスは不可。
自ホストの共有にも、他ホストの共有にもアクセスできない。
2. windows 2000 でDFSのルートを設定した場合。
samba 3.0.23a で共有したフォルダは、アクセス不可。samba 2 にはアクセス可能。
3. samba3.0.23a を security = domain にすると、この問題は解決できるので、samba の ads 関係の不具合と考えられる。
samba は fedora core 5 で yum update にてインストール。
samba 3 はデフォルトで dfs は有効になっている。
1. sambaでDFSのルートを設定した場合。
Windows Xp から、dfsルートは表示される。
しかしその中のフォルダ(実際には、各ホストの共有フォルダ)へのアクセスは不可。
自ホストの共有にも、他ホストの共有にもアクセスできない。
2. windows 2000 でDFSのルートを設定した場合。
samba 3.0.23a で共有したフォルダは、アクセス不可。samba 2 にはアクセス可能。
3. samba3.0.23a を security = domain にすると、この問題は解決できるので、samba の ads 関係の不具合と考えられる。