[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:24634] tar でシンボリックリンクへの上書き



新木です。

Plamo-2.2.6 ベースの PC をカーネル 2.4.28 に上げてから
何回かカーネルパニックが発生するようになったので
思い切って 2.6 に移行してみました。

module-init-tools-3.1 のパッケージを自前で作成して
installpkg で入れたのですが、いざカーネル 2.6.10 で起動すると

ERROR: Module HOGE does not exist in /proc/modules

連発でモジュールがロードできません。

おかしいなーと思い作成した module-init-tools.tgz と
実際にインストールされたファイルを比較してみると、
パッケージのほうは下記のファイルがいずれも実ファイルなのですが、
 sbin/insmod
 sbin/modprobe
 sbin/rmmod

実際のファイルは以下のようになっていました。
 /sbin/insmod
 /sbin/modprobe -> insmod へのシンボリックリンク
 /sbin/rmmod    -> insmod へのシンボリックリンク

さらにファイルサイズを比較すると、/sbin/insmod の中身は
パッケージの rmmod であることがわかりました。

もともと入っていた modutils ではシンボリックリンクが使われており、
それに installpkg で上書きした際に上記の状態になったということの
ようです。

installpkge の中を覗いてみたのですが、単純に tar で展開されており、
実際にパッケージを tar で展開してみても同じ状態になります。

tar でシンボリックリンクにファイルを上書きする際には
リンクそのものを置き換えるのではなくリンク先のファイルを
書き換えてしまうということのようですが、これはそもそも
そういう仕様なのでしょうか?

結局 rm /sbin/modprobe /sbin/rmmod してから installpkg することで
解決したのですが、パッケージ管理が installpkg / removepkg に
おまかせできないってことであれば要注意だと思いましたです。

# で、苦労して移行したところで 2.4.29 が出ちゃったと(笑)。

-- 
新木 健                            // Welcome to Procyon Home Page //
nikki@procyon.org                  // http://www.procyon.org/      //

Follow-Ups
[plamo:24635] Re: tarでシンボリックリンクへの上書き, Chisato Yamauchi

[検索ページ] [メール一覧]
Plamo ML 公開システム