从kickstar(ks.cfg)文件中为rh / centos install实现yum函数

时间:2012-03-15 23:49:28

标签: post centos yum

我有一个原始centos安装的以下kickstart文件(ks.cfg)。我正在尝试实现一个“%post”进程,允许使用您的函数(install,groupremove等)修改安装。整个ks文件都在问题的最后。

我不知道为什么,但是下面的kickstart没有运行yum install mysql,yum在post过程中安装了mysql-server。

安装完成后,输入“service mysql start”会导致错误信息说找不到mysql。但是,我可以在安装后运行yum install cmds,并安装mysql。

我知道我错过了一些微妙的东西,但不确定它是什么。


%post

yum install mysql -y                    <<<<<<<<<<<<<<NOT WORKING!!!!!
yum install mysql-server -y              <<<<<<<<<<<<<<NOT WORKING!!!!!

%end

由于


ks.cfg进行

  [root@localhost ~]# cat /root/anaconda-ks.cfg 

  # Kickstart file automatically generated by anaconda.

  #version=DEVEL
  install
  cdrom
  lang en_US.UTF-8
  keyboard us
  network --onboot yes --device eth0 --bootproto dhcp
  rootpw  --iscrypted $1$JCZKA/by$sVSHffsPr3ZDUp6m7c5gt1
  # Reboot after installation
  reboot
  firewall --service=ssh
  authconfig --useshadow --enablemd5
  selinux --enforcing
  timezone --utc America/Los_Angeles
  bootloader --location=mbr --driveorder=sda --append=" rhgb crashkernel=auto quiet"
  # The following is the partition information you requested
  # Note that any partitions you deleted are not expressed
  # here so unless you clear all partitions first, this is
  # not guaranteed to work
  #clearpart --all --initlabel

  #part /boot --fstype=ext4 --size=200
  #part / --fstype=ext4 --grow --size=3000
  #part swap --grow --maxsize=4064 --size=2032



  repo --name="CentOS"  --baseurl=cdrom:sr1 --cost=100

  %packages
  @Base
  @Core
  @Desktop
  @Fonts
  @General Purpose Desktop
  @Internet Browser
  @X Window System
  binutils
  gcc
  kernel-devel
  make
  patch
  python

  %end

  %post
  cp /boot/grub/menu.lst /boot/grub/grub.conf.bak
  sed -i 's/ rhgb//' /boot/grub/grub.conf
  cp /etc/rc.d/rc.local /etc/rc.local.backup
  cat >>/etc/rc.d/rc.local <<EOF
  echo
  echo "Installing VMware Tools, please wait..."
  if [ -x /usr/sbin/getenforce ]; then oldenforce=\$(/usr/sbin/getenforce); /usr/sbin/setenforce permissive || true; fi
  mkdir -p /tmp/vmware-toolsmnt0
  for i in hda sr0 scd0; do mount -t iso9660 /dev/\$i /tmp/vmware-toolsmnt0 && break; done
  cp -a /tmp/vmware-toolsmnt0 /opt/vmware-tools-installer
  chmod 755 /opt/vmware-tools-installer
  cd /opt/vmware-tools-installer
  mv upgra32 vmware-tools-upgrader-32
  mv upgra64 vmware-tools-upgrader-64
  mv upgrade.sh run_upgrader.sh
  chmod +x /opt/vmware-tools-installer/*upgr*
  umount /tmp/vmware-toolsmnt0
  rmdir /tmp/vmware-toolsmnt0
  if [ -x /usr/bin/rhgb-client ]; then /usr/bin/rhgb-client --quit; fi
  cd /opt/vmware-tools-installer
  ./run_upgrader.sh
  mv /etc/rc.local.backup /etc/rc.d/rc.local
  rm -rf /opt/vmware-tools-installer
  sed -i 's/3:initdefault/5:initdefault/' /etc/inittab
  mv /boot/grub/grub.conf.bak /boot/grub/grub.conf
  if [ -x /usr/sbin/getenforce ]; then /usr/sbin/setenforce \$oldenforce || true; fi
  if [ -x /bin/systemd ]; then systemctl restart prefdm.service; else telinit 5; fi
  EOF
  /usr/sbin/adduser test
  /usr/sbin/usermod -p '$1$QcRcMih7$VG3upQam.lF4BFzVtaYU5.' test
  /usr/sbin/adduser test1
  /usr/sbin/usermod -p '$1$LMyHixbC$4.aATdKUb2eH8cCXtgFNM0' test1
  /usr/bin/chfn -f 'ruser' root 




  %end

  %post

  yum install mysql -y                    <<<<<<<<<<<<<<NOT WORKING!!!!!
  yum install mysql-server -y              <<<<<<<<<<<<<<NOT WORKING!!!!!

  %end

2 个答案:

答案 0 :(得分:0)

您应该将mysql和mysql-server放入%packages部分,无需在%post中执行此操作。

答案 1 :(得分:0)

当我遇到与你相同的问题时,它是由行结束引起的。尝试检查ks.cfg的行尾。 应该是LF 而不是CR + LF或CR。

如果你能帮助你;

  • 尝试 system-config-kickstart 工具。
  • 查找生成的 /root/anaconda-ks.cfg ,但可能没有%post部分。

干杯。