当前位置: 首页 > news >正文

linux光盘镜像更换kernel,定制ks自动安装

centos6.7 内核版本是2.6.32-573.el6.x86_64,在使用过程中发现,会导致 swap 信息统计非法,如下所示:

# free -g
 total       used       free     shared    buffers     cached
Mem:            31          1         30          0          0          0
-/+ buffers/cache:          0         30
Swap:            0 1717986868        500

可以看到及时系统没有 enable swap 分区,也会显示 swap used
为一个非常大的数字,这会导致进程被当作 OOM 杀掉。
考虑把内核升级到2.6.32-573.26.1.el6.x86_64.rpm

挂载

mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso /media/cdrom/

复制

cd /media/cdrom

rsync -av --exclude=repodata/ --exclude=Packages/ --exclude=TRANS.TBL cdrom/* mycentos6.7

注:需要检查.discinfo和.treeinfo是否存在
cat /mycnetos6.7/.discinfo 1385726732.061157 6.5 x86_64 ALL

删除掉所有目录下的TRANS.TBL(可选)

上一步已经exclude的了可以忽略


find /root/centos_nat/centos_dvd -name TRANS.TBL -exec rm -f {} \; -print

其中可以将所有目录下的TRANS.TBL删除掉,

用mkisofs生成ISO时加上-T参数,即可给所有目录下生成TRANS.TBL文件,

TRANS.TBL文件的作用是用于提供比ISO9660标准约定的基本文件名更加灵活的文件名,然而,ISO9660规范已经用Rock Ridge和Joliet扩展替代TRANS.TBL文件很久了,因此,现代所用之创建ISO9660镜像文件的工具,或者根本不创建TRANS.TBL文件,或者仅在用户明确指定时才会创建它们。

生成安装系统所需的rpm文件列表

生成rpm包列表文件,可通过install.log文件获取,这里是packages-6.7

 awk '{print "rsync -a cdrom/Packages/"$1" mycentos6.7/Packages"}' packages-6.7|bash

校验下rpm包的正确性

rpm -K --nogpg *rpm

更新kernel

  1. 下载需要更新的kernel安装包,并更新到mycentos6.7/Packages
yumdownloader --resolve --destdir=/root/mypackages/ kernel

生成repodata目录

如果更新的安装包有变,需要重新创建repodata

  1. 复制和修改comps.xml

A precreated xml filename to point to for group information

mkdir mycentos6.7/repodata

cp cdrom/repodata/*x86_64-comps.xml  mycentos6.7/repodata/maoyi.xml

有变更的包需要修改,删除的包需要在maoyi.xml中删除
  1. 重建repodata
createrepo -u . -g repodata/a.xml 

-u : 镜像跟目录,./mycentos6.7
-g : groupfile

增加ks文件,自安装

  1. 修改/isolinux/isolinux.cfg
default ks //默认启动
#default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.7!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label ks //
  kernel vmlinuz
  append ks=cdrom:/ks.cfg  initrd=initrd.img  devfs=nomount ramdisk_size=16384 nofb biosdevname=0
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -
  1. 修改ks

需要注意修改installation media

#Use CDROM installation media
cdrom

生成镜像

mkisofs  -o MyCentOS_1.iso  -b isolinux/isolinux.bin  -c isolinux/boot.cat  -no-emul-boot  -boot-load-size 4  -boot-info-table  -R -J -v -T ./MyCentOS 

加入md5校验

转载于:https://blog.51cto.com/maoyi/2046606

相关文章:

  • C# System.Windows.Forms.WebBrowser中判断浏览器内核和版本
  • 3、python自动化运维——定制业务质量报表
  • ***详解账号泄露:全球约1亿用户已泄露
  • 【mysql】mysql 配置
  • 怎样检测内存泄露
  • python之旅九【第九篇】socket
  • 【C#|.NET】利用FastDFS打造分布式文件系统
  • [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
  • 实用算法实现-第 24 篇 高精度整数运算
  • PHP Mysql-插入多条数据
  • Windows窗体
  • DataWorks新手引导(持续更新)
  • TOP语句放到表值函数外,效率异常低下
  • 产品经理教你玩转阿里云负载均衡SLB系列(一):快速入门--什么是负载均衡
  • Enum一点使用总结
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • codis proxy处理流程
  • Date型的使用
  • ES6--对象的扩展
  • Js基础知识(四) - js运行原理与机制
  • js继承的实现方法
  • leetcode386. Lexicographical Numbers
  • nodejs:开发并发布一个nodejs包
  • oschina
  • passportjs 源码分析
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • spark本地环境的搭建到运行第一个spark程序
  • Theano - 导数
  • Unix命令
  • 基于HAProxy的高性能缓存服务器nuster
  • 异步
  • ionic异常记录
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​Spring Boot 分片上传文件
  • ​批处理文件中的errorlevel用法
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (day6) 319. 灯泡开关
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (附源码)计算机毕业设计高校学生选课系统
  • (三分钟)速览传统边缘检测算子
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • . Flume面试题
  • .equals()到底是什么意思?
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net core开源商城系统源码,支持可视化布局小程序