ks.cfg 文件怎么实现读取光盘 (CDROM) 上的内容并执行自定义脚本
我们知道 linux 系统安装过程中,要想实现自动化安装,一般都是利用 Kickstart 这个工具实现,最重要的就是其配置文件 ks.cfg,ks.cfg 定义了安装过程中每一步的动作。ks.cfg 文件有一段 % post 开头 % end 结尾的部分,其作用就是让用户在系统安装完成后,需要执行一些特定的脚本,以完成目中目的的需要。 这个阶段默认其实已经经过系统执行了 chroot 了,默认根就是执行 chroot 之前的 /mnt/sysimage 目录。我们搜到的资料大部分都是安装光盘上的 RPM 包或 DEB 包。如果我们安装过程中,想把光盘上的文件拷贝到新安装系统的指定目录内,并执行自己定义的部分脚本,达到自己想要定制的目的,该怎么办呢?

禁止进入 chroot

我们知道经过 chroot 之后,安装阶段基本没有访问光盘的手段,网上相关的资料甚少,那么怎么解决这个问题呢? 就是执行 % post 的阶段不需要 chroot ,经过查询大量资料,其实可以用下面的方法让安装过程中,不进入 chroot。

%post --nochroot
我们想要执行的动作都放到这个地方
%end
其实加上 --nochroot 参数就可以达到这个目的。那么此时的光盘一般都是 /dev/cdrom 这个路径,那我们即将安装的系统目录一般就是 /mnt/sysimage ,我们做的目的就是把光盘上的内容拷贝到 /mnt/sysimage 内。因此我们的脚本就可以变成下面这样

*** 拷贝光盘上内容到安装目的盘上并执行脚本 ***

光盘文件 说明
/my_doc/my.tar.gz 此文件在光盘上的路径
/my_doc/my.sh 脚本文件在光盘上的路径
%post --nochroot
mkdir /mnt/sysimage/root/cdrom
mount -t auto /dev/cdrom /mnt/sysimage/root/cdrom
mkdir /mnt/sysimage/root/my_doc
cp /mnt/sysimage/cdrom/my_doc/my.sh /mnt/sysimage/root/my_doc/my.sh
chmod +x /mnt/sysimage/root/my_doc/my.sh
cp /mnt/sysimage/cdrom/my_doc/my.tar.gz /mnt/sysimage/root/my_doc/my.tar.gz
chroot /mnt/sysimage/ /bin/sh /root/my_doc/my.sh
%end
具体步骤解释如下:

映射光盘到指定目录 mkdir /mnt/sysimage/root/cdrom mount -t auto /dev/cdrom/mnt/sysimage/root/cdrom

从光盘上拷贝自定义内容到自定义目录 cp /mnt/sysimage/cdrom/my_doc/my.sh/mnt/sysimage/root/my_doc/my.sh chmod +x /mnt/sysimage/root/my_doc/my.sh cp /mnt/sysimage/cdrom/my_doc/my.tar.gz/mnt/sysimage/root/my_doc/my.tar.gz

执行自定义脚本 chroot /mnt/sysimage//bin/sh/root/my_doc/my.sh 想做什么操作,都通过 my.sh 进行实现即可

自定义内容:

最好把所有的自定义内容放到一个目录内,打包成 .tar.gz ,利用脚本解压再执行相应的动作,如果自定义内容里包含 rpm 包有可能会导致系统安装时失败!

