-->

2011-05-14

update-modulesのメモ

解釈はこうなった。
/etc/modules.d/ は2.4系の設定なので消す。
/etc/modules.conf は2.4系の設定なので消す。
/etc/modprobe.conf は/etc/modprobe.d/と現在の状態をまとめて出力した結果。
/etc/modprobe.d/ は2.6系の設定。
/etc/modprobe.d/ に新しくファイルを作成しても中身を利用している。

/etc/modules.d/, /etc/modules.conf, /etc/modprobe.conf を消して、
/etc/modprobe.d/にファイルを追加した。


$ man update-modules
...
       /etc/modules.d/ - config snippets for old module utilities (<= linux-2.4)
       /etc/modules.conf - sum of all files in /etc/modules.d/
       /etc/modprobe.d/ - config snippets for new module utilities (>= linux-2.6)
       /etc/modprobe.conf - sum of all files in /etc/modprobe.d/

$ find /etc/modprobe.* /etc/modules.* -type f -ls
524372    8 -rw-r--r--   1 root     root         5426  5月  2 04:00 /etc/modprobe.conf
#791990    4 -rw-r--r--   1 root     root         1138  4月 23 11:26 /etc/modprobe.d/bond.conf
#716958    4 -rw-r--r--   1 root     root          122  5月  7  2009 /etc/modprobe.d/i386.conf
#732911    4 -rw-r--r--   1 root     root          950  5月 11 07:09 /etc/modprobe.d/blacklist.conf
#716959    4 -rw-r--r--   1 root     root         1216  5月  7  2009 /etc/modprobe.d/aliases.conf
#732949    4 -rw-r--r--   1 root     root          537  5月 11 07:09 /etc/modprobe.d/pnp-aliases.conf
524960    4 -rw-r--r--   1 root     root         1575  2月 15  2010 /etc/modules.conf
525159    4 -rw-r--r--   1 root     root         1214  1月 19  2009 /etc/modules.d/aliases

パッケージが設置したファイル。
$ find /etc/modprobe.* /etc/modules.* -type f -exec equery belongs {} \;
[ Searching for file(s) /etc/modprobe.conf in *... ]
[ Searching for file(s) /etc/modprobe.d/bond.conf in *... ]
●net-misc/ifenslave-1.1.0-r5 (/etc/modprobe.d/bond.conf)
[ Searching for file(s) /etc/modprobe.d/i386.conf in *... ]
●sys-apps/baselayout-2.0.2 (/etc/modprobe.d/i386.conf)
[ Searching for file(s) /etc/modprobe.d/blacklist.conf in *... ]
●sys-fs/udev-151-r4 (/etc/modprobe.d/blacklist.conf)
[ Searching for file(s) /etc/modprobe.d/aliases.conf in *... ]
●sys-apps/baselayout-2.0.2 (/etc/modprobe.d/aliases.conf)
[ Searching for file(s) /etc/modprobe.d/pnp-aliases.conf in *... ]
●sys-fs/udev-151-r4 (/etc/modprobe.d/pnp-aliases.conf)
[ Searching for file(s) /etc/modules.conf in *... ]
[ Searching for file(s) /etc/modules.d/aliases in *... ]

パッケージに属さないファイル。
524372    8 -rw-r--r--   1 root     root         5426  5月  2 04:00 /etc/modprobe.conf
524960    4 -rw-r--r--   1 root     root         1575  2月 15  2010 /etc/modules.conf
525159    4 -rw-r--r--   1 root     root         1214  1月 19  2009 /etc/modules.d/aliases

モジュールは何も読んでない。
$ lsmod
Module                  Size  Used by

モジュールが読めない。
$ sudo iptables -L -n
...
FATAL: Error inserting ip_tables (/lib/modules/2.6.33.7-co-0.7.9/kernel/net/ipv4/netfilter/ip_tables.ko): Invalid module format
iptables v1.4.10: can't initialize iptables table `filter': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

カーネルバージョン。
$ uname -a
Linux cogentoo-1 2.6.33.7-co-0.7.9 #1 PREEMPT Sat Apr 9 20:30:51 UTC 2011 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux

モジュールの日付が違う。
$ ll /lib/modules/2.6.33.7-co-0.7.9/kernel/net/ipv4/netfilter/ip_tables.ko
-rw-r--r-- 1 root root 16758 2011-04-23 08:54:37 /lib/modules/2.6.33.7-co-0.7.9/kernel/net/ipv4/netfilter/ip_tables.ko

作成したカーネルの日付が違う。
$ ll /usr/src/linux/vmlinux
-rwxr-xr-x 1 root root 4304596 2011-04-23 08:27:55 /usr/src/linux/vmlinux*

vmlinuxを更新して再起動。これは更新後に以前のままのvmlinuxで起動していただけ。
$ sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
...
$ lsmod
Module                  Size  Used by
iptable_filter          1034  0
ipt_addrtype            1417  0
xt_dscp                 1155  0
...

バージョンは同じ。何が原因で同じカーネルを再コンパイルしたか記憶にない。
$ uname -a
Linux cogentoo-1 2.6.33.7-co-0.7.9 #1 PREEMPT Sat Apr 23 08:27:48 JST 2011 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux

