問題ID: 14322

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015-10-11 0:31
saebat_  半人前   投稿数: 6
・バージョンがファイル名に付くようカーネルイメージ等をリネームする

この選択肢は正しいとのことですが、これには違和感を覚えます。

リネームであれば、その前後でファイル数は変わらないはずです。
しかし、実際には、新バージョンのものが追加され、ファイル数は増えます。

代案を持ち合わせていないのが心苦しいのですが、当該選択肢の
処遇についてご検討いただければと思います。

<参考:当方環境下での動作結果>
■CentOS6.2のデフォルトでの/boot配下
(2.6.32-220.el6.i686)
[root@CentOS_Clnt01 ~]# ls -l /boot/
合計 17291
-rw-r--r--. 1 root root 1823458 12月 7 01:59 2011 System.map-2.6.32-220.el6.i686
-rw-r--r--. 1 root root 105744 12月 7 01:59 2011 config-2.6.32-220.el6.i686
drwxr-xr-x. 3 root root 1024 7月 15 16:51 2015 efi
drwxr-xr-x. 2 root root 1024 10月 4 12:00 2015 grub
-rw-r--r--. 1 root root 11771701 7月 15 16:52 2015 initramfs-2.6.32-220.el6.i686.img
drwx------. 2 root root 12288 7月 15 16:50 2015 lost+found
-rw-r--r--. 1 root root 168173 12月 7 01:59 2011 symvers-2.6.32-220.el6.i686.gz
-rwxr-xr-x. 1 root root 3811616 12月 7 01:59 2011 vmlinuz-2.6.32-220.el6.i686
[root@CentOS_Clnt01 ~]#

■CentOS6.2でバージョンアップした後の/boot配下
(2.6.33.1)
[root@localhost ~]# ls -l /boot
合計 34256
lrwxrwxrwx. 1 root root 25 10月 7 07:25 2015 System.map -> /boot/System.map-2.6.33.1
-rw-r--r--. 1 root root 1823458 12月 7 01:59 2011 System.map-2.6.32-220.el6.i686★
-rw-r--r--. 1 root root 1648000 10月 7 07:25 2015 System.map-2.6.33.1★
-rw-r--r--. 1 root root 105744 12月 7 01:59 2011 config-2.6.32-220.el6.i686
drwxr-xr-x. 3 root root 1024 7月 4 10:35 2015 efi
drwxr-xr-x. 2 root root 1024 10月 7 08:00 2015 grub
-rw-r--r--. 1 root root 13388728 7月 4 10:37 2015 initramfs-2.6.32-220.el6.i686.img★
-rw-r--r--. 1 root root 10534954 10月 7 07:26 2015 initramfs-2.6.33.1.img★
drwx------. 2 root root 12288 7月 4 10:34 2015 lost+found
-rw-r--r--. 1 root root 168173 12月 7 01:59 2011 symvers-2.6.32-220.el6.i686.gz
lrwxrwxrwx. 1 root root 22 10月 7 07:25 2015 vmlinuz -> /boot/vmlinuz-2.6.33.1
-rwxr-xr-x. 1 root root 3811616 12月 7 01:59 2011 vmlinuz-2.6.32-220.el6.i686★
-rw-r--r--. 1 root root 3565120 10月 7 07:25 2015 vmlinuz-2.6.33.1★
[root@localhost ~]#

(★)バージョンアップ前後のファイルが併存している。
リネームであれば併存ではないはず。


よろしくお願い致します。
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015-10-11 15:48 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
カーネルのビルド時って、基本的にはvmlinux(コンパイルしただけのカーネル)やbzImage(コンパイルしたものを圧縮したカーネルイメージ)が作成されるんですよね。
$ make help
(略)
Other generic targets:
  all		  - Build all targets marked with [*]
* vmlinux	  - Build the bare kernel
* modules	  - Build all modules
(略)
Architecture specific targets (x86):
* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)
  install      - Install kernel using
                  (your) ~/bin/installkernel or
                  (distribution) /sbin/installkernel or
                  install to $(INSTALL_PATH) and run lilo
(略)
Execute "make" or "make all" to build all targets marked with [*]
For further info see the ./README file
例えば私の環境で以下のように3.10.13のソースからビルドしてみたところ、以下のようにカーネルイメージが作成されています。
$ make allnoconfig
(略)
$ make
scripts/kconfig/conf --silentoldconfig Kconfig
make[1]: `all' に対して行うべき事はありません.
  HOSTCC  arch/x86/tools/relocs_32.o
  HOSTCC  arch/x86/tools/relocs_64.o
(略)
System is 842 kB
CRC d5d86605
Kernel: arch/x86/boot/bzImage is ready  (#1)
$ find . -name vmlinux
./arch/x86/boot/compressed/vmlinux
./vmlinux
$ ls -l ./arch/x86/boot/compressed/vmlinux
-rwxrwxr-x. 1 arashi1977 arashi1977 868840 10月 10 10:17 ./arch/x86/boot/compressed/vmlinux
$ ls -l vmlinux
-rwxrwxr-x. 1 arashi1977 arashi1977 2086702 10月 10 10:17 vmlinux
$ ls -l arch/x86/boot/bzImage
-rw-rw-r--. 1 arashi1977 arashi1977 876592 10月 10 10:17 arch/x86/boot/bzImage
また、上記のmake helpの結果から「make installするとディストリビューションが提供している/sbin/installkernelを使ってカーネルをインストールする」とありますので、CentOS7とUbuntu14.04LTSで/sbin/installkernelが存在するのか確認したらちゃんとあって、以下の通りbzImageをバージョン番号付きの名前にリネームして配置するようになってます。(cpをリネームというのかと言われると辛いですが、bzImageと違う名前に変えて配置しているので、間違いではないと個人的には思います)
CentOS7:
$ ls /sbin/installkernel
/sbin/installkernel
$ cat /sbin/installkernel
(略)
cat $BOOTIMAGE > $INSTALL_PATH/$KERNEL_NAME-$KERNEL_VERSION

Ubuntu14.04:
$ ls /sbin/installkernel
/sbin/installkernel
$ cat /sbin/installkernel
(略)
updatever $img_dest "$img"
なので、一般的には選択肢の通りの
引用:
・バージョンがファイル名に付くようカーネルイメージ等をリネームする
は、間違っていないと思います。

ちなみに「一般的には」といったのは、「/sbin/installkernelを用意していない環境ではそうだと言い切れない」というのがあるからです。この場合は古いliloを使った環境での処理が行われるのですが、今時lilo使うのか?というのもありまして。
※こないだliloの開発ヤメるぜってアナウンスもありましたしね。

そういったことも踏まえて、この選択肢は別におかしくないんじゃないかなーと思ったりします。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-10-18 11:36
saebat_  半人前   投稿数: 6
ご回答ありがとうございます。

「そもそもリネームとは…?」という議論になるのもアレなので、
ひとまずはこの選択肢は正しいという理解で次の分野に進むことに
します。

どうしても心に引っ掛かるようならまた戻ってきます。。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.