Linux下相同配置的机器间内核拷贝

来源:Linux认证    发布时间:2012-11-10    Linux认证视频    评论

  若干台相同配置,已安装相同操作系统的机器,现在需要更新所有机器上的内核,可以采用在一台上编译好内核,然后拷贝相关文件至其它机器上的策略:

  总结操作步骤如下:

  (0)选择某台机器,编译好内核

  (1) 拷贝启动相关文件/boot/vmlinuz-2.6.34.7 /boot/initrd-2.6.34.7.img(/boot/System.map-2.6.34.7)

  (2) 拷贝模块文件所在目录/lib/modules/2.6.34.7

  拷贝之前,我们查看一下目录,我们发现有两个软链接指向了 内核的源码,他们是 build 和 source,模块文件如下:

  [root@gd86 2.6.34.7]# ll /lib/modules/2.6.34.7总计 1492 lrwxrwxrwx  1 root root     33 2010-10-07 build -> /local/kernel-perf/linux-2.6.34.7 drwxr-xr-x 10 root root   4096 2010-10-07 kernel -rw-r——r——  1 root root 350090 2010-10-07 modules.alias -rw-r——r——  1 root root   4859 2010-10-07 modules.builtin -rw-r——r——  1 root root     69 2010-10-07 modules.ccwmap -rw-r——r——  1 root root 164911 2010-10-07 modules.dep -rw-r——r——  1 root root    147 2010-10-07 modules.ieee1394map -rw-r——r——  1 root root    218 2010-10-07 modules.inputmap -rw-r——r——  1 root root   3161 2010-10-07 modules.isapnpmap -rw-r——r——  1 root root     74 2010-10-07 modules.ofmap -rw-r——r——  1 root root  37267 2010-10-07 modules.order -rw-r——r——  1 root root 220774 2010-10-07 modules.pcimap -rw-r——r——  1 root root    463 2010-10-07 modules.seriomap -rw-r——r——  1 root root 142681 2010-10-07 modules.symbols -rw-r——r——  1 root root 541379 2010-10-07 modules.usbmap lrwxrwxrwx  1 root root     33 2010-10-07 source -> /local/kernel-perf/linux-2.6.34.7若使用 scp 命令直接拷贝 /lib/modules/2.6.34.7 目录到其它机器上< scp -r /lib/modules/2.6.34.7  /lib/modules >,它会将 build,source所指向的真实目录拷贝到其它机器上。拷贝过去后,新机器上的  /lib/modules/2.6.34.7 目录下将会有 build 和 source 两个目录,而不再是软链接了,目录下的内容也就是原机器上的 /local/kernel-perf/linux-2.6.34.7 下的内核源码。由于源码较大,所以这样拷贝两次会消耗很大时间,所以不建议这样做。

  我们可以将 /lib/modules/2.6.34.7 目录打包后传送到目标机器上(使用scp或者ftp),然后再目标机器上进行解压,解压后的  /lib/modules/2.6.34.7 下仍会有 build 和 source 两个软链接。而此后,我们只需要将内核源码拷贝到目标机器上就可以了(第3步),操作步骤如下:

  gd86:

  [root@gd86 modules]# cd /lib/modules/ [root@gd86 modules]# tar czvf  2.6.34.7.tar.gz 2.6.34.7 [root@gd86 modules]# scp 2.6.34.7.tar.gz gd87:/lib/modules/ gd87:

  [root@gd86 modules]# cd /lib/modules/ [root@gd86 modules]# tar zxvf  2.6.34.7.tar.gz  (解压成功后目录下仍有 source 和 build 两个软链接)

  (3) 拷贝内核源码/local/kernel-perf/linux-2.6.34.7

  可以先压缩后再拷贝。

  (4)修改 /etc/grub.conf 文件

  title 2.6.34.7 root (hd0,0)

  kernel /vmlinuz-2.6.34.7 root=LABEL=/ ro initrd /initrd-2.6.34.7.img

  附:Linux 软链接复制相关知识

  在某台机器下,若存在一个目录A,目录中存在软链接,该软链接指向当前机器的其它目录,当在本机器中拷贝目录A时,拷贝完毕后,软链接仍有效。

  [root@gd86 ~]# ll cp_test总计 0 -rw-r——r—— 1 root root  0 10-31 08:30 a -rw-r——r—— 1 root root  0 10-31 08:31 b lrwxrwxrwx 1 root root 14 10-31 08:31 data_1 -> /root/zkl/data lrwxrwxrwx 1 root root 14 10-31 08:31 data_2 -> /root/zkl/data

  [root@gd86 ~]# cp -r cp_test cp_test1 [root@gd86 ~]# ll cp_test1总计 0 -rw-r——r—— 1 root root  0 10-31 08:32 a -rw-r——r—— 1 root root  0 10-31 08:32 b lrwxrwxrwx 1 root root 14 10-31 08:32 data_1 -> /root/zkl/data lrwxrwxrwx 1 root root 14 10-31 08:32 data_2 -> /root/zkl/data若将本机器的A目录拷贝到其它机器上,scp -r cp_test gd87:~/  则会将软链接指向的真实目录拷贝到目标机器上

  [root@gd87 ~]# ll cp_test/总计 8 -rw-r——r—— 1 root root    0 10-31 08:34 a -rw-r——r—— 1 root root    0 10-31 08:34 b drwxr-xr-x 2 root root 4096 10-31 08:34 data_1  目录下是真实内容,data_1 不再是软链接了。

  drwxr-xr-x 2 root root 4096 10-31 08:34 data_2若想复制成功后,原目录下的软链接不变,则需要先将目录打包,然后传送过去后做解压。

  考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答