/etc/以下の*.oldを探す。
$ sudo find /etc/ -name "*old"
/etc/blkid.tab.old
/etc/ssl/apache2/server.crt.old
/etc/ssl/apache2/server.key.old

sslのファイルは多分手動で作成したので問題ない。

$ equery belongs /sbin/blkid
[ Searching for file(s) /sbin/blkid in *... ]
sys-apps/util-linux-2.19.1 (/sbin/blkid)

$ ll /etc/blkid.tab*
-rw-r--r-- 1 root root 133 2008-10-10 01:54:27 /etc/blkid.tab
-rw-r--r-- 1 root root 133 2007-02-26 06:29:24 /etc/blkid.tab.old

UUIDを取得するコマンドのキャッシュらしい。
/dev/cobd2に関する記述だが現在繋いでいない。
古いので消す。

バックアップを作成しつつ再作成。
$ sudo update-modules -b -f -v
 * Updating modules.conf ...                                                                                            [ ok ]
 * Updating modules.dep ...                                                                                             [ ok ]
 * Ran: depmod -b '/' -a -F ./lib/modules/2.6.33.7-co-0.7.9/build/System.map 2.6.33.7-co-0.7.9
 * Updating modprobe.conf by hand ...                                                                                   [ ok ]
$ sudo find /etc/ -name "*old"
/etc/ssl/apache2/server.crt.old
/etc/ssl/apache2/server.key.old
/etc/modules.conf.old
/etc/modprobe.conf.old

同じ。
$ md5sum /etc/modules.conf*
90865804ac98ba5fdfdd33b96e322971  /etc/modules.conf
90865804ac98ba5fdfdd33b96e322971  /etc/modules.conf.old

コメントが違う。
$ diff /etc/modprobe.conf.old /etc/modprobe.conf
104a105,107
> # hplip and cups 1.4+ use raw USB devices, so it requires usblp not be loaded
> #blacklist usblp
>

update-modulesにもパッケージにも属さないので消す。
$ equery belongs /etc/modules.d/aliases
[ Searching for file(s) /etc/modules.d/aliases in *... ]
$ equery belongs /etc/modules.d
[ Searching for file(s) /etc/modules.d in *... ]
$ ll /etc/modules.d/aliases /etc/modules.conf
-rw-r--r-- 1 root root 1575 2011-05-13 18:40:50 /etc/modules.conf
-rw-r--r-- 1 root root 1214 2009-01-19 02:51:37 /etc/modules.d/aliases
$ diff /etc/modules.d/aliases /etc/modules.conf
0a1,7
> ### This file is automatically generated by update-modules
> #
> # Please do not edit this file directly. If you want to change or add
> # anything please take a look at the files in ./etc/modules.d and read
> # the manpage for update-modules(8).
> #
> ### update-modules: start processing /etc/modules.d/aliases
42a50,52
>
> ### update-modules: end processing /etc/modules.d/aliases
>
$ 

認識としては下記のようになった。
たぶん過去のbaselayoutなどが設置した。/etc/modules.d/aliases
2.4系 /etc/modules.conf
2.6系 /etc/modprobe.conf
パッケージが設置する2.6用の設定。/etc/modprobe.d/
違う。update-modulesでそれぞれのxxx.d/xxx.confをまとめる。
/etc/modules.d/aliases消したのでもう/etc/modules.confは作成されないかもしれない。

関係ないがモジュール呼び出し部分は自動変換だった。
/etc/modules.autoload.d/は消えるのでバックアップを取ってもいい。
baselayout1=>2
/etc/modules.autoload.d/kernel-2.6 => /etc/conf.d/modules

削除してから実行。
$ sudo update-modules -b -f -v
 * No need to generate modules.conf :)
 * No need to generate modprobe.conf :)

$ lsmod
Module                  Size  Used by
ipv6                  223540  18

net-pf-10 off

$ lsmod
Module                  Size  Used by
off                   223540  18

$ rcsdiff -r1.1 modules,v /etc/conf.d/modules
===================================================================
RCS file: modules,v
retrieving revision 1.1
diff -r1.1 /etc/conf.d/modules
19a20,21
>
> modules="net-pf-10:off"

$ cat /etc/modprobe.conf
alias net-pf-10 off
$ lsmod
Module                  Size  Used by

$ cat /etc/modprobe.conf
#alias net-pf-10 off
$ cat /etc/modprobe.d/_local.conf
alias net-pf-10 off
$ lsmod
Module                  Size  Used by

$ cat /etc/modprobe.conf
#alias net-pf-10 off
$ cat /etc/modprobe.d/_local.conf
#alias net-pf-10 off
$ lsmod
Module                  Size  Used by
ipv6                  223540  18

$ cat /etc/modprobe.conf
cat: /etc/modprobe.conf: そのようなファイルやディレクトリはありません
$ cat /etc/modprobe.d/_local.conf
alias net-pf-10 off
$ lsmod
Module                  Size  Used by

0 件のコメント: