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. CIC滤波器

    CIC滤波器是滑动平均滤波器的非常高效的迭代实现,只需要一个减法和一个加法,而滑动平均需要N-1个加法. cic滤波器相当于一个梳状滤波器y(n)=x(n)-x(n-D),H(z)=1-z-D,和一个 ...

  2. 书剑恩仇录<随笔>感想

    书剑恩仇录是去年读完的,剧情上的细节处已经遗忘甚多,但本书也金庸先生的第一篇长篇武侠小说.此书的重要性不言而喻 摘要:故事的开头源于武当派陆菲青.因犯了杀人官司隐姓埋名为李沅芷的教书先生.因仇家寻上门 ...

  3. Typora --Markdown 文本工具

    标题: #+空+name  一级 ##+空+name  二级 ###+空+name  三级 ......------六级  (可排版折叠) 字体: 粗体:两边加** 斜体:两边加* 斜体加粗:*** ...

  4. Python openpyxl【包】

    介绍 Excel是我们日常工作中经常用到的办公软件,在处理数据和表格方面有着优异的性能,那么能不能用python来操作Excel呢? 答案是肯定的,openpyxl是一个第三方库,可以处理xlsx格式 ...

  5. 【Appium_python】启动app,出现多次打开关闭导致失败问题,driver用单例模式(_new_)进行解决。

    运用多设备,启动app多次出现打开又关闭问题,查看后是多次对driver进行实例化,就用单例的模式进行解决. 单例模式(Singleton Pattern)目的就是保证一个类仅有一个实例,每一次执行类 ...

  6. select * into,insert into,create table

    SELECT * INTO Table2 FROM Table1要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中 INSERT I ...

  7. Spring系列之面向切面编程-15

    目录 AOP 概念 AOP 代理 @AspectJ 支持 启用@AspectJ 支持 使用 Java 配置启用 @AspectJ 支持 通过 XML 配置启用 @AspectJ 支持 声明一个方面 声 ...

  8. C#MSDN简体中文 最后一版本 2007年的

    我在学习C# 需要 先看 MSDN文档,英文看的很吃力,就找了好久 MSDN简体中文版本的: 因为微软已经关闭网站(MSDN中文的链接),我找到的就是  磁力链接的: 我分享出来 ,有需要的 自行下载 ...

  9. 记 第一次linux下简易部署 django uwsgi nginx

    1.首先确定django项目是跑起来的 2.装nginx  uwsgi ,网上教程一大堆 3.uwsgi的配置了 我是通过ini启动的 随意找个顺手的文件夹创建uwsgi.ini文件 我是在/home ...

  10. 查看mmdetection中模型的配置信息

    方法一 可以直接打开mmdetection中的目录查看,/configs目录下都是对应的模型的配置 示例: 可以找到_base_目录下的这四个文件文件查看配置. 方法二 读取配置文件查看 在命令行中输 ...