首页 > 其他分享 >定制ISO时在kickstart脚本的%post后处理阶段拷贝文件

定制ISO时在kickstart脚本的%post后处理阶段拷贝文件

时间:2023-08-02 19:34:24浏览次数:33  
标签:kickstart log 系统 目标 ISO post 安装 拷贝

自己定制ISO使用ks.cfg实现自动安装时,可以在%post阶段执行添加文件、创建帐号、安全加固等操作,一般都会涉及从安装介质拷贝文件到目标系统,网上很多文章都是直接mount固定设备比如/dev/sr0,但实际安装过程中,ISO文件可能被刻录成光盘或U盘,另外UEFI和BIOS模式也有影响,因此无法提前知道是哪个设备。

看一下安装过程,实际上是先引导了一个内存中的vmlinuz + initrd,以它为基础实现将需要的文件安装到目标系统,此时安装介质被挂载到/run/install/repo,目标系统被挂载到/mnt/sysimage,在安装后处理的%post阶段,允许你指定在内存系统中操作还是chroot到目标系统中操作。如果需要拷贝安装介质上的文件,就以--nochroot模式运行,如果需要在目标系统上执行操作比如创建帐号,那就以chroot模式运行。并且ks.cfg中允许存在多个%post,放个例子:

# 以nochrrot模式运行,此时在内存系统上运行,可以访问原始安装介质
# 如果要记录日志,注意需要放到/mnt/sysimage下,否则重启就没了
%post --nochroot --log=/mnt/sysimage/var/log/inst1.log
cp -rf /run/install/repo/soft  /mnt/sysimage    #把安装介质上的soft目录拷贝到目标系统的根目录下,方便后面访问
%end

# 以chroot模式运行,此时相当于在目标系统上操作,/就是目标系统的根
# 安装日志可以直接放到/var/log下
%post --log=/var/log/inst2.log
useradd -s /sbin/nologin test    #在目标系统创建帐号
mkdir /usr/local/test      #在目标系统创建目录
cp -f /soft/test.cfg /usr/local/test    #此时的/soft就是上面步骤拷贝过来的
%end

 

 

标签:kickstart,log,系统,目标,ISO,post,安装,拷贝
From: https://www.cnblogs.com/BoyTNT/p/17601571.html

相关文章

  • 修改Keil uvison4 字体样式
    1.点击扳手配置2.点击Colors&Fonts,选择其中的8051:EditorCFiles,选择Text,点击右侧的CourierNew...3.在里面就可以调节字体了......
  • postgresql 配置相关
    配置含义32->192.168.1.1/32表示必须是来自这个IP地址的访问才合法;24->192.168.1.0/24表示只要来自192.168.1.0~192.168.1.255的都合法;16->192.168.0.0/16表示只要来自192.168.0.0~192.168.255.255的都合法;8->192.0.0.0/16表示只要来自192.0.0.0~192.255.......
  • sudo su - postgres 是什么意思?
    解释PostgreSQL安装成功之后,会默认创建一个名为postgres的Linux用户。从root用户切换为postgres用户命令为supostgres,但是这样切换用户会导致该用户的权限很低,所以使用sudosupostgres设置postgres用户拥有部分root用户权限。另外使用-可以在切换的同时进入到......
  • 怎样在Apipost中设计出实用又好看的API文档
    Apipost一直推荐文档先行的API设计理念,在Apipost中可以添加Markdown格式的文本,用以储备文档和API文档设计。作为一种轻量级标记语言,Markdown在撰写文档、博客文章、README文件以及网站内容上被广泛使用。如何在Apipost中设计出漂亮的文档?Apipost近期发布的7.1.9版本更新中,Apipos......
  • 车规级TVS二极管 SMD8S系列 可过ISO16750-2抛负载测试
    汽车24V系统过抛负载测试解决保护方案及电路防护器件选型,东沃电子之前就分享过很多次了。24V电源抛负载瞬态浪涌过压保护经典方案,如下图所示:从图中可知,24V系统过抛负载测试需要选用TVS管(SM8S36CA和6.6SMDJ36CA)保护汽车电子产品免受瞬态浪涌威胁和损坏。汽车24V系统过抛负载测试,除了......
  • Unity的IPostprocessBuildWithReport:深入解析与实用案例
    UnityIPostprocessBuildWithReportUnityIPostprocessBuildWithReport是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目后自动执行一些操作,并且可以获取构建报告。这个功能可以帮助开发提高工作效率,减少手动操作的时间和错误率。在本文中,我们将介绍UnityIPostproces......
  • 【Postman】send提示responseBody is not defined
    测试中需要接口之间传值,或缓存登录token,send后,提示responseBodyisnotdefined原因一:查看代码填写的实在请求前还是请求之后,如果是在Postman的request中请求response则不会找到原因二:请求是在Tests中,仍提示此问题解决方案1;如代码是如下形式varjsonData=JSON.parse(respons......
  • post 传递参数 只有data json 和**kwargs, 不能是params
    importrequestsHOST='https://ip.com'URL='/posts/'url=HOST+URLjson={"title":"foo","body":"bar","userId":1}res=requests.post(url,json=json)print(res.json())print(......
  • ISODate转换成字符串格式日期
     >db.tb_time_test.find(){"_id":ObjectId("64c9cc1ffb4c9e5dcd00cfa2"),"id":1,"time":ISODate("2023-08-02T11:23:11Z")}{"_id":ObjectId("64c9cc83fb0a738bc82bdbaf"),"......
  • python写入mongodb时间字段格式为ISO
     #!/usr/bin/envpython#coding=utf-8importtimefromdateutilimportparserfrompymongoimportMongoClientnow=parser.parse(time.strftime("%Y-%m-%d%H:%M:%S",time.localtime()))conn=MongoClient("192.168.1.135:28001",maxPoo......