ks.cfg 怎么读取光盘 (cdrom) 上的文件并执行对应的脚本的更多相关文章

  1. Mac电脑如何读取Android手机上的文件

    问题 一般Android手机用usb数据线连接到windows操作系统的电脑上后,会自动将手机存储卡以移动存储的方式显示在电脑里. 但是如果操作系统是Mac的,就没有这个存储设备.问题来了,Mac电脑 ...

  2. 批量上传文件到HDFS的Shell脚本

    在做Hadoop数据挖掘项目的时候,我们第一步是源数据的获取,即把相应的数据放置到HDFS中,以便Hadoop进行计算,手动将文件上传到HDFS中,未免太费时费力,所以我们可以采取像Flume一样的框 ...

  3. Linux上传文件与执行

    ls ——查看文件夹 mkdir——新建文件夹 cd:——进入文件 nohup python3 文件名.py & ——让代码在后台运行 ps -aux | grep 文件——查看进程 ps-a ...

  4. 金山云 KS3 Python SDK 多线程并发上传文件;下载断点续传 参考脚本

    并发上传 基于py自带模块 concurrent.futures import ThreadPoolExecutor #!/usr/bin/env python3 # -*- coding:utf-8 ...

  5. python 读取Linux服务器上的文件

    使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hos ...

  6. WebView 上传文件 WebChromeClient之openFileChooser函数

    原链接:http://blog.saymagic.cn/2015/11/08/webview-upload.html?utm_source=tuicool&utm_medium=referra ...

  7. 不带插件 ,自己写js,实现批量上传文件及进度显示

    今天接受项目中要完成文件批量上传文件而且还要显示上传进度,一开始觉得这个应该不是很麻烦,当我在做的时候遇到了很多问题,很头疼啊. 不过看了别人写的代码,自己也测试过,发现网上好多都存在一些问题,并不是 ...

  8. PHP上传文件参考配置大文件上传

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

  9. KindEditor 上传文件 在Asp.net中的使用

    以前一直用FCK编辑器,因为配置比较简单,但是发现Kindeditor这个编辑器更加好看,更加灵活,就用了下. 但是发现在上传文件的时候,出现了大问题,弄了我好久的时间,为了记录下,或许能帮助到您,共 ...

  10. 上传文件(lrzsz)

    执行命令:yum -y install lrzsz 现在就可以正常使用rz.sz命令上传.下载数据了. 上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可. 下载文件,执行命令sz

随机推荐

  1. SourceInsight4破解

    2017/10/18 更新 1. 安装原版软件:Source Insight Version 4.0.0092 -  March 20, 2018 2. 下载激活程序:sourceinsight_40 ...

  2. noi 1.1 5 输出保留12位小数的浮点数

    描述 读入一个双精度浮点数,保留12位小数,输出这个浮点数. 输入 只有一行,一个双精度浮点数. 输出 也只有一行,保留12位小数的浮点数. 样例输入 3.1415926535798932 样例输出 ...

  3. postman收藏 -大佬玩法。

    请求顺序:    https://www.cnblogs.com/superhin/p/11454832.html 在Postman脚本中发送请求(pm.sendRequest) : https:// ...

  4. ZSTUOJ刷题⑨:Problem H.--尖兵

    Problem H: 尖兵 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 4691  Solved: 2112 Description 星光人已经出发了 ...

  5. 通过n个线程顺序打印26个英文字母

    通过n个线程顺序打印26个英文字母,例如 n=3 则输出: thread0: a thread1: b thread2: c thread0: d 方案一:轮询 多个线程不断轮询是否是该线程执行任务. ...

  6. bquote

    在Linux环境下,按"·"(1左边的按钮)会进入bquote模式 退出方法 按 Ctrl + C 其它(待补充)

  7. vue下载图片

      async works(obj) {       await this.axios({         method: 'get',         url: `entryFormControll ...

  8. js 获取鼠标位置的两种方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Unity 转小游戏

    填写appid 和游戏资源位置 在导出的项目里可以修改游戏资源位置 两个目录 minigame 是小程序打开的目录 webgl 是要下载的的资源 下载一个http 服务器就有了 和JS交互 大部分js ...

  10. logrotate linux 系统日志管理

    logrotatelogrotate简介 logrorare一定程度上可以简化对会生成大量日志文件的系统的管理.logrotate可以实现自动轮替.删除.压缩和mail日志的功能. 执行命令logro ...