Kickstart的高级应用

Pre- 和Postinstall 脚本 

    kickstart本身提供了一些对系统的基本调整和设置,例如设置root密码,设置时区等等。但是它不能做某些更细致的调整,比如通过chkconfig禁止某些服务,建立特定的目录等等。因此,我们需要使用pre-和postinstall脚本来完成这些任务。很明显的,从名字就可以看出这两种脚本执行的时机,pre-在安装进行之前执行,而post脚本则在整个安装过程完成以后执行。preinstall和postinstall脚本都在ks文件的末尾定义。

   preinstall脚本用%pre指示开头,脚本使用的语法和RPM spec文件中的类似。在安装之前这个阶段,preinstall脚本只能做一些基本的操作,比如查找一些文件或者挂载NFS共享等等。

   postintall脚本则更有潜力,postinstall脚本用%post指示开头。当OS安装已经完成以后,postinstall脚本默认是在新安装好的系统上执行,新安装好的系统这个时候处于chroot环境,根目录其实是在/mnt/sysimage下。

   可以使用%post –nochroot    来执行一些非chroot环境下的命令。比如在chroot环境下,你是无法访问光驱中的安装光盘的,因为光盘挂载在/tmp/cdrom,它是处于non-chroot环境下的。

   一般来说postinstall脚本以#!/bin/sh这样的自定义shell作为第一行,然后下边就是普通的shell脚本了。这样基本上你想做什么都可以了。

-------------------------

你可以添加系统在安装完成后要运行的命令。这一节必须位于 kickstart 文件的结尾处,而且必须以 %post 命令开头。它对于安装额外软件包或配置额外名称服务器等任务很有帮助。 
注记
  如果你使用静态 IP 信息配置了网络,包括名称服务器,你可以在 %post 部分中访问网络并解析 IP 地址。如果你使用 DHCP 配置网络,当安装执行到 %post 部分时,/etc/resolv.conf 文件还没有完成。你可以访问网络,但是你不能解析 IP 地址。因此,如果你使用 DHCP,你必须在 %post 这一节中指定 IP 地址。 
注记
  安装后脚本在 chroot 环境中运行;因此,象复制安装介质中的脚本或 RPM 之类的任务将不能被执行。 
--nochroot 
允许你指定你想在 chroot 环境之外运行的命令。 
下面的例子把 /etc/resolv.conf 文件复制到刚刚安装了的文件系统上。 
%post --nochroot
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python 
允许你指定不同的脚本语言,如 Python。 用你想用的脚本语言来替换 /usr/bin/python。 
5. 范例
要启动和关闭服务: 
/sbin/chkconfig --level 345 telnet off
/sbin/chkconfig --level 345 finger off
/sbin/chkconfig --level 345 lpd off
/sbin/chkconfig --level 345 httpd on
要从 NFS 共享中运行叫做 runme 的脚本: 
mkdir /mnt/temp
mount 10.10.0.2:/usr/new-machines /mnt/temp
open -s -w -- /mnt/temp/runme
umount /mnt/temp
给系统添加用户: 
/usr/sbin/useradd bob
/usr/bin/chfn -f "Bob Smith" bob
/usr/sbin/usermod -p 'kjdf$04930FTH/ ' bob


--------------------

 

chroot(http://baike.baidu.com/view/2977396.htm)

CHROOT就是Change Root,也就是改变程式执行时所参考的根目录位置。

一般的目录架构:

/bin
  /sbin
  /usr/bin
  /home

CHROOT的目录架构:

  /hell/
  /hell/bin
  /hell/usr/bin
  /hell/home

为何要CHROOT?

  1.限制被CHROOT的使用者所能执行的程式,如SetUid的程式,或是会造成 Load 的Compiler等等。
  2.防止使用者存取某些特定档案,如/etc/passwd。
  3.防止入侵者/bin/rm -rf /。
  4.提供Guest服务以及处罚不乖的使用者。
  5.增进系统的安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值